@visactor/vgrammar-core 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/README.md +160 -0
  2. package/README.zh-CN.md +11 -0
  3. package/cjs/component/axis.d.ts +26 -0
  4. package/cjs/component/axis.js +164 -0
  5. package/cjs/component/axis.js.map +1 -0
  6. package/cjs/component/crosshair.d.ts +50 -0
  7. package/cjs/component/crosshair.js +281 -0
  8. package/cjs/component/crosshair.js.map +1 -0
  9. package/cjs/component/datazoom.d.ts +19 -0
  10. package/cjs/component/datazoom.js +166 -0
  11. package/cjs/component/datazoom.js.map +1 -0
  12. package/cjs/component/grid.d.ts +27 -0
  13. package/cjs/component/grid.js +190 -0
  14. package/cjs/component/grid.js.map +1 -0
  15. package/cjs/component/index.d.ts +11 -0
  16. package/cjs/component/index.js +105 -0
  17. package/cjs/component/index.js.map +1 -0
  18. package/cjs/component/label.d.ts +19 -0
  19. package/cjs/component/label.js +121 -0
  20. package/cjs/component/label.js.map +1 -0
  21. package/cjs/component/legend.d.ts +26 -0
  22. package/cjs/component/legend.js +170 -0
  23. package/cjs/component/legend.js.map +1 -0
  24. package/cjs/component/player.d.ts +25 -0
  25. package/cjs/component/player.js +138 -0
  26. package/cjs/component/player.js.map +1 -0
  27. package/cjs/component/scale.d.ts +8 -0
  28. package/cjs/component/scale.js +25 -0
  29. package/cjs/component/scale.js.map +1 -0
  30. package/cjs/component/scrollbar.d.ts +23 -0
  31. package/cjs/component/scrollbar.js +187 -0
  32. package/cjs/component/scrollbar.js.map +1 -0
  33. package/cjs/component/slider.d.ts +19 -0
  34. package/cjs/component/slider.js +86 -0
  35. package/cjs/component/slider.js.map +1 -0
  36. package/cjs/component/title.d.ts +15 -0
  37. package/cjs/component/title.js +56 -0
  38. package/cjs/component/title.js.map +1 -0
  39. package/cjs/component/tooltip.d.ts +62 -0
  40. package/cjs/component/tooltip.js +305 -0
  41. package/cjs/component/tooltip.js.map +1 -0
  42. package/cjs/core/factory.d.ts +35 -0
  43. package/cjs/core/factory.js +73 -0
  44. package/cjs/core/factory.js.map +1 -0
  45. package/cjs/glyph/boxplot.d.ts +10 -0
  46. package/cjs/glyph/boxplot.js +418 -0
  47. package/cjs/glyph/boxplot.js.map +1 -0
  48. package/cjs/glyph/index.d.ts +7 -0
  49. package/cjs/glyph/index.js +64 -0
  50. package/cjs/glyph/index.js.map +1 -0
  51. package/cjs/glyph/link-path.d.ts +7 -0
  52. package/cjs/glyph/link-path.js +138 -0
  53. package/cjs/glyph/link-path.js.map +1 -0
  54. package/cjs/glyph/ripple.d.ts +1 -0
  55. package/cjs/glyph/ripple.js +44 -0
  56. package/cjs/glyph/ripple.js.map +1 -0
  57. package/cjs/glyph/tree-path.d.ts +7 -0
  58. package/cjs/glyph/tree-path.js +152 -0
  59. package/cjs/glyph/tree-path.js.map +1 -0
  60. package/cjs/glyph/violin.d.ts +1 -0
  61. package/cjs/glyph/violin.js +165 -0
  62. package/cjs/glyph/violin.js.map +1 -0
  63. package/cjs/glyph/wave.d.ts +1 -0
  64. package/cjs/glyph/wave.js +67 -0
  65. package/cjs/glyph/wave.js.map +1 -0
  66. package/cjs/graph/animation/animate.d.ts +48 -0
  67. package/cjs/graph/animation/animate.js +250 -0
  68. package/cjs/graph/animation/animate.js.map +1 -0
  69. package/cjs/graph/animation/animation/clip.d.ts +4 -0
  70. package/cjs/graph/animation/animation/clip.js +54 -0
  71. package/cjs/graph/animation/animation/clip.js.map +1 -0
  72. package/cjs/graph/animation/animation/fade.d.ts +4 -0
  73. package/cjs/graph/animation/animation/fade.js +42 -0
  74. package/cjs/graph/animation/animation/fade.js.map +1 -0
  75. package/cjs/graph/animation/animation/grow-cartesian.d.ts +7 -0
  76. package/cjs/graph/animation/animation/grow-cartesian.js +288 -0
  77. package/cjs/graph/animation/animation/grow-cartesian.js.map +1 -0
  78. package/cjs/graph/animation/animation/grow-interval.d.ts +3 -0
  79. package/cjs/graph/animation/animation/grow-interval.js +194 -0
  80. package/cjs/graph/animation/animation/grow-interval.js.map +1 -0
  81. package/cjs/graph/animation/animation/grow-points.d.ts +7 -0
  82. package/cjs/graph/animation/animation/grow-points.js +118 -0
  83. package/cjs/graph/animation/animation/grow-points.js.map +1 -0
  84. package/cjs/graph/animation/animation/grow-polar.d.ts +5 -0
  85. package/cjs/graph/animation/animation/grow-polar.js +164 -0
  86. package/cjs/graph/animation/animation/grow-polar.js.map +1 -0
  87. package/cjs/graph/animation/animation/index.d.ts +11 -0
  88. package/cjs/graph/animation/animation/index.js +191 -0
  89. package/cjs/graph/animation/animation/index.js.map +1 -0
  90. package/cjs/graph/animation/animation/move.d.ts +3 -0
  91. package/cjs/graph/animation/animation/move.js +90 -0
  92. package/cjs/graph/animation/animation/move.js.map +1 -0
  93. package/cjs/graph/animation/animation/rotate.d.ts +3 -0
  94. package/cjs/graph/animation/animation/rotate.js +42 -0
  95. package/cjs/graph/animation/animation/rotate.js.map +1 -0
  96. package/cjs/graph/animation/animation/scale.d.ts +3 -0
  97. package/cjs/graph/animation/animation/scale.js +84 -0
  98. package/cjs/graph/animation/animation/scale.js.map +1 -0
  99. package/cjs/graph/animation/animation/update.d.ts +6 -0
  100. package/cjs/graph/animation/animation/update.js +22 -0
  101. package/cjs/graph/animation/animation/update.js.map +1 -0
  102. package/cjs/graph/animation/animator.d.ts +26 -0
  103. package/cjs/graph/animation/animator.js +88 -0
  104. package/cjs/graph/animation/animator.js.map +1 -0
  105. package/cjs/graph/animation/arranger.d.ts +13 -0
  106. package/cjs/graph/animation/arranger.js +38 -0
  107. package/cjs/graph/animation/arranger.js.map +1 -0
  108. package/cjs/graph/animation/attribute.d.ts +27 -0
  109. package/cjs/graph/animation/attribute.js +124 -0
  110. package/cjs/graph/animation/attribute.js.map +1 -0
  111. package/cjs/graph/animation/config.d.ts +5 -0
  112. package/cjs/graph/animation/config.js +92 -0
  113. package/cjs/graph/animation/config.js.map +1 -0
  114. package/cjs/graph/animation/morph.d.ts +12 -0
  115. package/cjs/graph/animation/morph.js +174 -0
  116. package/cjs/graph/animation/morph.js.map +1 -0
  117. package/cjs/graph/attributes/common.d.ts +2 -0
  118. package/cjs/graph/attributes/common.js +22 -0
  119. package/cjs/graph/attributes/common.js.map +1 -0
  120. package/cjs/graph/attributes/helpers.d.ts +17 -0
  121. package/cjs/graph/attributes/helpers.js +86 -0
  122. package/cjs/graph/attributes/helpers.js.map +1 -0
  123. package/cjs/graph/attributes/index.d.ts +10 -0
  124. package/cjs/graph/attributes/index.js +257 -0
  125. package/cjs/graph/attributes/index.js.map +1 -0
  126. package/cjs/graph/canvas-renderer.d.ts +34 -0
  127. package/cjs/graph/canvas-renderer.js +121 -0
  128. package/cjs/graph/canvas-renderer.js.map +1 -0
  129. package/cjs/graph/constants.d.ts +23 -0
  130. package/cjs/graph/constants.js +21 -0
  131. package/cjs/graph/constants.js.map +1 -0
  132. package/cjs/graph/element.d.ts +66 -0
  133. package/cjs/graph/element.js +297 -0
  134. package/cjs/graph/element.js.map +1 -0
  135. package/cjs/graph/enums.d.ts +153 -0
  136. package/cjs/graph/enums.js +85 -0
  137. package/cjs/graph/enums.js.map +1 -0
  138. package/cjs/graph/glyph-element.d.ts +53 -0
  139. package/cjs/graph/glyph-element.js +202 -0
  140. package/cjs/graph/glyph-element.js.map +1 -0
  141. package/cjs/graph/index.d.ts +3 -0
  142. package/cjs/graph/index.js +44 -0
  143. package/cjs/graph/index.js.map +1 -0
  144. package/cjs/graph/layout/grid.d.ts +3 -0
  145. package/cjs/graph/layout/grid.js +75 -0
  146. package/cjs/graph/layout/grid.js.map +1 -0
  147. package/cjs/graph/layout/layout.d.ts +3 -0
  148. package/cjs/graph/layout/layout.js +33 -0
  149. package/cjs/graph/layout/layout.js.map +1 -0
  150. package/cjs/graph/layout/relative.d.ts +3 -0
  151. package/cjs/graph/layout/relative.js +86 -0
  152. package/cjs/graph/layout/relative.js.map +1 -0
  153. package/cjs/graph/mark/differ.d.ts +20 -0
  154. package/cjs/graph/mark/differ.js +110 -0
  155. package/cjs/graph/mark/differ.js.map +1 -0
  156. package/cjs/graph/mark/encode.d.ts +10 -0
  157. package/cjs/graph/mark/encode.js +95 -0
  158. package/cjs/graph/mark/encode.js.map +1 -0
  159. package/cjs/graph/mark/large-rects.d.ts +10 -0
  160. package/cjs/graph/mark/large-rects.js +31 -0
  161. package/cjs/graph/mark/large-rects.js.map +1 -0
  162. package/cjs/graph/mark/large-symbols.d.ts +11 -0
  163. package/cjs/graph/mark/large-symbols.js +33 -0
  164. package/cjs/graph/mark/large-symbols.js.map +1 -0
  165. package/cjs/graph/mark-tree.d.ts +2 -0
  166. package/cjs/graph/mark-tree.js +21 -0
  167. package/cjs/graph/mark-tree.js.map +1 -0
  168. package/cjs/graph/util/element.d.ts +2 -0
  169. package/cjs/graph/util/element.js +10 -0
  170. package/cjs/graph/util/element.js.map +1 -0
  171. package/cjs/graph/util/env.d.ts +2 -0
  172. package/cjs/graph/util/env.js +14 -0
  173. package/cjs/graph/util/env.js.map +1 -0
  174. package/cjs/graph/util/events-extend.d.ts +5 -0
  175. package/cjs/graph/util/events-extend.js +18 -0
  176. package/cjs/graph/util/events-extend.js.map +1 -0
  177. package/cjs/graph/util/graphic.d.ts +9 -0
  178. package/cjs/graph/util/graphic.js +59 -0
  179. package/cjs/graph/util/graphic.js.map +1 -0
  180. package/cjs/graph/util/point.d.ts +1 -0
  181. package/cjs/graph/util/point.js +75 -0
  182. package/cjs/graph/util/point.js.map +1 -0
  183. package/cjs/index.d.ts +14 -0
  184. package/cjs/index.js +111 -0
  185. package/cjs/index.js.map +1 -0
  186. package/cjs/parse/coordinate.d.ts +7 -0
  187. package/cjs/parse/coordinate.js +70 -0
  188. package/cjs/parse/coordinate.js.map +1 -0
  189. package/cjs/parse/event.d.ts +8 -0
  190. package/cjs/parse/event.js +33 -0
  191. package/cjs/parse/event.js.map +1 -0
  192. package/cjs/parse/mark.d.ts +4 -0
  193. package/cjs/parse/mark.js +25 -0
  194. package/cjs/parse/mark.js.map +1 -0
  195. package/cjs/parse/option.d.ts +3 -0
  196. package/cjs/parse/option.js +19 -0
  197. package/cjs/parse/option.js.map +1 -0
  198. package/cjs/parse/scale.d.ts +8 -0
  199. package/cjs/parse/scale.js +365 -0
  200. package/cjs/parse/scale.js.map +1 -0
  201. package/cjs/parse/transform.d.ts +5 -0
  202. package/cjs/parse/transform.js +103 -0
  203. package/cjs/parse/transform.js.map +1 -0
  204. package/cjs/parse/util.d.ts +13 -0
  205. package/cjs/parse/util.js +82 -0
  206. package/cjs/parse/util.js.map +1 -0
  207. package/cjs/parse/view.d.ts +17 -0
  208. package/cjs/parse/view.js +108 -0
  209. package/cjs/parse/view.js.map +1 -0
  210. package/cjs/semantic-marks/cell.d.ts +13 -0
  211. package/cjs/semantic-marks/cell.js +61 -0
  212. package/cjs/semantic-marks/cell.js.map +1 -0
  213. package/cjs/semantic-marks/interval.d.ts +14 -0
  214. package/cjs/semantic-marks/interval.js +80 -0
  215. package/cjs/semantic-marks/interval.js.map +1 -0
  216. package/cjs/semantic-marks/text.d.ts +10 -0
  217. package/cjs/semantic-marks/text.js +25 -0
  218. package/cjs/semantic-marks/text.js.map +1 -0
  219. package/cjs/theme/common/component.d.ts +15 -0
  220. package/cjs/theme/common/component.js +493 -0
  221. package/cjs/theme/common/component.js.map +1 -0
  222. package/cjs/theme/common/constants.d.ts +1 -0
  223. package/cjs/theme/common/constants.js +6 -0
  224. package/cjs/theme/common/constants.js.map +1 -0
  225. package/cjs/theme/common/mark.d.ts +2 -0
  226. package/cjs/theme/common/mark.js +15 -0
  227. package/cjs/theme/common/mark.js.map +1 -0
  228. package/cjs/theme/dark.d.ts +2 -0
  229. package/cjs/theme/dark.js +94 -0
  230. package/cjs/theme/dark.js.map +1 -0
  231. package/cjs/theme/default.d.ts +2 -0
  232. package/cjs/theme/default.js +18 -0
  233. package/cjs/theme/default.js.map +1 -0
  234. package/cjs/theme/theme-manager.d.ts +8 -0
  235. package/cjs/theme/theme-manager.js +26 -0
  236. package/cjs/theme/theme-manager.js.map +1 -0
  237. package/cjs/transforms/data/bin.d.ts +2 -0
  238. package/cjs/transforms/data/bin.js +21 -0
  239. package/cjs/transforms/data/bin.js.map +1 -0
  240. package/cjs/transforms/data/circular-relation.d.ts +2 -0
  241. package/cjs/transforms/data/circular-relation.js +56 -0
  242. package/cjs/transforms/data/circular-relation.js.map +1 -0
  243. package/cjs/transforms/data/contour.d.ts +2 -0
  244. package/cjs/transforms/data/contour.js +115 -0
  245. package/cjs/transforms/data/contour.js.map +1 -0
  246. package/cjs/transforms/data/filter.d.ts +2 -0
  247. package/cjs/transforms/data/filter.js +10 -0
  248. package/cjs/transforms/data/filter.js.map +1 -0
  249. package/cjs/transforms/data/fold.d.ts +2 -0
  250. package/cjs/transforms/data/fold.js +24 -0
  251. package/cjs/transforms/data/fold.js.map +1 -0
  252. package/cjs/transforms/data/funnel.d.ts +2 -0
  253. package/cjs/transforms/data/funnel.js +25 -0
  254. package/cjs/transforms/data/funnel.js.map +1 -0
  255. package/cjs/transforms/data/join.d.ts +2 -0
  256. package/cjs/transforms/data/join.js +33 -0
  257. package/cjs/transforms/data/join.js.map +1 -0
  258. package/cjs/transforms/data/kde.d.ts +2 -0
  259. package/cjs/transforms/data/kde.js +90 -0
  260. package/cjs/transforms/data/kde.js.map +1 -0
  261. package/cjs/transforms/data/map.d.ts +2 -0
  262. package/cjs/transforms/data/map.js +23 -0
  263. package/cjs/transforms/data/map.js.map +1 -0
  264. package/cjs/transforms/data/pick.d.ts +2 -0
  265. package/cjs/transforms/data/pick.js +20 -0
  266. package/cjs/transforms/data/pick.js.map +1 -0
  267. package/cjs/transforms/data/pie.d.ts +2 -0
  268. package/cjs/transforms/data/pie.js +24 -0
  269. package/cjs/transforms/data/pie.js.map +1 -0
  270. package/cjs/transforms/data/range.d.ts +4 -0
  271. package/cjs/transforms/data/range.js +15 -0
  272. package/cjs/transforms/data/range.js.map +1 -0
  273. package/cjs/transforms/data/sort.d.ts +2 -0
  274. package/cjs/transforms/data/sort.js +17 -0
  275. package/cjs/transforms/data/sort.js.map +1 -0
  276. package/cjs/transforms/data/stack.d.ts +2 -0
  277. package/cjs/transforms/data/stack.js +74 -0
  278. package/cjs/transforms/data/stack.js.map +1 -0
  279. package/cjs/transforms/data/unfold.d.ts +2 -0
  280. package/cjs/transforms/data/unfold.js +49 -0
  281. package/cjs/transforms/data/unfold.js.map +1 -0
  282. package/cjs/transforms/index.d.ts +23 -0
  283. package/cjs/transforms/index.js +213 -0
  284. package/cjs/transforms/index.js.map +1 -0
  285. package/cjs/transforms/mark/dodge.d.ts +2 -0
  286. package/cjs/transforms/mark/dodge.js +81 -0
  287. package/cjs/transforms/mark/dodge.js.map +1 -0
  288. package/cjs/transforms/mark/jitter.d.ts +4 -0
  289. package/cjs/transforms/mark/jitter.js +53 -0
  290. package/cjs/transforms/mark/jitter.js.map +1 -0
  291. package/cjs/transforms/mark/lttb-sample.d.ts +2 -0
  292. package/cjs/transforms/mark/lttb-sample.js +68 -0
  293. package/cjs/transforms/mark/lttb-sample.js.map +1 -0
  294. package/cjs/transforms/mark/mark-overlap.d.ts +2 -0
  295. package/cjs/transforms/mark/mark-overlap.js +79 -0
  296. package/cjs/transforms/mark/mark-overlap.js.map +1 -0
  297. package/cjs/transforms/mark/symmetry.d.ts +2 -0
  298. package/cjs/transforms/mark/symmetry.js +25 -0
  299. package/cjs/transforms/mark/symmetry.js.map +1 -0
  300. package/cjs/transforms/util/util.d.ts +5 -0
  301. package/cjs/transforms/util/util.js +41 -0
  302. package/cjs/transforms/util/util.js.map +1 -0
  303. package/cjs/transforms/view/identifier.d.ts +2 -0
  304. package/cjs/transforms/view/identifier.js +17 -0
  305. package/cjs/transforms/view/identifier.js.map +1 -0
  306. package/cjs/types/animate.d.ts +224 -0
  307. package/cjs/types/animate.js +6 -0
  308. package/cjs/types/animate.js.map +1 -0
  309. package/cjs/types/base.d.ts +36 -0
  310. package/cjs/types/base.js +6 -0
  311. package/cjs/types/base.js.map +1 -0
  312. package/cjs/types/component.d.ts +240 -0
  313. package/cjs/types/component.js +6 -0
  314. package/cjs/types/component.js.map +1 -0
  315. package/cjs/types/coordinate.d.ts +15 -0
  316. package/cjs/types/coordinate.js +6 -0
  317. package/cjs/types/coordinate.js.map +1 -0
  318. package/cjs/types/data.d.ts +55 -0
  319. package/cjs/types/data.js +5 -0
  320. package/cjs/types/data.js.map +1 -0
  321. package/cjs/types/dataflow.d.ts +13 -0
  322. package/cjs/types/dataflow.js +6 -0
  323. package/cjs/types/dataflow.js.map +1 -0
  324. package/cjs/types/element.d.ts +117 -0
  325. package/cjs/types/element.js +6 -0
  326. package/cjs/types/element.js.map +1 -0
  327. package/cjs/types/event.d.ts +58 -0
  328. package/cjs/types/event.js +6 -0
  329. package/cjs/types/event.js.map +1 -0
  330. package/cjs/types/glyph.d.ts +29 -0
  331. package/cjs/types/glyph.js +6 -0
  332. package/cjs/types/glyph.js.map +1 -0
  333. package/cjs/types/grammar.d.ts +184 -0
  334. package/cjs/types/grammar.js +6 -0
  335. package/cjs/types/grammar.js.map +1 -0
  336. package/cjs/types/hooks.d.ts +45 -0
  337. package/cjs/types/hooks.js +6 -0
  338. package/cjs/types/hooks.js.map +1 -0
  339. package/cjs/types/index.d.ts +22 -0
  340. package/cjs/types/index.js +31 -0
  341. package/cjs/types/index.js.map +1 -0
  342. package/cjs/types/layout.d.ts +5 -0
  343. package/cjs/types/layout.js +6 -0
  344. package/cjs/types/layout.js.map +1 -0
  345. package/cjs/types/mark.d.ts +344 -0
  346. package/cjs/types/mark.js +6 -0
  347. package/cjs/types/mark.js.map +1 -0
  348. package/cjs/types/morph.d.ts +29 -0
  349. package/cjs/types/morph.js +6 -0
  350. package/cjs/types/morph.js.map +1 -0
  351. package/cjs/types/plot.d.ts +326 -0
  352. package/cjs/types/plot.js +6 -0
  353. package/cjs/types/plot.js.map +1 -0
  354. package/cjs/types/projection.d.ts +61 -0
  355. package/cjs/types/projection.js +6 -0
  356. package/cjs/types/projection.js.map +1 -0
  357. package/cjs/types/renderer.d.ts +19 -0
  358. package/cjs/types/renderer.js +6 -0
  359. package/cjs/types/renderer.js.map +1 -0
  360. package/cjs/types/scale.d.ts +111 -0
  361. package/cjs/types/scale.js +6 -0
  362. package/cjs/types/scale.js.map +1 -0
  363. package/cjs/types/signal.d.ts +20 -0
  364. package/cjs/types/signal.js +6 -0
  365. package/cjs/types/signal.js.map +1 -0
  366. package/cjs/types/theme.d.ts +41 -0
  367. package/cjs/types/theme.js +6 -0
  368. package/cjs/types/theme.js.map +1 -0
  369. package/cjs/types/transform.d.ts +291 -0
  370. package/cjs/types/transform.js +6 -0
  371. package/cjs/types/transform.js.map +1 -0
  372. package/cjs/types/view.d.ts +217 -0
  373. package/cjs/types/view.js +6 -0
  374. package/cjs/types/view.js.map +1 -0
  375. package/cjs/util/data.d.ts +3 -0
  376. package/cjs/util/data.js +64 -0
  377. package/cjs/util/data.js.map +1 -0
  378. package/cjs/util/grammar-heap.d.ts +14 -0
  379. package/cjs/util/grammar-heap.js +66 -0
  380. package/cjs/util/grammar-heap.js.map +1 -0
  381. package/cjs/util/text.d.ts +19 -0
  382. package/cjs/util/text.js +32 -0
  383. package/cjs/util/text.js.map +1 -0
  384. package/cjs/util/unique-list.d.ts +12 -0
  385. package/cjs/util/unique-list.js +37 -0
  386. package/cjs/util/unique-list.js.map +1 -0
  387. package/cjs/view/View.d.ts +157 -0
  388. package/cjs/view/View.js +800 -0
  389. package/cjs/view/View.js.map +1 -0
  390. package/cjs/view/animate.d.ts +20 -0
  391. package/cjs/view/animate.js +106 -0
  392. package/cjs/view/animate.js.map +1 -0
  393. package/cjs/view/component.d.ts +26 -0
  394. package/cjs/view/component.js +64 -0
  395. package/cjs/view/component.js.map +1 -0
  396. package/cjs/view/constants.d.ts +17 -0
  397. package/cjs/view/constants.js +13 -0
  398. package/cjs/view/constants.js.map +1 -0
  399. package/cjs/view/coordinate.d.ts +23 -0
  400. package/cjs/view/coordinate.js +59 -0
  401. package/cjs/view/coordinate.js.map +1 -0
  402. package/cjs/view/data.d.ts +37 -0
  403. package/cjs/view/data.js +198 -0
  404. package/cjs/view/data.js.map +1 -0
  405. package/cjs/view/dataflow.d.ts +32 -0
  406. package/cjs/view/dataflow.js +146 -0
  407. package/cjs/view/dataflow.js.map +1 -0
  408. package/cjs/view/events.d.ts +4 -0
  409. package/cjs/view/events.js +34 -0
  410. package/cjs/view/events.js.map +1 -0
  411. package/cjs/view/glyph-meta.d.ts +29 -0
  412. package/cjs/view/glyph-meta.js +45 -0
  413. package/cjs/view/glyph-meta.js.map +1 -0
  414. package/cjs/view/glyph.d.ts +14 -0
  415. package/cjs/view/glyph.js +29 -0
  416. package/cjs/view/glyph.js.map +1 -0
  417. package/cjs/view/grammar-base.d.ts +46 -0
  418. package/cjs/view/grammar-base.js +171 -0
  419. package/cjs/view/grammar-base.js.map +1 -0
  420. package/cjs/view/grammar-record.d.ts +39 -0
  421. package/cjs/view/grammar-record.js +180 -0
  422. package/cjs/view/grammar-record.js.map +1 -0
  423. package/cjs/view/group.d.ts +13 -0
  424. package/cjs/view/group.js +39 -0
  425. package/cjs/view/group.js.map +1 -0
  426. package/cjs/view/index.d.ts +1 -0
  427. package/cjs/view/index.js +21 -0
  428. package/cjs/view/index.js.map +1 -0
  429. package/cjs/view/mark.d.ts +112 -0
  430. package/cjs/view/mark.js +600 -0
  431. package/cjs/view/mark.js.map +1 -0
  432. package/cjs/view/scale.d.ts +26 -0
  433. package/cjs/view/scale.js +86 -0
  434. package/cjs/view/scale.js.map +1 -0
  435. package/cjs/view/signal.d.ts +18 -0
  436. package/cjs/view/signal.js +56 -0
  437. package/cjs/view/signal.js.map +1 -0
  438. package/es/component/axis.d.ts +26 -0
  439. package/es/component/axis.js +162 -0
  440. package/es/component/axis.js.map +1 -0
  441. package/es/component/crosshair.d.ts +50 -0
  442. package/es/component/crosshair.js +275 -0
  443. package/es/component/crosshair.js.map +1 -0
  444. package/es/component/datazoom.d.ts +19 -0
  445. package/es/component/datazoom.js +161 -0
  446. package/es/component/datazoom.js.map +1 -0
  447. package/es/component/grid.d.ts +27 -0
  448. package/es/component/grid.js +193 -0
  449. package/es/component/grid.js.map +1 -0
  450. package/es/component/index.d.ts +11 -0
  451. package/es/component/index.js +22 -0
  452. package/es/component/index.js.map +1 -0
  453. package/es/component/label.d.ts +19 -0
  454. package/es/component/label.js +124 -0
  455. package/es/component/label.js.map +1 -0
  456. package/es/component/legend.d.ts +26 -0
  457. package/es/component/legend.js +169 -0
  458. package/es/component/legend.js.map +1 -0
  459. package/es/component/player.d.ts +25 -0
  460. package/es/component/player.js +136 -0
  461. package/es/component/player.js.map +1 -0
  462. package/es/component/scale.d.ts +8 -0
  463. package/es/component/scale.js +19 -0
  464. package/es/component/scale.js.map +1 -0
  465. package/es/component/scrollbar.d.ts +23 -0
  466. package/es/component/scrollbar.js +184 -0
  467. package/es/component/scrollbar.js.map +1 -0
  468. package/es/component/slider.d.ts +19 -0
  469. package/es/component/slider.js +86 -0
  470. package/es/component/slider.js.map +1 -0
  471. package/es/component/title.d.ts +15 -0
  472. package/es/component/title.js +58 -0
  473. package/es/component/title.js.map +1 -0
  474. package/es/component/tooltip.d.ts +62 -0
  475. package/es/component/tooltip.js +303 -0
  476. package/es/component/tooltip.js.map +1 -0
  477. package/es/core/factory.d.ts +35 -0
  478. package/es/core/factory.js +67 -0
  479. package/es/core/factory.js.map +1 -0
  480. package/es/glyph/boxplot.d.ts +10 -0
  481. package/es/glyph/boxplot.js +410 -0
  482. package/es/glyph/boxplot.js.map +1 -0
  483. package/es/glyph/index.d.ts +7 -0
  484. package/es/glyph/index.js +11 -0
  485. package/es/glyph/index.js.map +1 -0
  486. package/es/glyph/link-path.d.ts +7 -0
  487. package/es/glyph/link-path.js +132 -0
  488. package/es/glyph/link-path.js.map +1 -0
  489. package/es/glyph/ripple.d.ts +1 -0
  490. package/es/glyph/ripple.js +38 -0
  491. package/es/glyph/ripple.js.map +1 -0
  492. package/es/glyph/tree-path.d.ts +7 -0
  493. package/es/glyph/tree-path.js +146 -0
  494. package/es/glyph/tree-path.js.map +1 -0
  495. package/es/glyph/violin.d.ts +1 -0
  496. package/es/glyph/violin.js +163 -0
  497. package/es/glyph/violin.js.map +1 -0
  498. package/es/glyph/wave.d.ts +1 -0
  499. package/es/glyph/wave.js +61 -0
  500. package/es/glyph/wave.js.map +1 -0
  501. package/es/graph/animation/animate.d.ts +48 -0
  502. package/es/graph/animation/animate.js +247 -0
  503. package/es/graph/animation/animate.js.map +1 -0
  504. package/es/graph/animation/animation/clip.d.ts +4 -0
  505. package/es/graph/animation/animation/clip.js +44 -0
  506. package/es/graph/animation/animation/clip.js.map +1 -0
  507. package/es/graph/animation/animation/fade.d.ts +4 -0
  508. package/es/graph/animation/animation/fade.js +32 -0
  509. package/es/graph/animation/animation/fade.js.map +1 -0
  510. package/es/graph/animation/animation/grow-cartesian.d.ts +7 -0
  511. package/es/graph/animation/animation/grow-cartesian.js +272 -0
  512. package/es/graph/animation/animation/grow-cartesian.js.map +1 -0
  513. package/es/graph/animation/animation/grow-interval.d.ts +3 -0
  514. package/es/graph/animation/animation/grow-interval.js +184 -0
  515. package/es/graph/animation/animation/grow-interval.js.map +1 -0
  516. package/es/graph/animation/animation/grow-points.d.ts +7 -0
  517. package/es/graph/animation/animation/grow-points.js +107 -0
  518. package/es/graph/animation/animation/grow-points.js.map +1 -0
  519. package/es/graph/animation/animation/grow-polar.d.ts +5 -0
  520. package/es/graph/animation/animation/grow-polar.js +160 -0
  521. package/es/graph/animation/animation/grow-polar.js.map +1 -0
  522. package/es/graph/animation/animation/index.d.ts +11 -0
  523. package/es/graph/animation/animation/index.js +22 -0
  524. package/es/graph/animation/animation/index.js.map +1 -0
  525. package/es/graph/animation/animation/move.d.ts +3 -0
  526. package/es/graph/animation/animation/move.js +78 -0
  527. package/es/graph/animation/animation/move.js.map +1 -0
  528. package/es/graph/animation/animation/rotate.d.ts +3 -0
  529. package/es/graph/animation/animation/rotate.js +32 -0
  530. package/es/graph/animation/animation/rotate.js.map +1 -0
  531. package/es/graph/animation/animation/scale.d.ts +3 -0
  532. package/es/graph/animation/animation/scale.js +74 -0
  533. package/es/graph/animation/animation/scale.js.map +1 -0
  534. package/es/graph/animation/animation/update.d.ts +6 -0
  535. package/es/graph/animation/animation/update.js +20 -0
  536. package/es/graph/animation/animation/update.js.map +1 -0
  537. package/es/graph/animation/animator.d.ts +26 -0
  538. package/es/graph/animation/animator.js +83 -0
  539. package/es/graph/animation/animator.js.map +1 -0
  540. package/es/graph/animation/arranger.d.ts +13 -0
  541. package/es/graph/animation/arranger.js +29 -0
  542. package/es/graph/animation/arranger.js.map +1 -0
  543. package/es/graph/animation/attribute.d.ts +27 -0
  544. package/es/graph/animation/attribute.js +114 -0
  545. package/es/graph/animation/attribute.js.map +1 -0
  546. package/es/graph/animation/config.d.ts +5 -0
  547. package/es/graph/animation/config.js +84 -0
  548. package/es/graph/animation/config.js.map +1 -0
  549. package/es/graph/animation/morph.d.ts +12 -0
  550. package/es/graph/animation/morph.js +171 -0
  551. package/es/graph/animation/morph.js.map +1 -0
  552. package/es/graph/attributes/common.d.ts +2 -0
  553. package/es/graph/attributes/common.js +13 -0
  554. package/es/graph/attributes/common.js.map +1 -0
  555. package/es/graph/attributes/helpers.d.ts +17 -0
  556. package/es/graph/attributes/helpers.js +75 -0
  557. package/es/graph/attributes/helpers.js.map +1 -0
  558. package/es/graph/attributes/index.d.ts +10 -0
  559. package/es/graph/attributes/index.js +231 -0
  560. package/es/graph/attributes/index.js.map +1 -0
  561. package/es/graph/canvas-renderer.d.ts +34 -0
  562. package/es/graph/canvas-renderer.js +115 -0
  563. package/es/graph/canvas-renderer.js.map +1 -0
  564. package/es/graph/constants.d.ts +23 -0
  565. package/es/graph/constants.js +47 -0
  566. package/es/graph/constants.js.map +1 -0
  567. package/es/graph/element.d.ts +66 -0
  568. package/es/graph/element.js +292 -0
  569. package/es/graph/element.js.map +1 -0
  570. package/es/graph/enums.d.ts +153 -0
  571. package/es/graph/enums.js +129 -0
  572. package/es/graph/enums.js.map +1 -0
  573. package/es/graph/glyph-element.d.ts +53 -0
  574. package/es/graph/glyph-element.js +206 -0
  575. package/es/graph/glyph-element.js.map +1 -0
  576. package/es/graph/index.d.ts +3 -0
  577. package/es/graph/index.js +6 -0
  578. package/es/graph/index.js.map +1 -0
  579. package/es/graph/layout/grid.d.ts +3 -0
  580. package/es/graph/layout/grid.js +66 -0
  581. package/es/graph/layout/grid.js.map +1 -0
  582. package/es/graph/layout/layout.d.ts +3 -0
  583. package/es/graph/layout/layout.js +33 -0
  584. package/es/graph/layout/layout.js.map +1 -0
  585. package/es/graph/layout/relative.d.ts +3 -0
  586. package/es/graph/layout/relative.js +85 -0
  587. package/es/graph/layout/relative.js.map +1 -0
  588. package/es/graph/mark/differ.d.ts +20 -0
  589. package/es/graph/mark/differ.js +104 -0
  590. package/es/graph/mark/differ.js.map +1 -0
  591. package/es/graph/mark/encode.d.ts +10 -0
  592. package/es/graph/mark/encode.js +92 -0
  593. package/es/graph/mark/encode.js.map +1 -0
  594. package/es/graph/mark/large-rects.d.ts +10 -0
  595. package/es/graph/mark/large-rects.js +23 -0
  596. package/es/graph/mark/large-rects.js.map +1 -0
  597. package/es/graph/mark/large-symbols.d.ts +11 -0
  598. package/es/graph/mark/large-symbols.js +27 -0
  599. package/es/graph/mark/large-symbols.js.map +1 -0
  600. package/es/graph/mark-tree.d.ts +2 -0
  601. package/es/graph/mark-tree.js +15 -0
  602. package/es/graph/mark-tree.js.map +1 -0
  603. package/es/graph/util/element.d.ts +2 -0
  604. package/es/graph/util/element.js +8 -0
  605. package/es/graph/util/element.js.map +1 -0
  606. package/es/graph/util/env.d.ts +2 -0
  607. package/es/graph/util/env.js +6 -0
  608. package/es/graph/util/env.js.map +1 -0
  609. package/es/graph/util/events-extend.d.ts +5 -0
  610. package/es/graph/util/events-extend.js +12 -0
  611. package/es/graph/util/events-extend.js.map +1 -0
  612. package/es/graph/util/graphic.d.ts +9 -0
  613. package/es/graph/util/graphic.js +59 -0
  614. package/es/graph/util/graphic.js.map +1 -0
  615. package/es/graph/util/point.d.ts +1 -0
  616. package/es/graph/util/point.js +67 -0
  617. package/es/graph/util/point.js.map +1 -0
  618. package/es/index.d.ts +14 -0
  619. package/es/index.js +27 -0
  620. package/es/index.js.map +1 -0
  621. package/es/parse/coordinate.d.ts +7 -0
  622. package/es/parse/coordinate.js +65 -0
  623. package/es/parse/coordinate.js.map +1 -0
  624. package/es/parse/event.d.ts +8 -0
  625. package/es/parse/event.js +23 -0
  626. package/es/parse/event.js.map +1 -0
  627. package/es/parse/mark.d.ts +4 -0
  628. package/es/parse/mark.js +19 -0
  629. package/es/parse/mark.js.map +1 -0
  630. package/es/parse/option.d.ts +3 -0
  631. package/es/parse/option.js +10 -0
  632. package/es/parse/option.js.map +1 -0
  633. package/es/parse/scale.d.ts +8 -0
  634. package/es/parse/scale.js +347 -0
  635. package/es/parse/scale.js.map +1 -0
  636. package/es/parse/transform.d.ts +5 -0
  637. package/es/parse/transform.js +102 -0
  638. package/es/parse/transform.js.map +1 -0
  639. package/es/parse/util.d.ts +13 -0
  640. package/es/parse/util.js +65 -0
  641. package/es/parse/util.js.map +1 -0
  642. package/es/parse/view.d.ts +17 -0
  643. package/es/parse/view.js +98 -0
  644. package/es/parse/view.js.map +1 -0
  645. package/es/semantic-marks/cell.d.ts +13 -0
  646. package/es/semantic-marks/cell.js +57 -0
  647. package/es/semantic-marks/cell.js.map +1 -0
  648. package/es/semantic-marks/interval.d.ts +14 -0
  649. package/es/semantic-marks/interval.js +87 -0
  650. package/es/semantic-marks/interval.js.map +1 -0
  651. package/es/semantic-marks/text.d.ts +10 -0
  652. package/es/semantic-marks/text.js +22 -0
  653. package/es/semantic-marks/text.js.map +1 -0
  654. package/es/theme/common/component.d.ts +15 -0
  655. package/es/theme/common/component.js +510 -0
  656. package/es/theme/common/component.js.map +1 -0
  657. package/es/theme/common/constants.d.ts +1 -0
  658. package/es/theme/common/constants.js +2 -0
  659. package/es/theme/common/constants.js.map +1 -0
  660. package/es/theme/common/mark.d.ts +2 -0
  661. package/es/theme/common/mark.js +11 -0
  662. package/es/theme/common/mark.js.map +1 -0
  663. package/es/theme/dark.d.ts +2 -0
  664. package/es/theme/dark.js +96 -0
  665. package/es/theme/dark.js.map +1 -0
  666. package/es/theme/default.d.ts +2 -0
  667. package/es/theme/default.js +16 -0
  668. package/es/theme/default.js.map +1 -0
  669. package/es/theme/theme-manager.d.ts +8 -0
  670. package/es/theme/theme-manager.js +22 -0
  671. package/es/theme/theme-manager.js.map +1 -0
  672. package/es/transforms/data/bin.d.ts +2 -0
  673. package/es/transforms/data/bin.js +16 -0
  674. package/es/transforms/data/bin.js.map +1 -0
  675. package/es/transforms/data/circular-relation.d.ts +2 -0
  676. package/es/transforms/data/circular-relation.js +44 -0
  677. package/es/transforms/data/circular-relation.js.map +1 -0
  678. package/es/transforms/data/contour.d.ts +2 -0
  679. package/es/transforms/data/contour.js +111 -0
  680. package/es/transforms/data/contour.js.map +1 -0
  681. package/es/transforms/data/filter.d.ts +2 -0
  682. package/es/transforms/data/filter.js +2 -0
  683. package/es/transforms/data/filter.js.map +1 -0
  684. package/es/transforms/data/fold.d.ts +2 -0
  685. package/es/transforms/data/fold.js +16 -0
  686. package/es/transforms/data/fold.js.map +1 -0
  687. package/es/transforms/data/funnel.d.ts +2 -0
  688. package/es/transforms/data/funnel.js +17 -0
  689. package/es/transforms/data/funnel.js.map +1 -0
  690. package/es/transforms/data/join.d.ts +2 -0
  691. package/es/transforms/data/join.js +26 -0
  692. package/es/transforms/data/join.js.map +1 -0
  693. package/es/transforms/data/kde.d.ts +2 -0
  694. package/es/transforms/data/kde.js +80 -0
  695. package/es/transforms/data/kde.js.map +1 -0
  696. package/es/transforms/data/map.d.ts +2 -0
  697. package/es/transforms/data/map.js +16 -0
  698. package/es/transforms/data/map.js.map +1 -0
  699. package/es/transforms/data/pick.d.ts +2 -0
  700. package/es/transforms/data/pick.js +15 -0
  701. package/es/transforms/data/pick.js.map +1 -0
  702. package/es/transforms/data/pie.d.ts +2 -0
  703. package/es/transforms/data/pie.js +18 -0
  704. package/es/transforms/data/pie.js.map +1 -0
  705. package/es/transforms/data/range.d.ts +4 -0
  706. package/es/transforms/data/range.js +9 -0
  707. package/es/transforms/data/range.js.map +1 -0
  708. package/es/transforms/data/sort.d.ts +2 -0
  709. package/es/transforms/data/sort.js +13 -0
  710. package/es/transforms/data/sort.js.map +1 -0
  711. package/es/transforms/data/stack.d.ts +2 -0
  712. package/es/transforms/data/stack.js +72 -0
  713. package/es/transforms/data/stack.js.map +1 -0
  714. package/es/transforms/data/unfold.d.ts +2 -0
  715. package/es/transforms/data/unfold.js +45 -0
  716. package/es/transforms/data/unfold.js.map +1 -0
  717. package/es/transforms/index.d.ts +23 -0
  718. package/es/transforms/index.js +205 -0
  719. package/es/transforms/index.js.map +1 -0
  720. package/es/transforms/mark/dodge.d.ts +2 -0
  721. package/es/transforms/mark/dodge.js +74 -0
  722. package/es/transforms/mark/dodge.js.map +1 -0
  723. package/es/transforms/mark/jitter.d.ts +4 -0
  724. package/es/transforms/mark/jitter.js +48 -0
  725. package/es/transforms/mark/jitter.js.map +1 -0
  726. package/es/transforms/mark/lttb-sample.d.ts +2 -0
  727. package/es/transforms/mark/lttb-sample.js +60 -0
  728. package/es/transforms/mark/lttb-sample.js.map +1 -0
  729. package/es/transforms/mark/mark-overlap.d.ts +2 -0
  730. package/es/transforms/mark/mark-overlap.js +71 -0
  731. package/es/transforms/mark/mark-overlap.js.map +1 -0
  732. package/es/transforms/mark/symmetry.d.ts +2 -0
  733. package/es/transforms/mark/symmetry.js +20 -0
  734. package/es/transforms/mark/symmetry.js.map +1 -0
  735. package/es/transforms/util/util.d.ts +5 -0
  736. package/es/transforms/util/util.js +33 -0
  737. package/es/transforms/util/util.js.map +1 -0
  738. package/es/transforms/view/identifier.d.ts +2 -0
  739. package/es/transforms/view/identifier.js +13 -0
  740. package/es/transforms/view/identifier.js.map +1 -0
  741. package/es/types/animate.d.ts +224 -0
  742. package/es/types/animate.js +2 -0
  743. package/es/types/animate.js.map +1 -0
  744. package/es/types/base.d.ts +36 -0
  745. package/es/types/base.js +2 -0
  746. package/es/types/base.js.map +1 -0
  747. package/es/types/component.d.ts +240 -0
  748. package/es/types/component.js +2 -0
  749. package/es/types/component.js.map +1 -0
  750. package/es/types/coordinate.d.ts +15 -0
  751. package/es/types/coordinate.js +2 -0
  752. package/es/types/coordinate.js.map +1 -0
  753. package/es/types/data.d.ts +55 -0
  754. package/es/types/data.js +1 -0
  755. package/es/types/data.js.map +1 -0
  756. package/es/types/dataflow.d.ts +13 -0
  757. package/es/types/dataflow.js +2 -0
  758. package/es/types/dataflow.js.map +1 -0
  759. package/es/types/element.d.ts +117 -0
  760. package/es/types/element.js +2 -0
  761. package/es/types/element.js.map +1 -0
  762. package/es/types/event.d.ts +58 -0
  763. package/es/types/event.js +2 -0
  764. package/es/types/event.js.map +1 -0
  765. package/es/types/glyph.d.ts +29 -0
  766. package/es/types/glyph.js +2 -0
  767. package/es/types/glyph.js.map +1 -0
  768. package/es/types/grammar.d.ts +184 -0
  769. package/es/types/grammar.js +2 -0
  770. package/es/types/grammar.js.map +1 -0
  771. package/es/types/hooks.d.ts +45 -0
  772. package/es/types/hooks.js +2 -0
  773. package/es/types/hooks.js.map +1 -0
  774. package/es/types/index.d.ts +22 -0
  775. package/es/types/index.js +44 -0
  776. package/es/types/index.js.map +1 -0
  777. package/es/types/layout.d.ts +5 -0
  778. package/es/types/layout.js +2 -0
  779. package/es/types/layout.js.map +1 -0
  780. package/es/types/mark.d.ts +344 -0
  781. package/es/types/mark.js +2 -0
  782. package/es/types/mark.js.map +1 -0
  783. package/es/types/morph.d.ts +29 -0
  784. package/es/types/morph.js +2 -0
  785. package/es/types/morph.js.map +1 -0
  786. package/es/types/plot.d.ts +326 -0
  787. package/es/types/plot.js +2 -0
  788. package/es/types/plot.js.map +1 -0
  789. package/es/types/projection.d.ts +61 -0
  790. package/es/types/projection.js +2 -0
  791. package/es/types/projection.js.map +1 -0
  792. package/es/types/renderer.d.ts +19 -0
  793. package/es/types/renderer.js +2 -0
  794. package/es/types/renderer.js.map +1 -0
  795. package/es/types/scale.d.ts +111 -0
  796. package/es/types/scale.js +2 -0
  797. package/es/types/scale.js.map +1 -0
  798. package/es/types/signal.d.ts +20 -0
  799. package/es/types/signal.js +2 -0
  800. package/es/types/signal.js.map +1 -0
  801. package/es/types/theme.d.ts +41 -0
  802. package/es/types/theme.js +2 -0
  803. package/es/types/theme.js.map +1 -0
  804. package/es/types/transform.d.ts +291 -0
  805. package/es/types/transform.js +2 -0
  806. package/es/types/transform.js.map +1 -0
  807. package/es/types/view.d.ts +217 -0
  808. package/es/types/view.js +2 -0
  809. package/es/types/view.js.map +1 -0
  810. package/es/util/data.d.ts +3 -0
  811. package/es/util/data.js +60 -0
  812. package/es/util/data.js.map +1 -0
  813. package/es/util/grammar-heap.d.ts +14 -0
  814. package/es/util/grammar-heap.js +58 -0
  815. package/es/util/grammar-heap.js.map +1 -0
  816. package/es/util/text.d.ts +19 -0
  817. package/es/util/text.js +25 -0
  818. package/es/util/text.js.map +1 -0
  819. package/es/util/unique-list.d.ts +12 -0
  820. package/es/util/unique-list.js +29 -0
  821. package/es/util/unique-list.js.map +1 -0
  822. package/es/view/View.d.ts +157 -0
  823. package/es/view/View.js +836 -0
  824. package/es/view/View.js.map +1 -0
  825. package/es/view/animate.d.ts +20 -0
  826. package/es/view/animate.js +98 -0
  827. package/es/view/animate.js.map +1 -0
  828. package/es/view/component.d.ts +26 -0
  829. package/es/view/component.js +64 -0
  830. package/es/view/component.js.map +1 -0
  831. package/es/view/constants.d.ts +17 -0
  832. package/es/view/constants.js +32 -0
  833. package/es/view/constants.js.map +1 -0
  834. package/es/view/coordinate.d.ts +23 -0
  835. package/es/view/coordinate.js +52 -0
  836. package/es/view/coordinate.js.map +1 -0
  837. package/es/view/data.d.ts +37 -0
  838. package/es/view/data.js +195 -0
  839. package/es/view/data.js.map +1 -0
  840. package/es/view/dataflow.d.ts +32 -0
  841. package/es/view/dataflow.js +141 -0
  842. package/es/view/dataflow.js.map +1 -0
  843. package/es/view/events.d.ts +4 -0
  844. package/es/view/events.js +26 -0
  845. package/es/view/events.js.map +1 -0
  846. package/es/view/glyph-meta.d.ts +29 -0
  847. package/es/view/glyph-meta.js +37 -0
  848. package/es/view/glyph-meta.js.map +1 -0
  849. package/es/view/glyph.d.ts +14 -0
  850. package/es/view/glyph.js +27 -0
  851. package/es/view/glyph.js.map +1 -0
  852. package/es/view/grammar-base.d.ts +46 -0
  853. package/es/view/grammar-base.js +165 -0
  854. package/es/view/grammar-base.js.map +1 -0
  855. package/es/view/grammar-record.d.ts +39 -0
  856. package/es/view/grammar-record.js +170 -0
  857. package/es/view/grammar-record.js.map +1 -0
  858. package/es/view/group.d.ts +13 -0
  859. package/es/view/group.js +39 -0
  860. package/es/view/group.js.map +1 -0
  861. package/es/view/index.d.ts +1 -0
  862. package/es/view/index.js +2 -0
  863. package/es/view/index.js.map +1 -0
  864. package/es/view/mark.d.ts +112 -0
  865. package/es/view/mark.js +604 -0
  866. package/es/view/mark.js.map +1 -0
  867. package/es/view/scale.d.ts +26 -0
  868. package/es/view/scale.js +82 -0
  869. package/es/view/scale.js.map +1 -0
  870. package/es/view/signal.d.ts +18 -0
  871. package/es/view/signal.js +52 -0
  872. package/es/view/signal.js.map +1 -0
  873. package/package.json +67 -0
