@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 @@
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,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.transform = void 0;
6
+
7
+ const vutils_1 = require("@visactor/vutils"), transform = (options, upstreamData, params) => {
8
+ const func = options.callback, as = options.as;
9
+ if (!options.all) return upstreamData.forEach((entry => {
10
+ const data = func(entry, params);
11
+ if (!(0, vutils_1.isNil)(as)) {
12
+ if ((0, vutils_1.isNil)(entry)) return;
13
+ entry[as] = data;
14
+ }
15
+ return data;
16
+ })), upstreamData;
17
+ const data = func(upstreamData, params);
18
+ return (0, vutils_1.isNil)(as) || (0, vutils_1.isNil)(upstreamData) ? data : (upstreamData[as] = data,
19
+ upstreamData);
20
+ };
21
+
22
+ exports.transform = transform;
23
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/map.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGlC,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,IAAA,cAAK,EAAC,EAAE,CAAC,EAAE;gBACd,IAAI,IAAA,cAAK,EAAC,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,IAAA,cAAK,EAAC,EAAE,CAAC,IAAI,IAAA,cAAK,EAAC,YAAY,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAEA,YAAoB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAEjC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AA7BW,QAAA,SAAS,aA6BpB","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,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.transform = void 0;
6
+
7
+ const vgrammar_util_1 = require("@visactor/vgrammar-util"), vutils_1 = require("@visactor/vutils"), util_1 = require("../util/util");
8
+
9
+ function project(source, fields, as) {
10
+ return fields.reduce(((res, field, index) => (res[as[index]] = field(source), res)), {});
11
+ }
12
+
13
+ const transform = (options, upstreamData) => {
14
+ const {fields: fields = []} = options, as = (0, util_1.fieldNames)(fields, options.as || []), fieldsAccessors = fields.map((field => (0,
15
+ vutils_1.isString)(field) ? (0, vgrammar_util_1.field)(field) : field));
16
+ return fieldsAccessors.length ? upstreamData.map(((entry, index) => project(entry, fieldsAccessors, as))) : upstreamData.map(((entry, index) => ({})));
17
+ };
18
+
19
+ exports.transform = transform;
20
+ //# sourceMappingURL=pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/pick.ts"],"names":[],"mappings":";;;AACA,2DAAoE;AACpE,6CAA4C;AAC5C,uCAA0C;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;AAEM,MAAM,SAAS,GAAG,CAAC,OAA4B,EAAE,YAAmB,EAAE,EAAE;IAC7E,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,GAAG,IAAA,iBAAU,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACzC,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAgB,EAAC,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;AAdW,QAAA,SAAS,aAcpB","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,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.transform = void 0;
6
+
7
+ const util_1 = require("../util/util"), transform = (options, upstreamData) => {
8
+ var _a, _b;
9
+ if (!upstreamData || 0 === upstreamData.length) return upstreamData;
10
+ 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;
11
+ let lastAngle = startAngle;
12
+ const data = upstreamData.map((originDatum => {
13
+ const datum = Object.assign({}, originDatum), ratio = Number.parseFloat(datum[field]) / total, radian = ratio * intervalAngle;
14
+ return asRatio && (datum[asRatio] = ratio), asStartAngle && (datum[asStartAngle] = lastAngle),
15
+ asEndAngle && (datum[asEndAngle] = lastAngle + radian), asMiddleAngle && (datum[asMiddleAngle] = lastAngle + radian / 2),
16
+ asRadian && (datum[asRadian] = radian), asQuadrant && (datum[asQuadrant] = (0, util_1.computeQuadrant)(lastAngle + radian / 2)),
17
+ asK && (datum[asK] = Number.parseFloat(datum[field]) / max), lastAngle = datum[asEndAngle],
18
+ datum;
19
+ }));
20
+ return data[data.length - 1][asEndAngle] = endAngle, data;
21
+ };
22
+
23
+ exports.transform = transform;
24
+ //# sourceMappingURL=pie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/pie.ts"],"names":[],"mappings":";;;AACA,uCAA+C;AAExC,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,IAAA,sBAAe,EAAC,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;AAjCW,QAAA,SAAS,aAiCpB","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,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.transform = void 0;
6
+
7
+ const vutils_1 = require("@visactor/vutils"), transform = options => {
8
+ const {start: start, stop: stop, step: step = 1, as: as = "data"} = options;
9
+ return (0, vutils_1.range)(start, stop, step).map((val => ({
10
+ [as]: val
11
+ })));
12
+ };
13
+
14
+ exports.transform = transform;
15
+ //# sourceMappingURL=range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/range.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGlC,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,IAAA,cAAK,EAAC,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;AANW,QAAA,SAAS,aAMpB","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,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.transform = void 0;
6
+
7
+ const vgrammar_util_1 = require("@visactor/vgrammar-util"), vutils_1 = require("@visactor/vutils"), transform = (options, upstreamData) => {
8
+ const sort = options.sort;
9
+ if (sort && upstreamData) {
10
+ const sortFn = (0, vutils_1.isFunction)(sort) ? sort : (0, vgrammar_util_1.compare)(sort.field, sort.order);
11
+ upstreamData.sort(((a, b) => sortFn(a, b)));
12
+ }
13
+ return upstreamData;
14
+ };
15
+
16
+ exports.transform = transform;
17
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/sort.ts"],"names":[],"mappings":";;;AAAA,2DAAkD;AAClD,6CAA8C;AAGvC,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,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAO,EAAC,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;AAVW,QAAA,SAAS,aAUpB","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,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.transform = void 0;
6
+
7
+ const vgrammar_util_1 = require("@visactor/vgrammar-util"), differ_1 = require("../../graph/mark/differ"), stack = (options, data) => {
8
+ var _a;
9
+ const positiveValues = new Map, negativeValues = new Map, offset = null !== (_a = options.offset) && void 0 !== _a ? _a : "diverging";
10
+ return data.map((datum => {
11
+ var _a;
12
+ 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;
13
+ return map.set(dimension, value), {
14
+ dimension: dimension,
15
+ value: stackValue,
16
+ stack: value,
17
+ prevStack: lastValue,
18
+ datum: datum
19
+ };
20
+ }));
21
+ }, silhouetteOffset = (options, data) => {
22
+ if (!data || 0 === data.length) return data;
23
+ const groupedData = (0, differ_1.groupData)(data, (0, vgrammar_util_1.field)("dimension"));
24
+ return groupedData.keys.forEach((key => {
25
+ const dimensionData = groupedData.data.get(key);
26
+ if (!dimensionData || dimensionData.length <= 0) return 0;
27
+ const g0 = -dimensionData.reduce(((sum, entry) => sum + entry.value), 0) / 2;
28
+ dimensionData.forEach((datum => {
29
+ datum.stack = datum.stack + g0, datum.prevStack = datum.prevStack + g0;
30
+ }));
31
+ })), data;
32
+ }, wiggleOffset = (options, data) => {
33
+ if (!data || 0 === data.length) return data;
34
+ const groupedData = (0, differ_1.groupData)(data, (0, vgrammar_util_1.field)("dimension"));
35
+ return groupedData.keys.forEach((key => {
36
+ const dimensionData = groupedData.data.get(key);
37
+ if (!dimensionData || dimensionData.length <= 0) return 0;
38
+ const n = dimensionData.length, g0 = -1 / (n + 1) * dimensionData.reduce(((sum, entry, i) => entry.value * (n - i + 1)), 0);
39
+ dimensionData.forEach((datum => {
40
+ datum.stack = datum.stack + g0, datum.prevStack = datum.prevStack + g0;
41
+ }));
42
+ })), data;
43
+ }, setFields = (options, data) => {
44
+ if (!(options.asPercentStack || options.asPrevPercentStack || options.asPercent || options.asSum)) return data.map((entry => {
45
+ var _a;
46
+ const {stack: stack, prevStack: prevStack, datum: datum} = entry, newDatum = Object.assign({}, datum);
47
+ return newDatum[null !== (_a = options.asStack) && void 0 !== _a ? _a : options.stackField] = stack,
48
+ options.asPrevStack && (newDatum[options.asPrevStack] = prevStack), newDatum;
49
+ }));
50
+ const positiveSums = new Map, negativeSums = new Map;
51
+ return data.forEach((entry => {
52
+ var _a;
53
+ const {dimension: dimension, value: value} = entry, map = value >= 0 ? positiveSums : negativeSums;
54
+ map.set(dimension, (null !== (_a = map.get(dimension)) && void 0 !== _a ? _a : 0) + value);
55
+ })), data.map((entry => {
56
+ var _a, _b;
57
+ 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;
58
+ return newDatum[null !== (_b = options.asStack) && void 0 !== _b ? _b : options.stackField] = stack,
59
+ options.asPrevStack && (newDatum[options.asPrevStack] = prevStack), options.asSum && (newDatum[options.asSum] = sum),
60
+ options.asPercent && (newDatum[options.asPercent] = 0 === sum ? 0 : value / sum),
61
+ options.asPercentStack && (newDatum[options.asPercentStack] = 0 === sum ? 0 : stack / sum),
62
+ options.asPrevPercentStack && (newDatum[options.asPrevPercentStack] = 0 === sum ? 0 : prevStack / sum),
63
+ newDatum;
64
+ }));
65
+ }, 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
+
73
+ exports.transform = transform;
74
+ //# sourceMappingURL=stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/data/stack.ts"],"names":[],"mappings":";;;AAAA,2DAAgD;AAChD,oDAAoD;AAGpD,MAAM,KAAK,GAAG,CAAC,OAA8B,EAAE,IAAW,EAAE,EAAE;;IAC5D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,WAAW,CAAC;IAE7C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAE5G,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC9D,MAAM,SAAS,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;QACrC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE1B,OAAO;YACL,SAAS;YACT,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,SAAS;YACpB,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAA8B,EAAE,IAAW,EAAE,EAAE;IACvE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,MAAM,WAAW,GAAG,IAAA,kBAAS,EAAC,IAAI,EAAE,IAAA,qBAAK,EAAC,WAAW,CAAC,CAAC,CAAC;IACxD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/C,OAAO,CAAC,CAAC;SACV;QAED,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3E,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAA8B,EAAE,IAAW,EAAE,EAAE;IACnE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,MAAM,WAAW,GAAG,IAAA,kBAAS,EAAC,IAAI,EAAE,IAAA,qBAAK,EAAC,WAAW,CAAC,CAAC,CAAC;IACxD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/C,OAAO,CAAC,CAAC;SACV;QAED,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,OAA8B,EAAE,IAAW,EAAE,EAAE;IAChE,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC;IAC/G,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;YACtB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAE1C,QAAQ,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YACxD,IAAI,OAAO,CAAC,WAAW,EAAE;gBACvB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;aAC3C;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;QACnB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACnC,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,MAAA,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;QACtB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QACrD,MAAM,GAAG,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,CAAC,CAAC;QAEpC,QAAQ,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QACxD,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;SAC3C;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SAC/B;QACD,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;SAC3D;QACD,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;SAChE;QACD,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC9B,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;SACxE;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAA8B,EAAE,YAAmB,EAAE,EAAE;;IAC/E,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,WAAW,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAE1F,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE3C,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KAC1C;SAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;QAC9B,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KACtC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEjD,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAClE,CAAC,CAAC;AAfW,QAAA,SAAS,aAepB","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,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.transform = void 0;
6
+
7
+ const vutils_1 = require("@visactor/vutils"), aggregateFuncs = {
8
+ sum: arr => arr.reduce(((sum, val) => sum + val), 0),
9
+ min: arr => Math.min.apply(null, arr),
10
+ max: arr => Math.max.apply(null, arr),
11
+ count: arr => arr.length,
12
+ mean: arr => arr.reduce(((sum, val) => sum + val), 0) / arr.length
13
+ }, transform = (options, upstreamData) => {
14
+ var _a;
15
+ if (!upstreamData || !upstreamData.length) return [];
16
+ const res = [], groups = {}, keyField = options.keyField, valueField = options.valueField, aggregate = aggregateFuncs[null !== (_a = options.aggregateType) && void 0 !== _a ? _a : "sum"];
17
+ if (options.groupBy) {
18
+ const groupByFields = (0, vutils_1.array)(options.groupBy);
19
+ upstreamData.forEach((entry => {
20
+ if (!entry) return;
21
+ const datum = {}, keys = [];
22
+ groupByFields.forEach((field => {
23
+ datum[field] = entry[field], keys.push(entry[field]);
24
+ }));
25
+ const groupKey = keys.join("~");
26
+ groups[groupKey] ? groups[groupKey].values[entry[keyField]] ? groups[groupKey].values[entry[keyField]].push(entry[valueField]) : groups[groupKey].values[entry[keyField]] = [ entry[valueField] ] : groups[groupKey] = {
27
+ datum: datum,
28
+ values: {
29
+ [entry[keyField]]: [ entry[valueField] ]
30
+ }
31
+ };
32
+ }));
33
+ } else groups[0] = {
34
+ datum: {},
35
+ values: {}
36
+ }, upstreamData.forEach((entry => {
37
+ entry && (groups[0].values[entry[keyField]] ? groups[0].values[entry[keyField]].push(entry[valueField]) : groups[0].values[entry[keyField]] = [ entry[valueField] ]);
38
+ }));
39
+ return Object.keys(groups).forEach((groupKey => {
40
+ const datum = groups[groupKey].datum, values = groups[groupKey].values;
41
+ Object.keys(values).forEach((key => {
42
+ const rows = values[key];
43
+ datum[key] = aggregate(rows);
44
+ })), res.push(datum);
45
+ })), res;
46
+ };
47
+
48
+ exports.transform = transform;
49
+ //# 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;
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.registerSymmetryTransform = exports.registerJitterYTransform = exports.registerJitterXTransform = exports.registerJitterTransform = exports.registerDodgeTransform = exports.registerMarkOverlapTransform = exports.registerLttbSampleTransform = exports.registerIdentifierTransform = exports.registerUnfoldTransform = exports.registerFoldTransform = exports.registerCircularRelationTransform = exports.registerPieTransform = exports.registerFunnelTransform = exports.registerStackTransform = exports.registerRangeTransform = exports.registerPickTransform = exports.registerMapTransform = exports.registerKdeTransform = exports.registerJoinTransform = exports.registerFilterTransform = exports.registerSortTransform = exports.registerContourTransform = exports.registerBinTransform = void 0;
6
+
7
+ const bin_1 = require("./data/bin"), contour_1 = require("./data/contour"), sort_1 = require("./data/sort"), filter_1 = require("./data/filter"), map_1 = require("./data/map"), kde_1 = require("./data/kde"), join_1 = require("./data/join"), pick_1 = require("./data/pick"), range_1 = require("./data/range"), stack_1 = require("./data/stack"), fold_1 = require("./data/fold"), unfold_1 = require("./data/unfold"), funnel_1 = require("./data/funnel"), pie_1 = require("./data/pie"), circular_relation_1 = require("./data/circular-relation"), lttb_sample_1 = require("./mark/lttb-sample"), mark_overlap_1 = require("./mark/mark-overlap"), identifier_1 = require("./view/identifier"), dodge_1 = require("./mark/dodge"), jitter_1 = require("./mark/jitter"), symmetry_1 = require("./mark/symmetry"), factory_1 = require("../core/factory"), registerBinTransform = () => {
8
+ factory_1.Factory.registerTransform("bin", {
9
+ transform: bin_1.transform,
10
+ markPhase: "beforeJoin"
11
+ }, !0);
12
+ };
13
+
14
+ exports.registerBinTransform = registerBinTransform;
15
+
16
+ const registerContourTransform = () => {
17
+ factory_1.Factory.registerTransform("contour", {
18
+ transform: contour_1.transform,
19
+ markPhase: "beforeJoin"
20
+ }, !0);
21
+ };
22
+
23
+ exports.registerContourTransform = registerContourTransform;
24
+
25
+ const registerSortTransform = () => {
26
+ factory_1.Factory.registerTransform("sort", {
27
+ transform: sort_1.transform,
28
+ markPhase: "beforeJoin"
29
+ }, !0);
30
+ };
31
+
32
+ exports.registerSortTransform = registerSortTransform;
33
+
34
+ const registerFilterTransform = () => {
35
+ factory_1.Factory.registerTransform("filter", {
36
+ transform: filter_1.transform,
37
+ markPhase: "beforeJoin"
38
+ }, !0);
39
+ };
40
+
41
+ exports.registerFilterTransform = registerFilterTransform;
42
+
43
+ const registerJoinTransform = () => {
44
+ factory_1.Factory.registerTransform("join", {
45
+ transform: join_1.transform,
46
+ markPhase: "beforeJoin"
47
+ }, !0);
48
+ };
49
+
50
+ exports.registerJoinTransform = registerJoinTransform;
51
+
52
+ const registerKdeTransform = () => {
53
+ factory_1.Factory.registerTransform("kde", {
54
+ transform: kde_1.transform,
55
+ markPhase: "beforeJoin"
56
+ }, !0);
57
+ };
58
+
59
+ exports.registerKdeTransform = registerKdeTransform;
60
+
61
+ const registerMapTransform = () => {
62
+ factory_1.Factory.registerTransform("map", {
63
+ transform: map_1.transform,
64
+ markPhase: "beforeJoin"
65
+ }, !0);
66
+ };
67
+
68
+ exports.registerMapTransform = registerMapTransform;
69
+
70
+ const registerPickTransform = () => {
71
+ factory_1.Factory.registerTransform("pick", {
72
+ transform: pick_1.transform,
73
+ markPhase: "beforeJoin"
74
+ }, !0);
75
+ };
76
+
77
+ exports.registerPickTransform = registerPickTransform;
78
+
79
+ const registerRangeTransform = () => {
80
+ factory_1.Factory.registerTransform("range", {
81
+ transform: range_1.transform,
82
+ markPhase: "beforeJoin"
83
+ }, !0);
84
+ };
85
+
86
+ exports.registerRangeTransform = registerRangeTransform;
87
+
88
+ const registerStackTransform = () => {
89
+ factory_1.Factory.registerTransform("stack", {
90
+ transform: stack_1.transform,
91
+ markPhase: "beforeJoin"
92
+ }, !0);
93
+ };
94
+
95
+ exports.registerStackTransform = registerStackTransform;
96
+
97
+ const registerFunnelTransform = () => {
98
+ factory_1.Factory.registerTransform("funnel", {
99
+ transform: funnel_1.transform,
100
+ markPhase: "beforeJoin"
101
+ }, !0);
102
+ };
103
+
104
+ exports.registerFunnelTransform = registerFunnelTransform;
105
+
106
+ const registerPieTransform = () => {
107
+ factory_1.Factory.registerTransform("pie", {
108
+ transform: pie_1.transform,
109
+ markPhase: "beforeJoin"
110
+ }, !0);
111
+ };
112
+
113
+ exports.registerPieTransform = registerPieTransform;
114
+
115
+ const registerCircularRelationTransform = () => {
116
+ factory_1.Factory.registerTransform("circularRelation", {
117
+ transform: circular_relation_1.transform,
118
+ markPhase: "beforeJoin"
119
+ }, !0);
120
+ };
121
+
122
+ exports.registerCircularRelationTransform = registerCircularRelationTransform;
123
+
124
+ const registerFoldTransform = () => {
125
+ factory_1.Factory.registerTransform("fold", {
126
+ transform: fold_1.transform,
127
+ markPhase: "beforeJoin"
128
+ }, !0);
129
+ };
130
+
131
+ exports.registerFoldTransform = registerFoldTransform;
132
+
133
+ const registerUnfoldTransform = () => {
134
+ factory_1.Factory.registerTransform("unfold", {
135
+ transform: unfold_1.transform,
136
+ markPhase: "beforeJoin"
137
+ }, !0);
138
+ };
139
+
140
+ exports.registerUnfoldTransform = registerUnfoldTransform;
141
+
142
+ const registerIdentifierTransform = () => {
143
+ factory_1.Factory.registerTransform("identifier", {
144
+ transform: identifier_1.transform,
145
+ markPhase: "beforeJoin"
146
+ }, !0);
147
+ };
148
+
149
+ exports.registerIdentifierTransform = registerIdentifierTransform;
150
+
151
+ const registerLttbSampleTransform = () => {
152
+ factory_1.Factory.registerTransform("lttbsample", {
153
+ transform: lttb_sample_1.transform,
154
+ markPhase: "afterEncode"
155
+ }, !0);
156
+ };
157
+
158
+ exports.registerLttbSampleTransform = registerLttbSampleTransform;
159
+
160
+ const registerMarkOverlapTransform = () => {
161
+ factory_1.Factory.registerTransform("markoverlap", {
162
+ transform: mark_overlap_1.transform,
163
+ markPhase: "afterEncode"
164
+ }, !0);
165
+ };
166
+
167
+ exports.registerMarkOverlapTransform = registerMarkOverlapTransform;
168
+
169
+ const registerDodgeTransform = () => {
170
+ factory_1.Factory.registerTransform("dodge", {
171
+ transform: dodge_1.transform,
172
+ markPhase: "afterEncodeItems"
173
+ }, !0);
174
+ };
175
+
176
+ exports.registerDodgeTransform = registerDodgeTransform;
177
+
178
+ const registerJitterTransform = () => {
179
+ factory_1.Factory.registerTransform("jitter", {
180
+ transform: jitter_1.transform,
181
+ markPhase: "afterEncodeItems"
182
+ }, !0);
183
+ };
184
+
185
+ exports.registerJitterTransform = registerJitterTransform;
186
+
187
+ const registerJitterXTransform = () => {
188
+ factory_1.Factory.registerTransform("jitterX", {
189
+ transform: jitter_1.jitterX,
190
+ markPhase: "afterEncodeItems"
191
+ }, !0);
192
+ };
193
+
194
+ exports.registerJitterXTransform = registerJitterXTransform;
195
+
196
+ const registerJitterYTransform = () => {
197
+ factory_1.Factory.registerTransform("jitterY", {
198
+ transform: jitter_1.jitterY,
199
+ markPhase: "afterEncodeItems"
200
+ }, !0);
201
+ };
202
+
203
+ exports.registerJitterYTransform = registerJitterYTransform;
204
+
205
+ const registerSymmetryTransform = () => {
206
+ factory_1.Factory.registerTransform("symmetry", {
207
+ transform: symmetry_1.symmetry,
208
+ markPhase: "afterEncodeItems"
209
+ }, !0);
210
+ };
211
+
212
+ exports.registerSymmetryTransform = registerSymmetryTransform;
213
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transforms/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { transform as binTransform } from './data/bin';\nimport { transform as contourTransform } from './data/contour';\nimport { transform as sortTransform } from './data/sort';\nimport { transform as filterTransform } from './data/filter';\nimport { transform as mapTransform } from './data/map';\nimport { transform as kdeTransform } from './data/kde';\nimport { transform as joinTransform } from './data/join';\nimport { transform as pickTransform } from './data/pick';\nimport { transform as rangeTransform } from './data/range';\nimport { transform as stackTransform } from './data/stack';\nimport { transform as foldTransform } from './data/fold';\nimport { transform as unfoldTransform } from './data/unfold';\n\nimport { transform as funnelTransform } from './data/funnel';\nimport { transform as pieTransform } from './data/pie';\nimport { transform as circularRelationTransform } from './data/circular-relation';\n\nimport { transform as lttbsampleTransform } from './mark/lttb-sample';\nimport { transform as markoverlapTransform } from './mark/mark-overlap';\n\nimport { transform as identifierTransform } from './view/identifier';\n\nimport { transform as dodgeTransform } from './mark/dodge';\nimport { transform as jitterTransform, jitterX as jitterXTransform, jitterY as jitterYTransform } from './mark/jitter';\nimport { symmetry as symmetryTransform } from './mark/symmetry';\nimport { Factory } from '../core/factory';\nimport type { ITransform } from '../types';\n\nexport const registerBinTransform = () => {\n Factory.registerTransform(\n 'bin',\n { transform: binTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerContourTransform = () => {\n Factory.registerTransform(\n 'contour',\n { transform: contourTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerSortTransform = () => {\n Factory.registerTransform(\n 'sort',\n { transform: sortTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerFilterTransform = () => {\n Factory.registerTransform(\n 'filter',\n { transform: filterTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerJoinTransform = () => {\n Factory.registerTransform(\n 'join',\n { transform: joinTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerKdeTransform = () => {\n Factory.registerTransform(\n 'kde',\n { transform: kdeTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerMapTransform = () => {\n Factory.registerTransform(\n 'map',\n { transform: mapTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerPickTransform = () => {\n Factory.registerTransform(\n 'pick',\n { transform: pickTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerRangeTransform = () => {\n Factory.registerTransform(\n 'range',\n { transform: rangeTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerStackTransform = () => {\n Factory.registerTransform(\n 'stack',\n { transform: stackTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerFunnelTransform = () => {\n Factory.registerTransform(\n 'funnel',\n { transform: funnelTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerPieTransform = () => {\n Factory.registerTransform(\n 'pie',\n { transform: pieTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerCircularRelationTransform = () => {\n Factory.registerTransform(\n 'circularRelation',\n { transform: circularRelationTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerFoldTransform = () => {\n Factory.registerTransform(\n 'fold',\n { transform: foldTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerUnfoldTransform = () => {\n Factory.registerTransform(\n 'unfold',\n { transform: unfoldTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerIdentifierTransform = () => {\n Factory.registerTransform(\n 'identifier',\n { transform: identifierTransform, markPhase: 'beforeJoin' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerLttbSampleTransform = () => {\n Factory.registerTransform(\n 'lttbsample',\n { transform: lttbsampleTransform, markPhase: 'afterEncode' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerMarkOverlapTransform = () => {\n Factory.registerTransform(\n 'markoverlap',\n { transform: markoverlapTransform, markPhase: 'afterEncode' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerDodgeTransform = () => {\n Factory.registerTransform(\n 'dodge',\n { transform: dodgeTransform, markPhase: 'afterEncodeItems' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerJitterTransform = () => {\n Factory.registerTransform(\n 'jitter',\n { transform: jitterTransform, markPhase: 'afterEncodeItems' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerJitterXTransform = () => {\n Factory.registerTransform(\n 'jitterX',\n { transform: jitterXTransform, markPhase: 'afterEncodeItems' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerJitterYTransform = () => {\n Factory.registerTransform(\n 'jitterY',\n { transform: jitterYTransform, markPhase: 'afterEncodeItems' } as Omit<ITransform, 'type'>,\n true\n );\n};\n\nexport const registerSymmetryTransform = () => {\n Factory.registerTransform(\n 'symmetry',\n { transform: symmetryTransform, markPhase: 'afterEncodeItems' } as Omit<ITransform, 'type'>,\n true\n );\n};\n"]}