@@ -0,0 +1,26 @@
1
+ import { isNil, Logger } from "@visactor/vutils";
2
+
3
+ import { field as getFieldAccessor } from "@visactor/vgrammar-util";
4
+
5
+ export const transform = (options, data) => {
6
+ const logger = Logger.getInstance();
7
+ let as = options.as;
8
+ const {fields: fields, from: from, key: key, values: values} = options, keyAccessor = getFieldAccessor(key), indexMap = (from || []).reduce(((map, tuple) => (map[keyAccessor(tuple)] = tuple,
9
+ map)), {}), defaultValue = isNil(options.default) ? null : options.default, fieldAccessors = fields.map((field => getFieldAccessor(field)));
10
+ if (values) {
11
+ fields.length > 1 && !as && logger.error('Multi-field lookup requires explicit "as" parameter.'),
12
+ as && as.length !== fields.length * values.length && logger.error('The "as" parameter has too few output field names.'),
13
+ isNil(as) && (as = values);
14
+ const valuesAccessors = values.map((value => getFieldAccessor(value)));
15
+ return data.map((entry => fieldAccessors.reduce(((res, fieldAccessor, fieldIndex) => {
16
+ const value = indexMap[fieldAccessor(entry)], valuesLength = values.length;
17
+ return (isNil(value) ? valuesAccessors.map((valuesAccessor => defaultValue)) : valuesAccessors.map((valuesAccessor => valuesAccessor(value)))).reduce(((asRes, asValue, asIndex) => (asRes[as[fieldIndex * valuesLength + asIndex]] = asValue,
18
+ asRes)), res);
19
+ }), entry)));
20
+ }
21
+ return as || logger.error("Missing output field names."), data.map((entry => fieldAccessors.reduce(((res, fieldAccessor, fieldIndex) => {
22
+ const value = indexMap[fieldAccessor(entry)];
23
+ return res[as[fieldIndex]] = isNil(value) ? defaultValue : value, res;
24
+ }), entry)));
25
+ };
26
+ //# sourceMappingURL=join.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/join.ts"],"names":[],"mappings":"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","file":"join.js","sourcesContent":["import { isNil, Logger } from '@visactor/vutils';\nimport type { FieldGetterFunction } from '@visactor/vgrammar-util';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type { JoinTransformOption } from '../../types';\n\nexport const transform = (options: JoinTransformOption, data: any[]) => {\n const logger = Logger.getInstance();\n let as = options.as;\n const { fields, from, key, values } = options;\n const keyAccessor = getFieldAccessor(key);\n const indexMap = (from || []).reduce((map: any, tuple: any) => {\n map[keyAccessor(tuple)] = tuple;\n return map;\n }, {});\n const defaultValue = isNil(options.default) ? null : options.default;\n const fieldAccessors = fields.map(field => getFieldAccessor(field));\n\n if (values) {\n if (fields.length > 1 && !as) {\n logger.error('Multi-field lookup requires explicit \"as\" parameter.');\n }\n if (as && as.length !== fields.length * values.length) {\n logger.error('The \"as\" parameter has too few output field names.');\n }\n\n if (isNil(as)) {\n as = values;\n }\n const valuesAccessors = values.map(value => getFieldAccessor(value));\n\n return data.map((entry: any) => {\n return fieldAccessors.reduce((res: any, fieldAccessor: FieldGetterFunction, fieldIndex: number) => {\n const value = indexMap[fieldAccessor(entry)];\n const valuesLength = values.length;\n const asValues = isNil(value)\n ? valuesAccessors.map((valuesAccessor: FieldGetterFunction) => defaultValue)\n : valuesAccessors.map((valuesAccessor: FieldGetterFunction) => valuesAccessor(value));\n\n return asValues.reduce((asRes: any, asValue: any, asIndex: number) => {\n asRes[as[fieldIndex * valuesLength + asIndex]] = asValue;\n\n return asRes;\n }, res);\n }, entry);\n });\n }\n if (!as) {\n logger.error('Missing output field names.');\n }\n\n return data.map((entry: any) => {\n return fieldAccessors.reduce((res: any, fieldAccessor: FieldGetterFunction, fieldIndex: number) => {\n const value = indexMap[fieldAccessor(entry)];\n\n res[as[fieldIndex]] = isNil(value) ? defaultValue : value;\n\n return res;\n }, entry);\n });\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { KDETransformOption } from '../../types';
2
+ export declare const transform: (options: KDETransformOption, upstreamData: any[]) => any[];
@@ -0,0 +1,80 @@
1
+ import { PointService, array, isNumber, quantileSorted } from "@visactor/vutils";
2
+
3
+ const defaultBins = 256, defaultAs = [ "x", "kde" ], defaultAs2d = [ "x", "y", "kde" ], SQRT2PI = Math.sqrt(2 * Math.PI), SQRT2PI2 = Math.sqrt((2 * Math.PI) ** 2), gaussKernel = (x, dimension = 1) => {
4
+ const sp = 1 === dimension ? SQRT2PI : 2 === dimension ? SQRT2PI2 : Math.sqrt((2 * Math.PI) ** dimension);
5
+ return Math.exp(-(x ** 2) / 2) / sp;
6
+ }, ruleOfThumbBandwidth = (data, dimension = 1) => {
7
+ const n = data.length, mean = data.reduce(((sum, datum) => sum + datum.x), 0) / n, sd = Math.sqrt(data.reduce(((v, datum) => v + (datum.x - mean) ** 2), 0) / n), sortedData = data.sort(((a, b) => a.x - b.x)).map((datum => datum.x)), q1 = quantileSorted(sortedData, .25), iqr = quantileSorted(sortedData, .75) - q1;
8
+ return .9 * Math.min(sd, iqr / 1.34) * n ** -.2;
9
+ }, scottBandwidth = (data, dimension = 1) => data.length ** (-1 / (dimension + 4)), kde1d = (targetDatum, data, bandwidth) => {
10
+ const n = data.length;
11
+ return data.reduce(((v, datum) => {
12
+ const distance = Math.abs(targetDatum.x - datum.x);
13
+ return v + gaussKernel(distance / bandwidth, 1);
14
+ }), 0) / (n * bandwidth);
15
+ }, kde2d = (targetDatum, data, bandwidth) => {
16
+ const n = data.length;
17
+ return data.reduce(((v, datum) => {
18
+ const distance = PointService.distancePP(targetDatum, datum);
19
+ return v + gaussKernel(distance / bandwidth ** 2, 1);
20
+ }), 0) / (n * bandwidth ** 2);
21
+ };
22
+
23
+ export const transform = (options, upstreamData) => {
24
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
25
+ if (!upstreamData || 0 === upstreamData.length) return upstreamData;
26
+ const dimension = null !== (_a = options.dimension) && void 0 !== _a ? _a : "1d", field = array(options.field), bins = array(null !== (_b = options.bins) && void 0 !== _b ? _b : 256), as = array(options.as);
27
+ if ("1d" === dimension) {
28
+ const data = upstreamData.map((datum => ({
29
+ x: datum[field[0]]
30
+ }))), bandwidth = null !== (_c = options.bandwidth) && void 0 !== _c ? _c : ruleOfThumbBandwidth(data), min = data.reduce(((min, datum) => Math.min(min, datum.x)), data[0].x), max = data.reduce(((max, datum) => Math.max(max, datum.x)), data[0].x), extentMin = null !== (_e = null === (_d = options.extent) || void 0 === _d ? void 0 : _d[0]) && void 0 !== _e ? _e : min, extentMax = null !== (_g = null === (_f = options.extent) || void 0 === _f ? void 0 : _f[1]) && void 0 !== _g ? _g : max, extent = [ isNumber(extentMin) ? extentMin : null !== (_h = extentMin.x) && void 0 !== _h ? _h : min, isNumber(extentMax) ? extentMax : null !== (_j = extentMax.x) && void 0 !== _j ? _j : max ], step = (extent[1] - extent[0]) / bins[0], kdeResult = new Array(bins[0]).fill(0).map(((v, index) => {
31
+ var _a, _b;
32
+ const value = Math.min(extent[0] + step * (index + .5), extent[1]);
33
+ return {
34
+ [null !== (_a = as[0]) && void 0 !== _a ? _a : defaultAs[0]]: value,
35
+ [null !== (_b = as[1]) && void 0 !== _b ? _b : defaultAs[0]]: kde1d({
36
+ x: value
37
+ }, data, bandwidth)
38
+ };
39
+ }));
40
+ return kdeResult;
41
+ }
42
+ if ("2d" === dimension) {
43
+ const data = upstreamData.map((datum => ({
44
+ x: datum[field[0]],
45
+ y: datum[field[1]]
46
+ }))), bandwidth = options.bandwidth || scottBandwidth(data, 2), min = data.reduce(((min, datum) => ({
47
+ x: Math.min(min.x, datum.x),
48
+ y: Math.min(min.y, datum.y)
49
+ })), data[0]), max = data.reduce(((max, datum) => ({
50
+ x: Math.max(max.x, datum.x),
51
+ y: Math.max(max.y, datum.y)
52
+ })), data[0]), extentMin = null !== (_l = null === (_k = options.extent) || void 0 === _k ? void 0 : _k[0]) && void 0 !== _l ? _l : min, extentMax = null !== (_o = null === (_m = options.extent) || void 0 === _m ? void 0 : _m[1]) && void 0 !== _o ? _o : max, extent = [ isNumber(extentMin) ? {
53
+ x: extentMin,
54
+ y: extentMin
55
+ } : {
56
+ x: null !== (_p = extentMin.x) && void 0 !== _p ? _p : min.x,
57
+ y: null !== (_q = extentMin.y) && void 0 !== _q ? _q : min.y
58
+ }, isNumber(extentMax) ? {
59
+ x: extentMax,
60
+ y: extentMax
61
+ } : {
62
+ x: null !== (_r = extentMax.x) && void 0 !== _r ? _r : max.x,
63
+ y: null !== (_s = extentMax.y) && void 0 !== _s ? _s : max.y
64
+ } ], binsX = bins[0], binsY = null !== (_t = bins[1]) && void 0 !== _t ? _t : bins[0], stepX = (extent[1].x - extent[0].x) / binsX, stepY = (extent[1].y - extent[0].y) / binsY, kdeResult = [];
65
+ for (let yIndex = 0; yIndex < binsY; yIndex++) for (let xIndex = 0; xIndex < binsX; xIndex++) {
66
+ const x = Math.min(extent[0].x + stepX * (xIndex + .5), extent[1].x), y = Math.min(extent[0].y + stepY * (yIndex + .5), extent[1].y);
67
+ kdeResult.push({
68
+ [null !== (_u = as[0]) && void 0 !== _u ? _u : defaultAs2d[0]]: x,
69
+ [null !== (_v = as[1]) && void 0 !== _v ? _v : defaultAs2d[1]]: y,
70
+ [null !== (_w = as[2]) && void 0 !== _w ? _w : defaultAs2d[2]]: kde2d({
71
+ x: x,
72
+ y: y
73
+ }, data, bandwidth)
74
+ });
75
+ }
76
+ return kdeResult;
77
+ }
78
+ return [];
79
+ };
80
+ //# sourceMappingURL=kde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/kde.ts"],"names":[],"mappings":"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","file":"kde.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, array, isNumber, quantileSorted } from '@visactor/vutils';\nimport type { KDETransformOption } from '../../types';\n\nconst defaultBins = 256;\nconst defaultAs = ['x', 'kde'];\nconst defaultAs2d = ['x', 'y', 'kde'];\nconst SQRT2PI = Math.sqrt(Math.PI * 2);\nconst SQRT2PI2 = Math.sqrt((Math.PI * 2) ** 2);\n\n// Only use gauss kernel for now\nconst gaussKernel = (x: number, dimension: number = 1) => {\n const sp = dimension === 1 ? SQRT2PI : dimension === 2 ? SQRT2PI2 : Math.sqrt((Math.PI * 2) ** dimension);\n return Math.exp(-(x ** 2) / 2) / sp;\n};\n\n// A rule-of-thumb bandwidth estimator, referring to: https://en.wikipedia.org/wiki/Kernel_density_estimation#A_rule-of-thumb_bandwidth_estimator\nconst ruleOfThumbBandwidth = (data: IPointLike[], dimension: number = 1) => {\n const n = data.length;\n const sum = data.reduce((sum, datum) => sum + datum.x, 0);\n const mean = sum / n;\n const sd = Math.sqrt(data.reduce((v, datum) => v + (datum.x - mean) ** 2, 0) / n);\n const sortedData = data.sort((a, b) => a.x - b.x).map(datum => datum.x);\n const q1 = quantileSorted(sortedData, 0.25);\n const q3 = quantileSorted(sortedData, 0.75);\n const iqr = q3 - q1;\n return 0.9 * Math.min(sd, iqr / 1.34) * n ** -0.2;\n // OR:\n // return 1.06 * sd * n ** -0.2;\n};\n\n// Adaptive bandwidth, referring to: https://www.osti.gov/biblio/1372602\nconst scottBandwidth = (data: IPointLike[], dimension: number = 1) => {\n const n = data.length;\n return n ** (-1 / (dimension + 4));\n};\n\n// referring to: https://en.wikipedia.org/wiki/Kernel_density_estimation#Definition\nconst kde1d = (targetDatum: IPointLike, data: IPointLike[], bandwidth: number) => {\n const n = data.length;\n const kSum = data.reduce((v, datum) => {\n const distance = Math.abs(targetDatum.x - datum.x);\n return v + gaussKernel(distance / bandwidth, 1);\n }, 0);\n return kSum / (n * bandwidth);\n};\n\n// referring to: https://en.wikipedia.org/wiki/Multivariate_kernel_density_estimation#Definition\nconst kde2d = (targetDatum: IPointLike, data: IPointLike[], bandwidth: number) => {\n const n = data.length;\n // Notice here is h^2 which is different from kde1d\n const khSum = data.reduce((v, datum) => {\n const distance = PointService.distancePP(targetDatum, datum);\n return v + gaussKernel(distance / bandwidth ** 2, 1);\n }, 0);\n return khSum / (n * bandwidth ** 2);\n};\n\nexport const transform = (options: KDETransformOption, upstreamData: any[]) => {\n if (!upstreamData || upstreamData.length === 0) {\n return upstreamData;\n }\n const dimension = options.dimension ?? '1d';\n const field = array(options.field);\n const bins = array(options.bins ?? defaultBins);\n const as = array(options.as);\n\n if (dimension === '1d') {\n const data = upstreamData.map(datum => ({ x: datum[field[0]] } as IPointLike));\n const bandwidth = options.bandwidth ?? ruleOfThumbBandwidth(data);\n const min = data.reduce((min, datum) => Math.min(min, datum.x), data[0].x);\n const max = data.reduce((max, datum) => Math.max(max, datum.x), data[0].x);\n\n const extentMin = options.extent?.[0] ?? min;\n const extentMax = options.extent?.[1] ?? max;\n const extent = [\n isNumber(extentMin) ? extentMin : extentMin.x ?? min,\n isNumber(extentMax) ? extentMax : extentMax.x ?? max\n ];\n const step = (extent[1] - extent[0]) / bins[0];\n const kdeResult = new Array(bins[0]).fill(0).map((v, index) => {\n const value = Math.min(extent[0] + step * (index + 0.5), extent[1]);\n return {\n [as[0] ?? defaultAs[0]]: value,\n [as[1] ?? defaultAs[0]]: kde1d({ x: value } as IPointLike, data, bandwidth)\n };\n });\n\n return kdeResult;\n } else if (dimension === '2d') {\n const data = upstreamData.map(datum => ({ x: datum[field[0]], y: datum[field[1]] } as IPointLike));\n const bandwidth = options.bandwidth || scottBandwidth(data, 2);\n\n const min = data.reduce((min, datum) => ({ x: Math.min(min.x, datum.x), y: Math.min(min.y, datum.y) }), data[0]);\n const max = data.reduce((max, datum) => ({ x: Math.max(max.x, datum.x), y: Math.max(max.y, datum.y) }), data[0]);\n\n const extentMin = options.extent?.[0] ?? min;\n const extentMax = options.extent?.[1] ?? max;\n const extent = [\n isNumber(extentMin) ? { x: extentMin, y: extentMin } : { x: extentMin.x ?? min.x, y: extentMin.y ?? min.y },\n isNumber(extentMax) ? { x: extentMax, y: extentMax } : { x: extentMax.x ?? max.x, y: extentMax.y ?? max.y }\n ];\n const binsX = bins[0];\n const binsY = bins[1] ?? bins[0];\n const stepX = (extent[1].x - extent[0].x) / binsX;\n const stepY = (extent[1].y - extent[0].y) / binsY;\n const kdeResult: any[] = [];\n for (let yIndex = 0; yIndex < binsY; yIndex++) {\n for (let xIndex = 0; xIndex < binsX; xIndex++) {\n const x = Math.min(extent[0].x + stepX * (xIndex + 0.5), extent[1].x);\n const y = Math.min(extent[0].y + stepY * (yIndex + 0.5), extent[1].y);\n kdeResult.push({\n [as[0] ?? defaultAs2d[0]]: x,\n [as[1] ?? defaultAs2d[1]]: y,\n [as[2] ?? defaultAs2d[2]]: kde2d({ x, y }, data, bandwidth)\n });\n }\n }\n return kdeResult;\n }\n\n return [];\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { MapTransformOption } from '../../types';
2
+ export declare const transform: (options: MapTransformOption, upstreamData: any[], params?: any) => any;
@@ -0,0 +1,16 @@
1
+ import { isNil } from "@visactor/vutils";
2
+
3
+ export const transform = (options, upstreamData, params) => {
4
+ const func = options.callback, as = options.as;
5
+ if (!options.all) return upstreamData.forEach((entry => {
6
+ const data = func(entry, params);
7
+ if (!isNil(as)) {
8
+ if (isNil(entry)) return;
9
+ entry[as] = data;
10
+ }
11
+ return data;
12
+ })), upstreamData;
13
+ const data = func(upstreamData, params);
14
+ return isNil(as) || isNil(upstreamData) ? data : (upstreamData[as] = data, upstreamData);
15
+ };
16
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA2B,EAAE,YAAmB,EAAE,MAAY,EAAE,EAAE;IAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAEtB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;QAChB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEjC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBACd,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;oBAChB,OAAO;iBACR;gBACD,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;aAClB;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;KACrB;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAExC,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAEA,YAAoB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAEjC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC","file":"map.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { MapTransformOption } from '../../types';\n\nexport const transform = (options: MapTransformOption, upstreamData: any[], params?: any) => {\n const func = options.callback;\n const as = options.as;\n\n if (!options.all) {\n upstreamData.forEach(entry => {\n const data = func(entry, params);\n\n if (!isNil(as)) {\n if (isNil(entry)) {\n return;\n }\n entry[as] = data;\n }\n\n return data;\n });\n\n return upstreamData;\n }\n const data = func(upstreamData, params);\n\n if (isNil(as) || isNil(upstreamData)) {\n return data;\n }\n\n (upstreamData as any)[as] = data;\n\n return upstreamData;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { PickTransformOption } from '../../types';
2
+ export declare const transform: (options: PickTransformOption, upstreamData: any[]) => any[];
@@ -0,0 +1,15 @@
1
+ import { field as getFieldAccessor } from "@visactor/vgrammar-util";
2
+
3
+ import { isString } from "@visactor/vutils";
4
+
5
+ import { fieldNames } from "../util/util";
6
+
7
+ function project(source, fields, as) {
8
+ return fields.reduce(((res, field, index) => (res[as[index]] = field(source), res)), {});
9
+ }
10
+
11
+ export const transform = (options, upstreamData) => {
12
+ const {fields: fields = []} = options, as = fieldNames(fields, options.as || []), fieldsAccessors = fields.map((field => isString(field) ? getFieldAccessor(field) : field));
13
+ return fieldsAccessors.length ? upstreamData.map(((entry, index) => project(entry, fieldsAccessors, as))) : upstreamData.map(((entry, index) => ({})));
14
+ };
15
+ //# sourceMappingURL=pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/pick.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,SAAS,OAAO,CAAC,MAAW,EAAE,MAA6B,EAAE,EAAY;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,KAA0B,EAAE,KAAa,EAAE,EAAE;QAC3E,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE/B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA4B,EAAE,YAAmB,EAAE,EAAE;IAC7E,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACzC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACzB,CAAC;IAE3B,OAAO,eAAe,CAAC,MAAM;QAC3B,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,OAAO,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC;QACJ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;AACT,CAAC,CAAC","file":"pick.js","sourcesContent":["import type { FieldGetterFunction } from '@visactor/vgrammar-util';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport { isString } from '@visactor/vutils';\nimport { fieldNames } from '../util/util';\nimport type { PickTransformOption } from '../../types';\n\nfunction project(source: any, fields: FieldGetterFunction[], as: string[]) {\n return fields.reduce((res: any, field: FieldGetterFunction, index: number) => {\n res[as[index]] = field(source);\n\n return res;\n }, {});\n}\n\nexport const transform = (options: PickTransformOption, upstreamData: any[]) => {\n const { fields = [] } = options;\n const as = fieldNames(fields, options.as || []);\n const fieldsAccessors = fields.map(field =>\n isString(field) ? getFieldAccessor(field) : field\n ) as FieldGetterFunction[];\n\n return fieldsAccessors.length\n ? upstreamData.map((entry, index) => {\n return project(entry, fieldsAccessors, as);\n })\n : upstreamData.map((entry, index) => {\n return {};\n });\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { PieTransformOption } from '../../types';
2
+ export declare const transform: (options: PieTransformOption, upstreamData: any[]) => any[];
@@ -0,0 +1,18 @@
1
+ import { computeQuadrant } from "../util/util";
2
+
3
+ export const transform = (options, upstreamData) => {
4
+ var _a, _b;
5
+ if (!upstreamData || 0 === upstreamData.length) return upstreamData;
6
+ const field = options.field, startAngle = null !== (_a = options.startAngle) && void 0 !== _a ? _a : 0, endAngle = null !== (_b = options.endAngle) && void 0 !== _b ? _b : 2 * Math.PI, {asStartAngle: asStartAngle, asEndAngle: asEndAngle, asMiddleAngle: asMiddleAngle, asRadian: asRadian, asRatio: asRatio, asQuadrant: asQuadrant, asK: asK} = options, total = upstreamData.reduce(((sum, d) => Number.parseFloat(d[field]) + sum), 0), max = upstreamData.reduce(((m, d) => Math.max(m, Number.parseFloat(d[field]))), -1 / 0), intervalAngle = endAngle - startAngle;
7
+ let lastAngle = startAngle;
8
+ const data = upstreamData.map((originDatum => {
9
+ const datum = Object.assign({}, originDatum), ratio = Number.parseFloat(datum[field]) / total, radian = ratio * intervalAngle;
10
+ return asRatio && (datum[asRatio] = ratio), asStartAngle && (datum[asStartAngle] = lastAngle),
11
+ asEndAngle && (datum[asEndAngle] = lastAngle + radian), asMiddleAngle && (datum[asMiddleAngle] = lastAngle + radian / 2),
12
+ asRadian && (datum[asRadian] = radian), asQuadrant && (datum[asQuadrant] = computeQuadrant(lastAngle + radian / 2)),
13
+ asK && (datum[asK] = Number.parseFloat(datum[field]) / max), lastAngle = datum[asEndAngle],
14
+ datum;
15
+ }));
16
+ return data[data.length - 1][asEndAngle] = endAngle, data;
17
+ };
18
+ //# sourceMappingURL=pie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/pie.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA2B,EAAE,YAAmB,EAAE,EAAE;;IAC5E,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,OAAO,YAAY,CAAC;KACrB;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAEjD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEhG,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE/F,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5C,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACtD,MAAM,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;QAErC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QACpC,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;QAClD,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;QACvD,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;QACvC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAE5D,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","file":"pie.js","sourcesContent":["import type { PieTransformOption } from '../../types';\nimport { computeQuadrant } from '../util/util';\n\nexport const transform = (options: PieTransformOption, upstreamData: any[]) => {\n if (!upstreamData || upstreamData.length === 0) {\n return upstreamData;\n }\n const field = options.field;\n const startAngle = options.startAngle ?? 0;\n const endAngle = options.endAngle ?? Math.PI * 2;\n\n const { asStartAngle, asEndAngle, asMiddleAngle, asRadian, asRatio, asQuadrant, asK } = options;\n\n const total = upstreamData.reduce((sum, d) => Number.parseFloat(d[field]) + sum, 0);\n const max = upstreamData.reduce((m, d) => Math.max(m, Number.parseFloat(d[field])), -Infinity);\n\n const intervalAngle = endAngle - startAngle;\n let lastAngle = startAngle;\n const data = upstreamData.map(originDatum => {\n const datum = Object.assign({}, originDatum);\n const ratio = Number.parseFloat(datum[field]) / total;\n const radian = ratio * intervalAngle;\n\n asRatio && (datum[asRatio] = ratio);\n asStartAngle && (datum[asStartAngle] = lastAngle);\n asEndAngle && (datum[asEndAngle] = lastAngle + radian);\n asMiddleAngle && (datum[asMiddleAngle] = lastAngle + radian / 2);\n asRadian && (datum[asRadian] = radian);\n asQuadrant && (datum[asQuadrant] = computeQuadrant(lastAngle + radian / 2));\n asK && (datum[asK] = Number.parseFloat(datum[field]) / max);\n\n lastAngle = datum[asEndAngle];\n return datum;\n });\n data[data.length - 1][asEndAngle] = endAngle;\n return data;\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import type { RangeTransformOptions } from '../../types';
2
+ export declare const transform: (options: RangeTransformOptions) => {
3
+ [x: string]: number;
4
+ }[];
@@ -0,0 +1,9 @@
1
+ import { range } from "@visactor/vutils";
2
+
3
+ export const transform = options => {
4
+ const {start: start, stop: stop, step: step = 1, as: as = "data"} = options;
5
+ return range(start, stop, step).map((val => ({
6
+ [as]: val
7
+ })));
8
+ };
9
+ //# sourceMappingURL=range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA8B,EAAE,EAAE;IAC1D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvD,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE;QAClD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","file":"range.js","sourcesContent":["import { range } from '@visactor/vutils';\nimport type { RangeTransformOptions } from '../../types';\n\nexport const transform = (options: RangeTransformOptions) => {\n const { start, stop, step = 1, as = 'data' } = options;\n\n return range(start, stop, step).map((val: number) => {\n return { [as]: val };\n });\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { SortTransformOptions } from '../../types';
2
+ export declare const transform: (options: SortTransformOptions, upstreamData: any[]) => any[];
@@ -0,0 +1,13 @@
1
+ import { compare } from "@visactor/vgrammar-util";
2
+
3
+ import { isFunction } from "@visactor/vutils";
4
+
5
+ export const transform = (options, upstreamData) => {
6
+ const sort = options.sort;
7
+ if (sort && upstreamData) {
8
+ const sortFn = isFunction(sort) ? sort : compare(sort.field, sort.order);
9
+ upstreamData.sort(((a, b) => sortFn(a, b)));
10
+ }
11
+ return upstreamData;
12
+ };
13
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA6B,EAAE,YAAmB,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,IAAI,IAAI,YAAY,EAAE;QACxB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACrD;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC","file":"sort.js","sourcesContent":["import { compare } from '@visactor/vgrammar-util';\nimport { isFunction } from '@visactor/vutils';\nimport type { SortTransformOptions } from '../../types';\n\nexport const transform = (options: SortTransformOptions, upstreamData: any[]) => {\n const sort = options.sort;\n\n if (sort && upstreamData) {\n const sortFn = isFunction(sort) ? sort : compare(sort.field, sort.order);\n\n upstreamData.sort((a: any, b: any) => sortFn(a, b));\n }\n\n return upstreamData;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { StackTransformOptions } from '../../types';
2
+ export declare const transform: (options: StackTransformOptions, upstreamData: any[]) => any[];
@@ -0,0 +1,72 @@
1
+ import { field } from "@visactor/vgrammar-util";
2
+
3
+ import { groupData } from "../../graph/mark/differ";
4
+
5
+ const stack = (options, data) => {
6
+ var _a;
7
+ const positiveValues = new Map, negativeValues = new Map, offset = null !== (_a = options.offset) && void 0 !== _a ? _a : "diverging";
8
+ return data.map((datum => {
9
+ var _a;
10
+ const dimension = datum[options.dimensionField], stackValue = "diverging" === offset ? datum[options.stackField] : Math.abs(datum[options.stackField]), map = stackValue >= 0 ? positiveValues : negativeValues, lastValue = null !== (_a = map.get(dimension)) && void 0 !== _a ? _a : 0, value = stackValue + lastValue;
11
+ return map.set(dimension, value), {
12
+ dimension: dimension,
13
+ value: stackValue,
14
+ stack: value,
15
+ prevStack: lastValue,
16
+ datum: datum
17
+ };
18
+ }));
19
+ }, silhouetteOffset = (options, data) => {
20
+ if (!data || 0 === data.length) return data;
21
+ const groupedData = groupData(data, field("dimension"));
22
+ return groupedData.keys.forEach((key => {
23
+ const dimensionData = groupedData.data.get(key);
24
+ if (!dimensionData || dimensionData.length <= 0) return 0;
25
+ const g0 = -dimensionData.reduce(((sum, entry) => sum + entry.value), 0) / 2;
26
+ dimensionData.forEach((datum => {
27
+ datum.stack = datum.stack + g0, datum.prevStack = datum.prevStack + g0;
28
+ }));
29
+ })), data;
30
+ }, wiggleOffset = (options, data) => {
31
+ if (!data || 0 === data.length) return data;
32
+ const groupedData = groupData(data, field("dimension"));
33
+ return groupedData.keys.forEach((key => {
34
+ const dimensionData = groupedData.data.get(key);
35
+ if (!dimensionData || dimensionData.length <= 0) return 0;
36
+ const n = dimensionData.length, g0 = -1 / (n + 1) * dimensionData.reduce(((sum, entry, i) => entry.value * (n - i + 1)), 0);
37
+ dimensionData.forEach((datum => {
38
+ datum.stack = datum.stack + g0, datum.prevStack = datum.prevStack + g0;
39
+ }));
40
+ })), data;
41
+ }, setFields = (options, data) => {
42
+ if (!(options.asPercentStack || options.asPrevPercentStack || options.asPercent || options.asSum)) return data.map((entry => {
43
+ var _a;
44
+ const {stack: stack, prevStack: prevStack, datum: datum} = entry, newDatum = Object.assign({}, datum);
45
+ return newDatum[null !== (_a = options.asStack) && void 0 !== _a ? _a : options.stackField] = stack,
46
+ options.asPrevStack && (newDatum[options.asPrevStack] = prevStack), newDatum;
47
+ }));
48
+ const positiveSums = new Map, negativeSums = new Map;
49
+ return data.forEach((entry => {
50
+ var _a;
51
+ const {dimension: dimension, value: value} = entry, map = value >= 0 ? positiveSums : negativeSums;
52
+ map.set(dimension, (null !== (_a = map.get(dimension)) && void 0 !== _a ? _a : 0) + value);
53
+ })), data.map((entry => {
54
+ var _a, _b;
55
+ const {dimension: dimension, value: value, stack: stack, prevStack: prevStack, datum: datum} = entry, newDatum = Object.assign({}, datum), sum = null !== (_a = (value >= 0 ? positiveSums : negativeSums).get(dimension)) && void 0 !== _a ? _a : 0;
56
+ return newDatum[null !== (_b = options.asStack) && void 0 !== _b ? _b : options.stackField] = stack,
57
+ options.asPrevStack && (newDatum[options.asPrevStack] = prevStack), options.asSum && (newDatum[options.asSum] = sum),
58
+ options.asPercent && (newDatum[options.asPercent] = 0 === sum ? 0 : value / sum),
59
+ options.asPercentStack && (newDatum[options.asPercentStack] = 0 === sum ? 0 : stack / sum),
60
+ options.asPrevPercentStack && (newDatum[options.asPrevPercentStack] = 0 === sum ? 0 : prevStack / sum),
61
+ newDatum;
62
+ }));
63
+ };
64
+
65
+ export const transform = (options, upstreamData) => {
66
+ var _a;
67
+ const offset = null !== (_a = options.offset) && void 0 !== _a ? _a : "diverging", data = "negative" === options.order ? upstreamData.slice().reverse() : upstreamData, stackedValues = stack(options, data);
68
+ "silhouette" === offset ? silhouetteOffset(0, stackedValues) : "wiggle" === offset && wiggleOffset(0, stackedValues);
69
+ const output = setFields(options, stackedValues);
70
+ return "negative" === options.order ? output.reverse() : output;
71
+ };
72
+ //# sourceMappingURL=stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/stack.ts"],"names":[],"mappings":"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","file":"stack.js","sourcesContent":["import { field } from '@visactor/vgrammar-util';\nimport { groupData } from '../../graph/mark/differ';\nimport type { StackTransformOptions } from '../../types';\n\nconst stack = (options: StackTransformOptions, data: any[]) => {\n const positiveValues = new Map<string, number>();\n const negativeValues = new Map<string, number>();\n\n const offset = options.offset ?? 'diverging';\n\n return data.map(datum => {\n const dimension = datum[options.dimensionField];\n const stackValue = offset === 'diverging' ? datum[options.stackField] : Math.abs(datum[options.stackField]);\n\n const map = stackValue >= 0 ? positiveValues : negativeValues;\n const lastValue = map.get(dimension) ?? 0;\n const value = stackValue + lastValue;\n map.set(dimension, value);\n\n return {\n dimension,\n value: stackValue,\n stack: value,\n prevStack: lastValue,\n datum\n };\n });\n};\n\nconst silhouetteOffset = (options: StackTransformOptions, data: any[]) => {\n if (!data || data.length === 0) {\n return data;\n }\n const groupedData = groupData(data, field('dimension'));\n groupedData.keys.forEach(key => {\n const dimensionData = groupedData.data.get(key);\n if (!dimensionData || dimensionData.length <= 0) {\n return 0;\n }\n // refer to Stacked Graphs – Geometry & Aesthetics by Lee Byron & Martin Wattenberg, http://leebyron.com/streamgraph/\n const g0 = -dimensionData.reduce((sum, entry) => sum + entry.value, 0) / 2;\n dimensionData.forEach(datum => {\n datum.stack = datum.stack + g0;\n datum.prevStack = datum.prevStack + g0;\n });\n });\n\n return data;\n};\n\nconst wiggleOffset = (options: StackTransformOptions, data: any[]) => {\n if (!data || data.length === 0) {\n return data;\n }\n const groupedData = groupData(data, field('dimension'));\n groupedData.keys.forEach(key => {\n const dimensionData = groupedData.data.get(key);\n if (!dimensionData || dimensionData.length <= 0) {\n return 0;\n }\n // refer to Stacked Graphs – Geometry & Aesthetics by Lee Byron & Martin Wattenberg, http://leebyron.com/streamgraph/\n const n = dimensionData.length;\n const g0 = -(1 / (n + 1)) * dimensionData.reduce((sum, entry, i) => entry.value * (n - i + 1), 0);\n dimensionData.forEach(datum => {\n datum.stack = datum.stack + g0;\n datum.prevStack = datum.prevStack + g0;\n });\n });\n\n return data;\n};\n\nconst setFields = (options: StackTransformOptions, data: any[]) => {\n const needPercent = options.asPercentStack || options.asPrevPercentStack || options.asPercent || options.asSum;\n if (!needPercent) {\n return data.map(entry => {\n const { stack, prevStack, datum } = entry;\n const newDatum = Object.assign({}, datum);\n\n newDatum[options.asStack ?? options.stackField] = stack;\n if (options.asPrevStack) {\n newDatum[options.asPrevStack] = prevStack;\n }\n\n return newDatum;\n });\n }\n\n const positiveSums = new Map<string, number>();\n const negativeSums = new Map<string, number>();\n data.forEach(entry => {\n const { dimension, value } = entry;\n const map = value >= 0 ? positiveSums : negativeSums;\n map.set(dimension, (map.get(dimension) ?? 0) + value);\n });\n\n return data.map(entry => {\n const { dimension, value, stack, prevStack, datum } = entry;\n const newDatum = Object.assign({}, datum);\n const map = value >= 0 ? positiveSums : negativeSums;\n const sum = map.get(dimension) ?? 0;\n\n newDatum[options.asStack ?? options.stackField] = stack;\n if (options.asPrevStack) {\n newDatum[options.asPrevStack] = prevStack;\n }\n\n if (options.asSum) {\n newDatum[options.asSum] = sum;\n }\n if (options.asPercent) {\n newDatum[options.asPercent] = sum === 0 ? 0 : value / sum;\n }\n if (options.asPercentStack) {\n newDatum[options.asPercentStack] = sum === 0 ? 0 : stack / sum;\n }\n if (options.asPrevPercentStack) {\n newDatum[options.asPrevPercentStack] = sum === 0 ? 0 : prevStack / sum;\n }\n\n return newDatum;\n });\n};\n\nexport const transform = (options: StackTransformOptions, upstreamData: any[]) => {\n const offset = options.offset ?? 'diverging';\n const data = options.order === 'negative' ? upstreamData.slice().reverse() : upstreamData;\n\n const stackedValues = stack(options, data);\n\n if (offset === 'silhouette') {\n silhouetteOffset(options, stackedValues);\n } else if (offset === 'wiggle') {\n wiggleOffset(options, stackedValues);\n }\n\n const output = setFields(options, stackedValues);\n\n return options.order === 'negative' ? output.reverse() : output;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { UnfoldTransformOptions } from '../../types';
2
+ export declare const transform: (options: UnfoldTransformOptions, upstreamData: any[]) => any[];
@@ -0,0 +1,45 @@
1
+ import { array } from "@visactor/vutils";
2
+
3
+ const aggregateFuncs = {
4
+ sum: arr => arr.reduce(((sum, val) => sum + val), 0),
5
+ min: arr => Math.min.apply(null, arr),
6
+ max: arr => Math.max.apply(null, arr),
7
+ count: arr => arr.length,
8
+ mean: arr => arr.reduce(((sum, val) => sum + val), 0) / arr.length
9
+ };
10
+
11
+ export const transform = (options, upstreamData) => {
12
+ var _a;
13
+ if (!upstreamData || !upstreamData.length) return [];
14
+ const res = [], groups = {}, keyField = options.keyField, valueField = options.valueField, aggregate = aggregateFuncs[null !== (_a = options.aggregateType) && void 0 !== _a ? _a : "sum"];
15
+ if (options.groupBy) {
16
+ const groupByFields = array(options.groupBy);
17
+ upstreamData.forEach((entry => {
18
+ if (!entry) return;
19
+ const datum = {}, keys = [];
20
+ groupByFields.forEach((field => {
21
+ datum[field] = entry[field], keys.push(entry[field]);
22
+ }));
23
+ const groupKey = keys.join("~");
24
+ groups[groupKey] ? groups[groupKey].values[entry[keyField]] ? groups[groupKey].values[entry[keyField]].push(entry[valueField]) : groups[groupKey].values[entry[keyField]] = [ entry[valueField] ] : groups[groupKey] = {
25
+ datum: datum,
26
+ values: {
27
+ [entry[keyField]]: [ entry[valueField] ]
28
+ }
29
+ };
30
+ }));
31
+ } else groups[0] = {
32
+ datum: {},
33
+ values: {}
34
+ }, upstreamData.forEach((entry => {
35
+ entry && (groups[0].values[entry[keyField]] ? groups[0].values[entry[keyField]].push(entry[valueField]) : groups[0].values[entry[keyField]] = [ entry[valueField] ]);
36
+ }));
37
+ return Object.keys(groups).forEach((groupKey => {
38
+ const datum = groups[groupKey].datum, values = groups[groupKey].values;
39
+ Object.keys(values).forEach((key => {
40
+ const rows = values[key];
41
+ datum[key] = aggregate(rows);
42
+ })), res.push(datum);
43
+ })), res;
44
+ };
45
+ //# sourceMappingURL=unfold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/unfold.ts"],"names":[],"mappings":"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","file":"unfold.js","sourcesContent":["import type { UnfoldTransformOptions } from '../../types';\nimport { array } from '@visactor/vutils';\n\nconst aggregateFuncs = {\n sum: (arr: number[]) => arr.reduce((sum: number, val: number) => sum + val, 0),\n min: (arr: number[]) => Math.min.apply(null, arr),\n max: (arr: number[]) => Math.max.apply(null, arr),\n count: (arr: number[]) => arr.length,\n mean: (arr: number[]) => arr.reduce((sum: number, val: number) => sum + val, 0) / arr.length\n};\n\nexport const transform = (options: UnfoldTransformOptions, upstreamData: any[]) => {\n if (!upstreamData || !upstreamData.length) {\n return [];\n }\n\n const res: any[] = [];\n const groups = {};\n const keyField = options.keyField;\n const valueField = options.valueField;\n const aggregate = aggregateFuncs[options.aggregateType ?? 'sum'];\n\n if (options.groupBy) {\n const groupByFields = array(options.groupBy);\n upstreamData.forEach((entry: any) => {\n if (!entry) {\n return;\n }\n const datum = {};\n const keys: any[] = [];\n\n groupByFields.forEach((field: string) => {\n datum[field] = entry[field];\n keys.push(entry[field]);\n });\n\n const groupKey = keys.join('~');\n\n if (groups[groupKey]) {\n if (groups[groupKey].values[entry[keyField]]) {\n groups[groupKey].values[entry[keyField]].push(entry[valueField]);\n } else {\n groups[groupKey].values[entry[keyField]] = [entry[valueField]];\n }\n } else {\n groups[groupKey] = { datum, values: { [entry[keyField]]: [entry[valueField]] } };\n }\n });\n } else {\n groups[0] = { datum: {}, values: {} };\n upstreamData.forEach((entry: any) => {\n if (!entry) {\n return;\n }\n\n if (groups[0].values[entry[keyField]]) {\n groups[0].values[entry[keyField]].push(entry[valueField]);\n } else {\n groups[0].values[entry[keyField]] = [entry[valueField]];\n }\n });\n }\n Object.keys(groups).forEach(groupKey => {\n const datum = groups[groupKey].datum;\n const values = groups[groupKey].values;\n\n Object.keys(values).forEach(key => {\n const rows = values[key];\n\n datum[key] = aggregate(rows as number[]);\n });\n\n res.push(datum);\n });\n\n return res;\n};\n"]}
@@ -0,0 +1,23 @@
1
+ export declare const registerBinTransform: () => void;
2
+ export declare const registerContourTransform: () => void;
3
+ export declare const registerSortTransform: () => void;
4
+ export declare const registerFilterTransform: () => void;
5
+ export declare const registerJoinTransform: () => void;
6
+ export declare const registerKdeTransform: () => void;
7
+ export declare const registerMapTransform: () => void;
8
+ export declare const registerPickTransform: () => void;
9
+ export declare const registerRangeTransform: () => void;
10
+ export declare const registerStackTransform: () => void;
11
+ export declare const registerFunnelTransform: () => void;
12
+ export declare const registerPieTransform: () => void;
13
+ export declare const registerCircularRelationTransform: () => void;
14
+ export declare const registerFoldTransform: () => void;
15
+ export declare const registerUnfoldTransform: () => void;
16
+ export declare const registerIdentifierTransform: () => void;
17
+ export declare const registerLttbSampleTransform: () => void;
18
+ export declare const registerMarkOverlapTransform: () => void;
19
+ export declare const registerDodgeTransform: () => void;
20
+ export declare const registerJitterTransform: () => void;
21
+ export declare const registerJitterXTransform: () => void;
22
+ export declare const registerJitterYTransform: () => void;
23
+ export declare const registerSymmetryTransform: () => void;