@veritone-ce/design-system 2.9.0-next.2 → 2.9.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (629) hide show
  1. package/dist/cjs/bundled_modules/d3-array/src/ascending.js +9 -0
  2. package/dist/cjs/bundled_modules/d3-array/src/bisect.js +16 -0
  3. package/dist/cjs/bundled_modules/d3-array/src/bisector.js +62 -0
  4. package/dist/cjs/bundled_modules/d3-array/src/descending.js +13 -0
  5. package/dist/cjs/bundled_modules/d3-array/src/deviation.js +12 -0
  6. package/dist/cjs/bundled_modules/d3-array/src/fsum.js +45 -0
  7. package/dist/cjs/bundled_modules/d3-array/src/intersection.js +25 -0
  8. package/dist/cjs/bundled_modules/d3-array/src/max.js +26 -0
  9. package/dist/cjs/bundled_modules/d3-array/src/mean.js +25 -0
  10. package/dist/cjs/bundled_modules/d3-array/src/median.js +11 -0
  11. package/dist/cjs/bundled_modules/d3-array/src/merge.js +15 -0
  12. package/dist/cjs/bundled_modules/d3-array/src/min.js +26 -0
  13. package/dist/cjs/bundled_modules/d3-array/src/number.js +27 -0
  14. package/dist/cjs/bundled_modules/d3-array/src/permute.js +9 -0
  15. package/dist/cjs/bundled_modules/d3-array/src/quantile.js +36 -0
  16. package/dist/cjs/bundled_modules/d3-array/src/quickselect.js +59 -0
  17. package/dist/cjs/bundled_modules/d3-array/src/range.js +19 -0
  18. package/dist/cjs/bundled_modules/d3-array/src/sort.js +20 -0
  19. package/dist/cjs/bundled_modules/d3-array/src/sum.js +17 -0
  20. package/dist/cjs/bundled_modules/d3-array/src/ticks.js +63 -0
  21. package/dist/cjs/bundled_modules/d3-array/src/union.js +17 -0
  22. package/dist/cjs/bundled_modules/d3-array/src/variance.js +31 -0
  23. package/dist/cjs/bundled_modules/d3-color/src/color.js +410 -0
  24. package/dist/cjs/bundled_modules/d3-color/src/cubehelix.js +68 -0
  25. package/dist/cjs/bundled_modules/d3-color/src/define.js +17 -0
  26. package/dist/cjs/bundled_modules/d3-color/src/lab.js +124 -0
  27. package/dist/cjs/bundled_modules/d3-color/src/math.js +7 -0
  28. package/dist/cjs/bundled_modules/d3-delaunay/src/delaunay.js +254 -0
  29. package/dist/cjs/bundled_modules/d3-delaunay/src/path.js +43 -0
  30. package/dist/cjs/bundled_modules/d3-delaunay/src/polygon.js +23 -0
  31. package/dist/cjs/bundled_modules/d3-delaunay/src/voronoi.js +338 -0
  32. package/dist/cjs/bundled_modules/d3-dispatch/src/dispatch.js +88 -0
  33. package/dist/cjs/bundled_modules/d3-dsv/src/dsv.js +170 -0
  34. package/dist/cjs/bundled_modules/d3-force/src/center.js +46 -0
  35. package/dist/cjs/bundled_modules/d3-force/src/collide.js +106 -0
  36. package/dist/cjs/bundled_modules/d3-force/src/constant.js +11 -0
  37. package/dist/cjs/bundled_modules/d3-force/src/jiggle.js +9 -0
  38. package/dist/cjs/bundled_modules/d3-force/src/lcg.js +15 -0
  39. package/dist/cjs/bundled_modules/d3-force/src/link.js +123 -0
  40. package/dist/cjs/bundled_modules/d3-force/src/manyBody.js +122 -0
  41. package/dist/cjs/bundled_modules/d3-force/src/simulation.js +164 -0
  42. package/dist/cjs/bundled_modules/d3-force/src/x.js +47 -0
  43. package/dist/cjs/bundled_modules/d3-force/src/y.js +47 -0
  44. package/dist/cjs/bundled_modules/d3-format/src/defaultLocale.js +24 -0
  45. package/dist/cjs/bundled_modules/d3-format/src/exponent.js +11 -0
  46. package/dist/cjs/bundled_modules/d3-format/src/formatDecimal.js +27 -0
  47. package/dist/cjs/bundled_modules/d3-format/src/formatGroup.js +24 -0
  48. package/dist/cjs/bundled_modules/d3-format/src/formatNumerals.js +13 -0
  49. package/dist/cjs/bundled_modules/d3-format/src/formatPrefixAuto.js +22 -0
  50. package/dist/cjs/bundled_modules/d3-format/src/formatRounded.js +17 -0
  51. package/dist/cjs/bundled_modules/d3-format/src/formatSpecifier.js +54 -0
  52. package/dist/cjs/bundled_modules/d3-format/src/formatTrim.js +17 -0
  53. package/dist/cjs/bundled_modules/d3-format/src/formatTypes.js +25 -0
  54. package/dist/cjs/bundled_modules/d3-format/src/identity.js +9 -0
  55. package/dist/cjs/bundled_modules/d3-format/src/locale.js +154 -0
  56. package/dist/cjs/bundled_modules/d3-format/src/precisionFixed.js +11 -0
  57. package/dist/cjs/bundled_modules/d3-format/src/precisionPrefix.js +11 -0
  58. package/dist/cjs/bundled_modules/d3-format/src/precisionRound.js +12 -0
  59. package/dist/cjs/bundled_modules/d3-geo/src/area.js +83 -0
  60. package/dist/cjs/bundled_modules/d3-geo/src/bounds.js +185 -0
  61. package/dist/cjs/bundled_modules/d3-geo/src/cartesian.js +43 -0
  62. package/dist/cjs/bundled_modules/d3-geo/src/centroid.js +149 -0
  63. package/dist/cjs/bundled_modules/d3-geo/src/circle.js +35 -0
  64. package/dist/cjs/bundled_modules/d3-geo/src/clip/antimeridian.js +98 -0
  65. package/dist/cjs/bundled_modules/d3-geo/src/clip/buffer.js +30 -0
  66. package/dist/cjs/bundled_modules/d3-geo/src/clip/circle.js +183 -0
  67. package/dist/cjs/bundled_modules/d3-geo/src/clip/index.js +137 -0
  68. package/dist/cjs/bundled_modules/d3-geo/src/clip/line.js +65 -0
  69. package/dist/cjs/bundled_modules/d3-geo/src/clip/rectangle.js +174 -0
  70. package/dist/cjs/bundled_modules/d3-geo/src/clip/rejoin.js +109 -0
  71. package/dist/cjs/bundled_modules/d3-geo/src/compose.js +18 -0
  72. package/dist/cjs/bundled_modules/d3-geo/src/graticule.js +107 -0
  73. package/dist/cjs/bundled_modules/d3-geo/src/identity.js +7 -0
  74. package/dist/cjs/bundled_modules/d3-geo/src/math.js +57 -0
  75. package/dist/cjs/bundled_modules/d3-geo/src/noop.js +7 -0
  76. package/dist/cjs/bundled_modules/d3-geo/src/path/area.js +54 -0
  77. package/dist/cjs/bundled_modules/d3-geo/src/path/bounds.js +32 -0
  78. package/dist/cjs/bundled_modules/d3-geo/src/path/centroid.js +104 -0
  79. package/dist/cjs/bundled_modules/d3-geo/src/path/context.js +51 -0
  80. package/dist/cjs/bundled_modules/d3-geo/src/path/index.js +82 -0
  81. package/dist/cjs/bundled_modules/d3-geo/src/path/measure.js +49 -0
  82. package/dist/cjs/bundled_modules/d3-geo/src/path/string.js +92 -0
  83. package/dist/cjs/bundled_modules/d3-geo/src/pointEqual.js +11 -0
  84. package/dist/cjs/bundled_modules/d3-geo/src/polygonContains.js +80 -0
  85. package/dist/cjs/bundled_modules/d3-geo/src/projection/albers.js +16 -0
  86. package/dist/cjs/bundled_modules/d3-geo/src/projection/albersUsa.js +117 -0
  87. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthal.js +32 -0
  88. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthalEqualArea.js +24 -0
  89. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthalEquidistant.js +24 -0
  90. package/dist/cjs/bundled_modules/d3-geo/src/projection/conic.js +19 -0
  91. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicConformal.js +45 -0
  92. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicEqualArea.js +40 -0
  93. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicEquidistant.js +39 -0
  94. package/dist/cjs/bundled_modules/d3-geo/src/projection/cylindricalEqualArea.js +19 -0
  95. package/dist/cjs/bundled_modules/d3-geo/src/projection/equalEarth.js +43 -0
  96. package/dist/cjs/bundled_modules/d3-geo/src/projection/equirectangular.js +19 -0
  97. package/dist/cjs/bundled_modules/d3-geo/src/projection/fit.js +54 -0
  98. package/dist/cjs/bundled_modules/d3-geo/src/projection/gnomonic.js +23 -0
  99. package/dist/cjs/bundled_modules/d3-geo/src/projection/identity.js +91 -0
  100. package/dist/cjs/bundled_modules/d3-geo/src/projection/index.js +184 -0
  101. package/dist/cjs/bundled_modules/d3-geo/src/projection/mercator.js +60 -0
  102. package/dist/cjs/bundled_modules/d3-geo/src/projection/naturalEarth1.js +35 -0
  103. package/dist/cjs/bundled_modules/d3-geo/src/projection/orthographic.js +22 -0
  104. package/dist/cjs/bundled_modules/d3-geo/src/projection/resample.js +108 -0
  105. package/dist/cjs/bundled_modules/d3-geo/src/projection/stereographic.js +25 -0
  106. package/dist/cjs/bundled_modules/d3-geo/src/projection/transverseMercator.js +34 -0
  107. package/dist/cjs/bundled_modules/d3-geo/src/rotation.js +86 -0
  108. package/dist/cjs/bundled_modules/d3-geo/src/stream.js +75 -0
  109. package/dist/cjs/bundled_modules/d3-geo/src/transform.js +24 -0
  110. package/dist/cjs/bundled_modules/d3-geo-projection/src/math.js +28 -0
  111. package/dist/cjs/bundled_modules/d3-geo-projection/src/mollweide.js +38 -0
  112. package/dist/cjs/bundled_modules/d3-hierarchy/src/accessors.js +13 -0
  113. package/dist/cjs/bundled_modules/d3-hierarchy/src/array.js +27 -0
  114. package/dist/cjs/bundled_modules/d3-hierarchy/src/cluster.js +90 -0
  115. package/dist/cjs/bundled_modules/d3-hierarchy/src/constant.js +16 -0
  116. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/ancestors.js +13 -0
  117. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/count.js +18 -0
  118. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/descendants.js +9 -0
  119. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/each.js +13 -0
  120. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/eachAfter.js +21 -0
  121. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/eachBefore.js +18 -0
  122. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/find.js +14 -0
  123. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/index.js +99 -0
  124. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/iterator.js +20 -0
  125. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/leaves.js +15 -0
  126. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/links.js +15 -0
  127. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/path.js +36 -0
  128. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/sort.js +13 -0
  129. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/sum.js +15 -0
  130. package/dist/cjs/bundled_modules/d3-hierarchy/src/lcg.js +15 -0
  131. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/enclose.js +122 -0
  132. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/index.js +87 -0
  133. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/siblings.js +118 -0
  134. package/dist/cjs/bundled_modules/d3-hierarchy/src/partition.js +58 -0
  135. package/dist/cjs/bundled_modules/d3-hierarchy/src/stratify.js +151 -0
  136. package/dist/cjs/bundled_modules/d3-hierarchy/src/tree.js +243 -0
  137. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/binary.js +52 -0
  138. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/dice.js +18 -0
  139. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/index.js +100 -0
  140. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/resquarify.js +42 -0
  141. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/round.js +12 -0
  142. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/slice.js +18 -0
  143. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/sliceDice.js +12 -0
  144. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/squarify.js +74 -0
  145. package/dist/cjs/bundled_modules/d3-interpolate/src/array.js +29 -0
  146. package/dist/cjs/bundled_modules/d3-interpolate/src/basis.js +26 -0
  147. package/dist/cjs/bundled_modules/d3-interpolate/src/basisClosed.js +19 -0
  148. package/dist/cjs/bundled_modules/d3-interpolate/src/color.js +37 -0
  149. package/dist/cjs/bundled_modules/d3-interpolate/src/constant.js +7 -0
  150. package/dist/cjs/bundled_modules/d3-interpolate/src/cubehelix.js +36 -0
  151. package/dist/cjs/bundled_modules/d3-interpolate/src/date.js +12 -0
  152. package/dist/cjs/bundled_modules/d3-interpolate/src/discrete.js +12 -0
  153. package/dist/cjs/bundled_modules/d3-interpolate/src/hcl.js +28 -0
  154. package/dist/cjs/bundled_modules/d3-interpolate/src/hsl.js +28 -0
  155. package/dist/cjs/bundled_modules/d3-interpolate/src/hue.js +15 -0
  156. package/dist/cjs/bundled_modules/d3-interpolate/src/index.js +53 -0
  157. package/dist/cjs/bundled_modules/d3-interpolate/src/lab.js +22 -0
  158. package/dist/cjs/bundled_modules/d3-interpolate/src/number.js +11 -0
  159. package/dist/cjs/bundled_modules/d3-interpolate/src/numberArray.js +21 -0
  160. package/dist/cjs/bundled_modules/d3-interpolate/src/object.js +29 -0
  161. package/dist/cjs/bundled_modules/d3-interpolate/src/piecewise.js +17 -0
  162. package/dist/cjs/bundled_modules/d3-interpolate/src/quantize.js +11 -0
  163. package/dist/cjs/bundled_modules/d3-interpolate/src/rgb.js +63 -0
  164. package/dist/cjs/bundled_modules/d3-interpolate/src/round.js +11 -0
  165. package/dist/cjs/bundled_modules/d3-interpolate/src/string.js +70 -0
  166. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/decompose.js +33 -0
  167. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/index.js +68 -0
  168. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/parse.js +23 -0
  169. package/dist/cjs/bundled_modules/d3-interpolate/src/value.js +28 -0
  170. package/dist/cjs/bundled_modules/d3-interpolate/src/zoom.js +77 -0
  171. package/dist/cjs/bundled_modules/d3-path/src/path.js +157 -0
  172. package/dist/cjs/bundled_modules/d3-quadtree/src/add.js +91 -0
  173. package/dist/cjs/bundled_modules/d3-quadtree/src/cover.js +49 -0
  174. package/dist/cjs/bundled_modules/d3-quadtree/src/data.js +13 -0
  175. package/dist/cjs/bundled_modules/d3-quadtree/src/extent.js +11 -0
  176. package/dist/cjs/bundled_modules/d3-quadtree/src/find.js +76 -0
  177. package/dist/cjs/bundled_modules/d3-quadtree/src/quad.js +13 -0
  178. package/dist/cjs/bundled_modules/d3-quadtree/src/quadtree.js +79 -0
  179. package/dist/cjs/bundled_modules/d3-quadtree/src/remove.js +69 -0
  180. package/dist/cjs/bundled_modules/d3-quadtree/src/root.js +9 -0
  181. package/dist/cjs/bundled_modules/d3-quadtree/src/size.js +13 -0
  182. package/dist/cjs/bundled_modules/d3-quadtree/src/visit.js +22 -0
  183. package/dist/cjs/bundled_modules/d3-quadtree/src/visitAfter.js +27 -0
  184. package/dist/cjs/bundled_modules/d3-quadtree/src/x.js +14 -0
  185. package/dist/cjs/bundled_modules/d3-quadtree/src/y.js +14 -0
  186. package/dist/cjs/bundled_modules/d3-scale/src/constant.js +11 -0
  187. package/dist/cjs/bundled_modules/d3-scale/src/continuous.js +136 -0
  188. package/dist/cjs/bundled_modules/d3-scale/src/diverging.js +116 -0
  189. package/dist/cjs/bundled_modules/d3-scale/src/identity.js +34 -0
  190. package/dist/cjs/bundled_modules/d3-scale/src/init.js +31 -0
  191. package/dist/cjs/bundled_modules/d3-scale/src/linear.js +77 -0
  192. package/dist/cjs/bundled_modules/d3-scale/src/log.js +148 -0
  193. package/dist/cjs/bundled_modules/d3-scale/src/nice.js +24 -0
  194. package/dist/cjs/bundled_modules/d3-scale/src/number.js +9 -0
  195. package/dist/cjs/bundled_modules/d3-scale/src/ordinal.js +53 -0
  196. package/dist/cjs/bundled_modules/d3-scale/src/pow.js +58 -0
  197. package/dist/cjs/bundled_modules/d3-scale/src/quantile.js +65 -0
  198. package/dist/cjs/bundled_modules/d3-scale/src/quantize.js +62 -0
  199. package/dist/cjs/bundled_modules/d3-scale/src/sequential.js +119 -0
  200. package/dist/cjs/bundled_modules/d3-scale/src/symlog.js +42 -0
  201. package/dist/cjs/bundled_modules/d3-scale/src/threshold.js +45 -0
  202. package/dist/cjs/bundled_modules/d3-scale/src/tickFormat.js +39 -0
  203. package/dist/cjs/bundled_modules/d3-scale/src/time.js +85 -0
  204. package/dist/cjs/bundled_modules/d3-scale/src/utcTime.js +21 -0
  205. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Accent.js +9 -0
  206. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Dark2.js +9 -0
  207. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Paired.js +9 -0
  208. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Pastel1.js +9 -0
  209. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Pastel2.js +9 -0
  210. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set1.js +9 -0
  211. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set2.js +9 -0
  212. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set3.js +9 -0
  213. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/category10.js +9 -0
  214. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/observable10.js +9 -0
  215. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/colors.js +11 -0
  216. package/dist/cjs/bundled_modules/d3-shape/src/arc.js +274 -0
  217. package/dist/cjs/bundled_modules/d3-shape/src/area.js +118 -0
  218. package/dist/cjs/bundled_modules/d3-shape/src/array.js +11 -0
  219. package/dist/cjs/bundled_modules/d3-shape/src/constant.js +11 -0
  220. package/dist/cjs/bundled_modules/d3-shape/src/curve/basis.js +59 -0
  221. package/dist/cjs/bundled_modules/d3-shape/src/curve/basisClosed.js +58 -0
  222. package/dist/cjs/bundled_modules/d3-shape/src/curve/basisOpen.js +45 -0
  223. package/dist/cjs/bundled_modules/d3-shape/src/curve/bundle.js +62 -0
  224. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinal.js +69 -0
  225. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinalClosed.js +68 -0
  226. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinalOpen.js +56 -0
  227. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRom.js +95 -0
  228. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRomClosed.js +80 -0
  229. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRomOpen.js +68 -0
  230. package/dist/cjs/bundled_modules/d3-shape/src/curve/linear.js +37 -0
  231. package/dist/cjs/bundled_modules/d3-shape/src/curve/linearClosed.js +31 -0
  232. package/dist/cjs/bundled_modules/d3-shape/src/curve/monotone.js +109 -0
  233. package/dist/cjs/bundled_modules/d3-shape/src/curve/natural.js +71 -0
  234. package/dist/cjs/bundled_modules/d3-shape/src/curve/step.js +61 -0
  235. package/dist/cjs/bundled_modules/d3-shape/src/line.js +64 -0
  236. package/dist/cjs/bundled_modules/d3-shape/src/math.js +36 -0
  237. package/dist/cjs/bundled_modules/d3-shape/src/noop.js +7 -0
  238. package/dist/cjs/bundled_modules/d3-shape/src/path.js +23 -0
  239. package/dist/cjs/bundled_modules/d3-shape/src/point.js +12 -0
  240. package/dist/cjs/bundled_modules/d3-shape/src/symbol/circle.js +15 -0
  241. package/dist/cjs/bundled_modules/d3-shape/src/symbol.js +38 -0
  242. package/dist/cjs/bundled_modules/d3-time/src/day.js +41 -0
  243. package/dist/cjs/bundled_modules/d3-time/src/duration.js +17 -0
  244. package/dist/cjs/bundled_modules/d3-time/src/hour.js +31 -0
  245. package/dist/cjs/bundled_modules/d3-time/src/interval.js +73 -0
  246. package/dist/cjs/bundled_modules/d3-time/src/millisecond.js +29 -0
  247. package/dist/cjs/bundled_modules/d3-time/src/minute.js +31 -0
  248. package/dist/cjs/bundled_modules/d3-time/src/month.js +32 -0
  249. package/dist/cjs/bundled_modules/d3-time/src/second.js +18 -0
  250. package/dist/cjs/bundled_modules/d3-time/src/ticks.js +64 -0
  251. package/dist/cjs/bundled_modules/d3-time/src/week.js +73 -0
  252. package/dist/cjs/bundled_modules/d3-time/src/year.js +54 -0
  253. package/dist/cjs/bundled_modules/d3-time-format/src/defaultLocale.js +33 -0
  254. package/dist/cjs/bundled_modules/d3-time-format/src/locale.js +694 -0
  255. package/dist/cjs/bundled_modules/d3-timer/src/interval.js +23 -0
  256. package/dist/cjs/bundled_modules/d3-timer/src/timer.js +117 -0
  257. package/dist/cjs/bundled_modules/delaunator/index.js +485 -0
  258. package/dist/cjs/bundled_modules/internmap/src/index.js +66 -0
  259. package/dist/cjs/bundled_modules/json-stringify-pretty-compact/index.js +104 -0
  260. package/dist/cjs/bundled_modules/robust-predicates/esm/orient2d.js +184 -0
  261. package/dist/cjs/bundled_modules/robust-predicates/esm/util.js +95 -0
  262. package/dist/cjs/bundled_modules/topojson-client/src/feature.js +77 -0
  263. package/dist/cjs/bundled_modules/topojson-client/src/identity.js +9 -0
  264. package/dist/cjs/bundled_modules/topojson-client/src/mesh.js +60 -0
  265. package/dist/cjs/bundled_modules/topojson-client/src/reverse.js +10 -0
  266. package/dist/cjs/bundled_modules/topojson-client/src/stitch.js +79 -0
  267. package/dist/cjs/bundled_modules/topojson-client/src/transform.js +25 -0
  268. package/dist/cjs/bundled_modules/vega/build/vega.module.js +272 -0
  269. package/dist/cjs/bundled_modules/vega-canvas/build/vega-canvas.browser.js +18 -0
  270. package/dist/cjs/bundled_modules/vega-crossfilter/build/vega-crossfilter.js +676 -0
  271. package/dist/cjs/bundled_modules/vega-dataflow/build/vega-dataflow.js +2102 -0
  272. package/dist/cjs/bundled_modules/vega-embed/build/embed.js +2939 -0
  273. package/dist/cjs/bundled_modules/vega-encode/build/vega-encode.js +962 -0
  274. package/dist/cjs/bundled_modules/vega-event-selector/build/vega-event-selector.js +192 -0
  275. package/dist/cjs/bundled_modules/vega-expression/build/vega-expression.js +1615 -0
  276. package/dist/cjs/bundled_modules/vega-force/build/vega-force.js +295 -0
  277. package/dist/cjs/bundled_modules/vega-format/build/vega-format.js +201 -0
  278. package/dist/cjs/bundled_modules/vega-functions/build/vega-functions.js +842 -0
  279. package/dist/cjs/bundled_modules/vega-geo/build/vega-geo.js +1333 -0
  280. package/dist/cjs/bundled_modules/vega-hierarchy/build/vega-hierarchy.js +580 -0
  281. package/dist/cjs/bundled_modules/vega-interpreter/build/vega-interpreter.js +310 -0
  282. package/dist/cjs/bundled_modules/vega-label/build/vega-label.js +876 -0
  283. package/dist/cjs/bundled_modules/vega-lite/build/index.js +20157 -0
  284. package/dist/cjs/bundled_modules/vega-loader/build/vega-loader.browser.js +337 -0
  285. package/dist/cjs/bundled_modules/vega-parser/build/vega-parser.js +3805 -0
  286. package/dist/cjs/bundled_modules/vega-projection/build/vega-projection.js +90 -0
  287. package/dist/cjs/bundled_modules/vega-regression/build/vega-regression.js +236 -0
  288. package/dist/cjs/bundled_modules/vega-runtime/build/vega-runtime.js +588 -0
  289. package/dist/cjs/bundled_modules/vega-scale/build/vega-scale.js +846 -0
  290. package/dist/cjs/bundled_modules/vega-scenegraph/build/vega-scenegraph.js +5040 -0
  291. package/dist/cjs/bundled_modules/vega-schema-url-parser/dist/parser.modern.js +7 -0
  292. package/dist/cjs/bundled_modules/vega-selections/build/vega-selection.js +342 -0
  293. package/dist/cjs/bundled_modules/vega-statistics/build/vega-statistics.js +1193 -0
  294. package/dist/cjs/bundled_modules/vega-themes/build/index.js +853 -0
  295. package/dist/cjs/bundled_modules/vega-time/build/vega-time.js +342 -0
  296. package/dist/cjs/bundled_modules/vega-tooltip/build/index.js +353 -0
  297. package/dist/cjs/bundled_modules/vega-transforms/build/vega-transforms.js +3781 -0
  298. package/dist/cjs/bundled_modules/vega-util/build/vega-util.js +824 -0
  299. package/dist/cjs/bundled_modules/vega-view/build/vega-view.js +1306 -0
  300. package/dist/cjs/bundled_modules/vega-view-transforms/build/vega-view-transforms.js +1313 -0
  301. package/dist/cjs/bundled_modules/vega-voronoi/build/vega-voronoi.js +80 -0
  302. package/dist/cjs/bundled_modules/vega-wordcloud/build/vega-wordcloud.js +540 -0
  303. package/dist/cjs/unstable/extras/chart/BarChart.js +42 -0
  304. package/dist/cjs/unstable/extras/chart/Chart.js +100 -0
  305. package/dist/cjs/unstable/extras/chart/DistributionChart.js +84 -0
  306. package/dist/cjs/unstable/extras/chart/DonutChart.js +43 -0
  307. package/dist/cjs/unstable/extras/chart/LineChart.js +45 -0
  308. package/dist/cjs/unstable/extras/chart/PieChart.js +39 -0
  309. package/dist/cjs/unstable/extras/chart/TimelineChart.js +48 -0
  310. package/dist/cjs/unstable/extras/chart/index.js +23 -0
  311. package/dist/esm/bundled_modules/d3-array/src/ascending.js +5 -0
  312. package/dist/esm/bundled_modules/d3-array/src/bisect.js +10 -0
  313. package/dist/esm/bundled_modules/d3-array/src/bisector.js +58 -0
  314. package/dist/esm/bundled_modules/d3-array/src/descending.js +9 -0
  315. package/dist/esm/bundled_modules/d3-array/src/deviation.js +8 -0
  316. package/dist/esm/bundled_modules/d3-array/src/fsum.js +43 -0
  317. package/dist/esm/bundled_modules/d3-array/src/intersection.js +21 -0
  318. package/dist/esm/bundled_modules/d3-array/src/max.js +22 -0
  319. package/dist/esm/bundled_modules/d3-array/src/mean.js +21 -0
  320. package/dist/esm/bundled_modules/d3-array/src/median.js +7 -0
  321. package/dist/esm/bundled_modules/d3-array/src/merge.js +11 -0
  322. package/dist/esm/bundled_modules/d3-array/src/min.js +22 -0
  323. package/dist/esm/bundled_modules/d3-array/src/number.js +22 -0
  324. package/dist/esm/bundled_modules/d3-array/src/permute.js +5 -0
  325. package/dist/esm/bundled_modules/d3-array/src/quantile.js +31 -0
  326. package/dist/esm/bundled_modules/d3-array/src/quickselect.js +55 -0
  327. package/dist/esm/bundled_modules/d3-array/src/range.js +15 -0
  328. package/dist/esm/bundled_modules/d3-array/src/sort.js +17 -0
  329. package/dist/esm/bundled_modules/d3-array/src/sum.js +13 -0
  330. package/dist/esm/bundled_modules/d3-array/src/ticks.js +57 -0
  331. package/dist/esm/bundled_modules/d3-array/src/union.js +13 -0
  332. package/dist/esm/bundled_modules/d3-array/src/variance.js +27 -0
  333. package/dist/esm/bundled_modules/d3-color/src/color.js +398 -0
  334. package/dist/esm/bundled_modules/d3-color/src/cubehelix.js +63 -0
  335. package/dist/esm/bundled_modules/d3-color/src/define.js +12 -0
  336. package/dist/esm/bundled_modules/d3-color/src/lab.js +117 -0
  337. package/dist/esm/bundled_modules/d3-color/src/math.js +4 -0
  338. package/dist/esm/bundled_modules/d3-delaunay/src/delaunay.js +250 -0
  339. package/dist/esm/bundled_modules/d3-delaunay/src/path.js +39 -0
  340. package/dist/esm/bundled_modules/d3-delaunay/src/polygon.js +19 -0
  341. package/dist/esm/bundled_modules/d3-delaunay/src/voronoi.js +334 -0
  342. package/dist/esm/bundled_modules/d3-dispatch/src/dispatch.js +84 -0
  343. package/dist/esm/bundled_modules/d3-dsv/src/dsv.js +166 -0
  344. package/dist/esm/bundled_modules/d3-force/src/center.js +42 -0
  345. package/dist/esm/bundled_modules/d3-force/src/collide.js +102 -0
  346. package/dist/esm/bundled_modules/d3-force/src/constant.js +7 -0
  347. package/dist/esm/bundled_modules/d3-force/src/jiggle.js +5 -0
  348. package/dist/esm/bundled_modules/d3-force/src/lcg.js +11 -0
  349. package/dist/esm/bundled_modules/d3-force/src/link.js +119 -0
  350. package/dist/esm/bundled_modules/d3-force/src/manyBody.js +118 -0
  351. package/dist/esm/bundled_modules/d3-force/src/simulation.js +158 -0
  352. package/dist/esm/bundled_modules/d3-force/src/x.js +43 -0
  353. package/dist/esm/bundled_modules/d3-force/src/y.js +43 -0
  354. package/dist/esm/bundled_modules/d3-format/src/defaultLocale.js +20 -0
  355. package/dist/esm/bundled_modules/d3-format/src/exponent.js +7 -0
  356. package/dist/esm/bundled_modules/d3-format/src/formatDecimal.js +22 -0
  357. package/dist/esm/bundled_modules/d3-format/src/formatGroup.js +20 -0
  358. package/dist/esm/bundled_modules/d3-format/src/formatNumerals.js +9 -0
  359. package/dist/esm/bundled_modules/d3-format/src/formatPrefixAuto.js +18 -0
  360. package/dist/esm/bundled_modules/d3-format/src/formatRounded.js +13 -0
  361. package/dist/esm/bundled_modules/d3-format/src/formatSpecifier.js +49 -0
  362. package/dist/esm/bundled_modules/d3-format/src/formatTrim.js +13 -0
  363. package/dist/esm/bundled_modules/d3-format/src/formatTypes.js +21 -0
  364. package/dist/esm/bundled_modules/d3-format/src/identity.js +5 -0
  365. package/dist/esm/bundled_modules/d3-format/src/locale.js +150 -0
  366. package/dist/esm/bundled_modules/d3-format/src/precisionFixed.js +7 -0
  367. package/dist/esm/bundled_modules/d3-format/src/precisionPrefix.js +7 -0
  368. package/dist/esm/bundled_modules/d3-format/src/precisionRound.js +8 -0
  369. package/dist/esm/bundled_modules/d3-geo/src/area.js +78 -0
  370. package/dist/esm/bundled_modules/d3-geo/src/bounds.js +181 -0
  371. package/dist/esm/bundled_modules/d3-geo/src/cartesian.js +35 -0
  372. package/dist/esm/bundled_modules/d3-geo/src/centroid.js +145 -0
  373. package/dist/esm/bundled_modules/d3-geo/src/circle.js +33 -0
  374. package/dist/esm/bundled_modules/d3-geo/src/clip/antimeridian.js +94 -0
  375. package/dist/esm/bundled_modules/d3-geo/src/clip/buffer.js +26 -0
  376. package/dist/esm/bundled_modules/d3-geo/src/clip/circle.js +179 -0
  377. package/dist/esm/bundled_modules/d3-geo/src/clip/index.js +133 -0
  378. package/dist/esm/bundled_modules/d3-geo/src/clip/line.js +61 -0
  379. package/dist/esm/bundled_modules/d3-geo/src/clip/rectangle.js +170 -0
  380. package/dist/esm/bundled_modules/d3-geo/src/clip/rejoin.js +105 -0
  381. package/dist/esm/bundled_modules/d3-geo/src/compose.js +14 -0
  382. package/dist/esm/bundled_modules/d3-geo/src/graticule.js +103 -0
  383. package/dist/esm/bundled_modules/d3-geo/src/identity.js +3 -0
  384. package/dist/esm/bundled_modules/d3-geo/src/math.js +33 -0
  385. package/dist/esm/bundled_modules/d3-geo/src/noop.js +3 -0
  386. package/dist/esm/bundled_modules/d3-geo/src/path/area.js +50 -0
  387. package/dist/esm/bundled_modules/d3-geo/src/path/bounds.js +28 -0
  388. package/dist/esm/bundled_modules/d3-geo/src/path/centroid.js +100 -0
  389. package/dist/esm/bundled_modules/d3-geo/src/path/context.js +47 -0
  390. package/dist/esm/bundled_modules/d3-geo/src/path/index.js +78 -0
  391. package/dist/esm/bundled_modules/d3-geo/src/path/measure.js +45 -0
  392. package/dist/esm/bundled_modules/d3-geo/src/path/string.js +88 -0
  393. package/dist/esm/bundled_modules/d3-geo/src/pointEqual.js +7 -0
  394. package/dist/esm/bundled_modules/d3-geo/src/polygonContains.js +76 -0
  395. package/dist/esm/bundled_modules/d3-geo/src/projection/albers.js +12 -0
  396. package/dist/esm/bundled_modules/d3-geo/src/projection/albersUsa.js +113 -0
  397. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthal.js +29 -0
  398. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthalEqualArea.js +19 -0
  399. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthalEquidistant.js +19 -0
  400. package/dist/esm/bundled_modules/d3-geo/src/projection/conic.js +17 -0
  401. package/dist/esm/bundled_modules/d3-geo/src/projection/conicConformal.js +40 -0
  402. package/dist/esm/bundled_modules/d3-geo/src/projection/conicEqualArea.js +35 -0
  403. package/dist/esm/bundled_modules/d3-geo/src/projection/conicEquidistant.js +34 -0
  404. package/dist/esm/bundled_modules/d3-geo/src/projection/cylindricalEqualArea.js +17 -0
  405. package/dist/esm/bundled_modules/d3-geo/src/projection/equalEarth.js +38 -0
  406. package/dist/esm/bundled_modules/d3-geo/src/projection/equirectangular.js +14 -0
  407. package/dist/esm/bundled_modules/d3-geo/src/projection/fit.js +49 -0
  408. package/dist/esm/bundled_modules/d3-geo/src/projection/gnomonic.js +18 -0
  409. package/dist/esm/bundled_modules/d3-geo/src/projection/identity.js +87 -0
  410. package/dist/esm/bundled_modules/d3-geo/src/projection/index.js +179 -0
  411. package/dist/esm/bundled_modules/d3-geo/src/projection/mercator.js +54 -0
  412. package/dist/esm/bundled_modules/d3-geo/src/projection/naturalEarth1.js +30 -0
  413. package/dist/esm/bundled_modules/d3-geo/src/projection/orthographic.js +17 -0
  414. package/dist/esm/bundled_modules/d3-geo/src/projection/resample.js +104 -0
  415. package/dist/esm/bundled_modules/d3-geo/src/projection/stereographic.js +20 -0
  416. package/dist/esm/bundled_modules/d3-geo/src/projection/transverseMercator.js +29 -0
  417. package/dist/esm/bundled_modules/d3-geo/src/rotation.js +81 -0
  418. package/dist/esm/bundled_modules/d3-geo/src/stream.js +71 -0
  419. package/dist/esm/bundled_modules/d3-geo/src/transform.js +22 -0
  420. package/dist/esm/bundled_modules/d3-geo-projection/src/math.js +18 -0
  421. package/dist/esm/bundled_modules/d3-geo-projection/src/mollweide.js +31 -0
  422. package/dist/esm/bundled_modules/d3-hierarchy/src/accessors.js +10 -0
  423. package/dist/esm/bundled_modules/d3-hierarchy/src/array.js +22 -0
  424. package/dist/esm/bundled_modules/d3-hierarchy/src/cluster.js +86 -0
  425. package/dist/esm/bundled_modules/d3-hierarchy/src/constant.js +11 -0
  426. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/ancestors.js +9 -0
  427. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/count.js +14 -0
  428. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/descendants.js +5 -0
  429. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/each.js +9 -0
  430. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/eachAfter.js +17 -0
  431. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/eachBefore.js +14 -0
  432. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/find.js +10 -0
  433. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/index.js +93 -0
  434. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/iterator.js +16 -0
  435. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/leaves.js +11 -0
  436. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/links.js +11 -0
  437. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/path.js +32 -0
  438. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/sort.js +9 -0
  439. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/sum.js +11 -0
  440. package/dist/esm/bundled_modules/d3-hierarchy/src/lcg.js +11 -0
  441. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/enclose.js +120 -0
  442. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/index.js +83 -0
  443. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/siblings.js +116 -0
  444. package/dist/esm/bundled_modules/d3-hierarchy/src/partition.js +54 -0
  445. package/dist/esm/bundled_modules/d3-hierarchy/src/stratify.js +147 -0
  446. package/dist/esm/bundled_modules/d3-hierarchy/src/tree.js +239 -0
  447. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/binary.js +48 -0
  448. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/dice.js +14 -0
  449. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/index.js +96 -0
  450. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/resquarify.js +38 -0
  451. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/round.js +8 -0
  452. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/slice.js +14 -0
  453. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/sliceDice.js +8 -0
  454. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/squarify.js +68 -0
  455. package/dist/esm/bundled_modules/d3-interpolate/src/array.js +24 -0
  456. package/dist/esm/bundled_modules/d3-interpolate/src/basis.js +21 -0
  457. package/dist/esm/bundled_modules/d3-interpolate/src/basisClosed.js +15 -0
  458. package/dist/esm/bundled_modules/d3-interpolate/src/color.js +31 -0
  459. package/dist/esm/bundled_modules/d3-interpolate/src/constant.js +3 -0
  460. package/dist/esm/bundled_modules/d3-interpolate/src/cubehelix.js +31 -0
  461. package/dist/esm/bundled_modules/d3-interpolate/src/date.js +8 -0
  462. package/dist/esm/bundled_modules/d3-interpolate/src/discrete.js +8 -0
  463. package/dist/esm/bundled_modules/d3-interpolate/src/hcl.js +23 -0
  464. package/dist/esm/bundled_modules/d3-interpolate/src/hsl.js +23 -0
  465. package/dist/esm/bundled_modules/d3-interpolate/src/hue.js +11 -0
  466. package/dist/esm/bundled_modules/d3-interpolate/src/index.js +21 -0
  467. package/dist/esm/bundled_modules/d3-interpolate/src/lab.js +18 -0
  468. package/dist/esm/bundled_modules/d3-interpolate/src/number.js +7 -0
  469. package/dist/esm/bundled_modules/d3-interpolate/src/numberArray.js +16 -0
  470. package/dist/esm/bundled_modules/d3-interpolate/src/object.js +25 -0
  471. package/dist/esm/bundled_modules/d3-interpolate/src/piecewise.js +13 -0
  472. package/dist/esm/bundled_modules/d3-interpolate/src/quantize.js +7 -0
  473. package/dist/esm/bundled_modules/d3-interpolate/src/rgb.js +57 -0
  474. package/dist/esm/bundled_modules/d3-interpolate/src/round.js +7 -0
  475. package/dist/esm/bundled_modules/d3-interpolate/src/string.js +66 -0
  476. package/dist/esm/bundled_modules/d3-interpolate/src/transform/decompose.js +28 -0
  477. package/dist/esm/bundled_modules/d3-interpolate/src/transform/index.js +65 -0
  478. package/dist/esm/bundled_modules/d3-interpolate/src/transform/parse.js +20 -0
  479. package/dist/esm/bundled_modules/d3-interpolate/src/value.js +24 -0
  480. package/dist/esm/bundled_modules/d3-interpolate/src/zoom.js +73 -0
  481. package/dist/esm/bundled_modules/d3-path/src/path.js +154 -0
  482. package/dist/esm/bundled_modules/d3-quadtree/src/add.js +86 -0
  483. package/dist/esm/bundled_modules/d3-quadtree/src/cover.js +45 -0
  484. package/dist/esm/bundled_modules/d3-quadtree/src/data.js +9 -0
  485. package/dist/esm/bundled_modules/d3-quadtree/src/extent.js +7 -0
  486. package/dist/esm/bundled_modules/d3-quadtree/src/find.js +72 -0
  487. package/dist/esm/bundled_modules/d3-quadtree/src/quad.js +9 -0
  488. package/dist/esm/bundled_modules/d3-quadtree/src/quadtree.js +75 -0
  489. package/dist/esm/bundled_modules/d3-quadtree/src/remove.js +64 -0
  490. package/dist/esm/bundled_modules/d3-quadtree/src/root.js +5 -0
  491. package/dist/esm/bundled_modules/d3-quadtree/src/size.js +9 -0
  492. package/dist/esm/bundled_modules/d3-quadtree/src/visit.js +18 -0
  493. package/dist/esm/bundled_modules/d3-quadtree/src/visitAfter.js +23 -0
  494. package/dist/esm/bundled_modules/d3-quadtree/src/x.js +9 -0
  495. package/dist/esm/bundled_modules/d3-quadtree/src/y.js +9 -0
  496. package/dist/esm/bundled_modules/d3-scale/src/constant.js +7 -0
  497. package/dist/esm/bundled_modules/d3-scale/src/continuous.js +129 -0
  498. package/dist/esm/bundled_modules/d3-scale/src/diverging.js +108 -0
  499. package/dist/esm/bundled_modules/d3-scale/src/identity.js +30 -0
  500. package/dist/esm/bundled_modules/d3-scale/src/init.js +28 -0
  501. package/dist/esm/bundled_modules/d3-scale/src/linear.js +72 -0
  502. package/dist/esm/bundled_modules/d3-scale/src/log.js +143 -0
  503. package/dist/esm/bundled_modules/d3-scale/src/nice.js +20 -0
  504. package/dist/esm/bundled_modules/d3-scale/src/number.js +5 -0
  505. package/dist/esm/bundled_modules/d3-scale/src/ordinal.js +48 -0
  506. package/dist/esm/bundled_modules/d3-scale/src/pow.js +52 -0
  507. package/dist/esm/bundled_modules/d3-scale/src/quantile.js +61 -0
  508. package/dist/esm/bundled_modules/d3-scale/src/quantize.js +58 -0
  509. package/dist/esm/bundled_modules/d3-scale/src/sequential.js +110 -0
  510. package/dist/esm/bundled_modules/d3-scale/src/symlog.js +37 -0
  511. package/dist/esm/bundled_modules/d3-scale/src/threshold.js +41 -0
  512. package/dist/esm/bundled_modules/d3-scale/src/tickFormat.js +35 -0
  513. package/dist/esm/bundled_modules/d3-scale/src/time.js +80 -0
  514. package/dist/esm/bundled_modules/d3-scale/src/utcTime.js +17 -0
  515. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Accent.js +5 -0
  516. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Dark2.js +5 -0
  517. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Paired.js +5 -0
  518. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Pastel1.js +5 -0
  519. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Pastel2.js +5 -0
  520. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set1.js +5 -0
  521. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set2.js +5 -0
  522. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set3.js +5 -0
  523. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/category10.js +5 -0
  524. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/observable10.js +5 -0
  525. package/dist/esm/bundled_modules/d3-scale-chromatic/src/colors.js +7 -0
  526. package/dist/esm/bundled_modules/d3-shape/src/arc.js +270 -0
  527. package/dist/esm/bundled_modules/d3-shape/src/area.js +114 -0
  528. package/dist/esm/bundled_modules/d3-shape/src/array.js +7 -0
  529. package/dist/esm/bundled_modules/d3-shape/src/constant.js +7 -0
  530. package/dist/esm/bundled_modules/d3-shape/src/curve/basis.js +53 -0
  531. package/dist/esm/bundled_modules/d3-shape/src/curve/basisClosed.js +54 -0
  532. package/dist/esm/bundled_modules/d3-shape/src/curve/basisOpen.js +41 -0
  533. package/dist/esm/bundled_modules/d3-shape/src/curve/bundle.js +58 -0
  534. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinal.js +63 -0
  535. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinalClosed.js +63 -0
  536. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinalOpen.js +51 -0
  537. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRom.js +90 -0
  538. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRomClosed.js +76 -0
  539. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRomOpen.js +64 -0
  540. package/dist/esm/bundled_modules/d3-shape/src/curve/linear.js +33 -0
  541. package/dist/esm/bundled_modules/d3-shape/src/curve/linearClosed.js +27 -0
  542. package/dist/esm/bundled_modules/d3-shape/src/curve/monotone.js +106 -0
  543. package/dist/esm/bundled_modules/d3-shape/src/curve/natural.js +67 -0
  544. package/dist/esm/bundled_modules/d3-shape/src/curve/step.js +55 -0
  545. package/dist/esm/bundled_modules/d3-shape/src/line.js +60 -0
  546. package/dist/esm/bundled_modules/d3-shape/src/math.js +22 -0
  547. package/dist/esm/bundled_modules/d3-shape/src/noop.js +3 -0
  548. package/dist/esm/bundled_modules/d3-shape/src/path.js +21 -0
  549. package/dist/esm/bundled_modules/d3-shape/src/point.js +9 -0
  550. package/dist/esm/bundled_modules/d3-shape/src/symbol/circle.js +11 -0
  551. package/dist/esm/bundled_modules/d3-shape/src/symbol.js +34 -0
  552. package/dist/esm/bundled_modules/d3-time/src/day.js +37 -0
  553. package/dist/esm/bundled_modules/d3-time/src/duration.js +9 -0
  554. package/dist/esm/bundled_modules/d3-time/src/hour.js +28 -0
  555. package/dist/esm/bundled_modules/d3-time/src/interval.js +71 -0
  556. package/dist/esm/bundled_modules/d3-time/src/millisecond.js +27 -0
  557. package/dist/esm/bundled_modules/d3-time/src/minute.js +28 -0
  558. package/dist/esm/bundled_modules/d3-time/src/month.js +29 -0
  559. package/dist/esm/bundled_modules/d3-time/src/second.js +16 -0
  560. package/dist/esm/bundled_modules/d3-time/src/ticks.js +59 -0
  561. package/dist/esm/bundled_modules/d3-time/src/week.js +58 -0
  562. package/dist/esm/bundled_modules/d3-time/src/year.js +51 -0
  563. package/dist/esm/bundled_modules/d3-time-format/src/defaultLocale.js +29 -0
  564. package/dist/esm/bundled_modules/d3-time-format/src/locale.js +690 -0
  565. package/dist/esm/bundled_modules/d3-timer/src/interval.js +19 -0
  566. package/dist/esm/bundled_modules/d3-timer/src/timer.js +112 -0
  567. package/dist/esm/bundled_modules/delaunator/index.js +481 -0
  568. package/dist/esm/bundled_modules/internmap/src/index.js +63 -0
  569. package/dist/esm/bundled_modules/json-stringify-pretty-compact/index.js +100 -0
  570. package/dist/esm/bundled_modules/robust-predicates/esm/orient2d.js +182 -0
  571. package/dist/esm/bundled_modules/robust-predicates/esm/util.js +88 -0
  572. package/dist/esm/bundled_modules/topojson-client/src/feature.js +72 -0
  573. package/dist/esm/bundled_modules/topojson-client/src/identity.js +5 -0
  574. package/dist/esm/bundled_modules/topojson-client/src/mesh.js +55 -0
  575. package/dist/esm/bundled_modules/topojson-client/src/reverse.js +6 -0
  576. package/dist/esm/bundled_modules/topojson-client/src/stitch.js +75 -0
  577. package/dist/esm/bundled_modules/topojson-client/src/transform.js +21 -0
  578. package/dist/esm/bundled_modules/vega/build/vega.module.js +38 -0
  579. package/dist/esm/bundled_modules/vega-canvas/build/vega-canvas.browser.js +14 -0
  580. package/dist/esm/bundled_modules/vega-crossfilter/build/vega-crossfilter.js +673 -0
  581. package/dist/esm/bundled_modules/vega-dataflow/build/vega-dataflow.js +2080 -0
  582. package/dist/esm/bundled_modules/vega-embed/build/embed.js +2932 -0
  583. package/dist/esm/bundled_modules/vega-encode/build/vega-encode.js +952 -0
  584. package/dist/esm/bundled_modules/vega-event-selector/build/vega-event-selector.js +190 -0
  585. package/dist/esm/bundled_modules/vega-expression/build/vega-expression.js +1597 -0
  586. package/dist/esm/bundled_modules/vega-force/build/vega-force.js +293 -0
  587. package/dist/esm/bundled_modules/vega-format/build/vega-format.js +191 -0
  588. package/dist/esm/bundled_modules/vega-functions/build/vega-functions.js +779 -0
  589. package/dist/esm/bundled_modules/vega-geo/build/vega-geo.js +1322 -0
  590. package/dist/esm/bundled_modules/vega-hierarchy/build/vega-hierarchy.js +572 -0
  591. package/dist/esm/bundled_modules/vega-interpreter/build/vega-interpreter.js +308 -0
  592. package/dist/esm/bundled_modules/vega-label/build/vega-label.js +874 -0
  593. package/dist/esm/bundled_modules/vega-lite/build/index.js +20110 -0
  594. package/dist/esm/bundled_modules/vega-loader/build/vega-loader.browser.js +328 -0
  595. package/dist/esm/bundled_modules/vega-parser/build/vega-parser.js +3783 -0
  596. package/dist/esm/bundled_modules/vega-projection/build/vega-projection.js +86 -0
  597. package/dist/esm/bundled_modules/vega-regression/build/vega-regression.js +233 -0
  598. package/dist/esm/bundled_modules/vega-runtime/build/vega-runtime.js +586 -0
  599. package/dist/esm/bundled_modules/vega-scale/build/vega-scale.js +799 -0
  600. package/dist/esm/bundled_modules/vega-scenegraph/build/vega-scenegraph.js +4982 -0
  601. package/dist/esm/bundled_modules/vega-schema-url-parser/dist/parser.modern.js +3 -0
  602. package/dist/esm/bundled_modules/vega-selections/build/vega-selection.js +336 -0
  603. package/dist/esm/bundled_modules/vega-statistics/build/vega-statistics.js +1157 -0
  604. package/dist/esm/bundled_modules/vega-themes/build/index.js +837 -0
  605. package/dist/esm/bundled_modules/vega-time/build/vega-time.js +314 -0
  606. package/dist/esm/bundled_modules/vega-tooltip/build/index.js +339 -0
  607. package/dist/esm/bundled_modules/vega-transforms/build/vega-transforms.js +3740 -0
  608. package/dist/esm/bundled_modules/vega-util/build/vega-util.js +753 -0
  609. package/dist/esm/bundled_modules/vega-view/build/vega-view.js +1304 -0
  610. package/dist/esm/bundled_modules/vega-view-transforms/build/vega-view-transforms.js +1306 -0
  611. package/dist/esm/bundled_modules/vega-voronoi/build/vega-voronoi.js +78 -0
  612. package/dist/esm/bundled_modules/vega-wordcloud/build/vega-wordcloud.js +538 -0
  613. package/dist/esm/unstable/extras/chart/BarChart.js +40 -0
  614. package/dist/esm/unstable/extras/chart/Chart.js +96 -0
  615. package/dist/esm/unstable/extras/chart/DistributionChart.js +82 -0
  616. package/dist/esm/unstable/extras/chart/DonutChart.js +41 -0
  617. package/dist/esm/unstable/extras/chart/LineChart.js +43 -0
  618. package/dist/esm/unstable/extras/chart/PieChart.js +37 -0
  619. package/dist/esm/unstable/extras/chart/TimelineChart.js +46 -0
  620. package/dist/esm/unstable/extras/chart/index.js +8 -0
  621. package/dist/types/unstable/extras/chart/BarChart.d.ts +16 -0
  622. package/dist/types/unstable/extras/chart/Chart.d.ts +33 -0
  623. package/dist/types/unstable/extras/chart/DistributionChart.d.ts +18 -0
  624. package/dist/types/unstable/extras/chart/DonutChart.d.ts +16 -0
  625. package/dist/types/unstable/extras/chart/LineChart.d.ts +16 -0
  626. package/dist/types/unstable/extras/chart/PieChart.d.ts +14 -0
  627. package/dist/types/unstable/extras/chart/TimelineChart.d.ts +15 -0
  628. package/dist/types/unstable/extras/chart/index.d.ts +15 -0
  629. package/package.json +1 -1
@@ -0,0 +1,876 @@
1
+ 'use strict';
2
+
3
+ var vegaScenegraph = require('../../vega-scenegraph/build/vega-scenegraph.js');
4
+ var vegaCanvas_browser = require('../../vega-canvas/build/vega-canvas.browser.js');
5
+ var vegaDataflow = require('../../vega-dataflow/build/vega-dataflow.js');
6
+ var vegaUtil = require('../../vega-util/build/vega-util.js');
7
+
8
+ // bit mask for getting first 2 bytes of alpha value
9
+ const ALPHA_MASK = 0xff000000;
10
+ function baseBitmaps($, data) {
11
+ const bitmap = $.bitmap();
12
+ // when there is no base mark but data points are to be avoided
13
+ (data || []).forEach(d => bitmap.set($(d.boundary[0]), $(d.boundary[3])));
14
+ return [bitmap, undefined];
15
+ }
16
+ function markBitmaps($, baseMark, avoidMarks, labelInside, isGroupArea) {
17
+ // create canvas
18
+ const width = $.width,
19
+ height = $.height,
20
+ border = labelInside || isGroupArea,
21
+ context = vegaCanvas_browser.canvas(width, height).getContext('2d'),
22
+ baseMarkContext = vegaCanvas_browser.canvas(width, height).getContext('2d'),
23
+ strokeContext = border && vegaCanvas_browser.canvas(width, height).getContext('2d');
24
+
25
+ // render all marks to be avoided into canvas
26
+ avoidMarks.forEach(items => draw(context, items, false));
27
+ draw(baseMarkContext, baseMark, false);
28
+ if (border) {
29
+ draw(strokeContext, baseMark, true);
30
+ }
31
+
32
+ // get canvas buffer, create bitmaps
33
+ const buffer = getBuffer(context, width, height),
34
+ baseMarkBuffer = getBuffer(baseMarkContext, width, height),
35
+ strokeBuffer = border && getBuffer(strokeContext, width, height),
36
+ layer1 = $.bitmap(),
37
+ layer2 = border && $.bitmap();
38
+
39
+ // populate bitmap layers
40
+ let x, y, u, v, index, alpha, strokeAlpha, baseMarkAlpha;
41
+ for (y = 0; y < height; ++y) {
42
+ for (x = 0; x < width; ++x) {
43
+ index = y * width + x;
44
+ alpha = buffer[index] & ALPHA_MASK;
45
+ baseMarkAlpha = baseMarkBuffer[index] & ALPHA_MASK;
46
+ strokeAlpha = border && strokeBuffer[index] & ALPHA_MASK;
47
+ if (alpha || strokeAlpha || baseMarkAlpha) {
48
+ u = $(x);
49
+ v = $(y);
50
+ if (!isGroupArea && (alpha || baseMarkAlpha)) layer1.set(u, v); // update interior bitmap
51
+ if (border && (alpha || strokeAlpha)) layer2.set(u, v); // update border bitmap
52
+ }
53
+ }
54
+ }
55
+ return [layer1, layer2];
56
+ }
57
+ function getBuffer(context, width, height) {
58
+ return new Uint32Array(context.getImageData(0, 0, width, height).data.buffer);
59
+ }
60
+ function draw(context, items, interior) {
61
+ if (!items.length) return;
62
+ const type = items[0].mark.marktype;
63
+ if (type === 'group') {
64
+ items.forEach(group => {
65
+ group.items.forEach(mark => draw(context, mark.items, interior));
66
+ });
67
+ } else {
68
+ vegaScenegraph.Marks[type].draw(context, {
69
+ items: interior ? items.map(prepare) : items
70
+ });
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Prepare item before drawing into canvas (setting stroke and opacity)
76
+ * @param {object} source item to be prepared
77
+ * @returns prepared item
78
+ */
79
+ function prepare(source) {
80
+ const item = vegaDataflow.rederive(source, {});
81
+ if (item.stroke && item.strokeOpacity !== 0 || item.fill && item.fillOpacity !== 0) {
82
+ return {
83
+ ...item,
84
+ strokeOpacity: 1,
85
+ stroke: '#000',
86
+ fillOpacity: 0
87
+ };
88
+ }
89
+ return item;
90
+ }
91
+
92
+ const DIV = 5,
93
+ // bit shift from x, y index to bit vector array index
94
+ MOD = 31,
95
+ // bit mask for index lookup within a bit vector
96
+ SIZE = 32,
97
+ // individual bit vector size
98
+ RIGHT0 = new Uint32Array(SIZE + 1),
99
+ // left-anchored bit vectors, full -> 0
100
+ RIGHT1 = new Uint32Array(SIZE + 1); // right-anchored bit vectors, 0 -> full
101
+
102
+ RIGHT1[0] = 0;
103
+ RIGHT0[0] = ~RIGHT1[0];
104
+ for (let i = 1; i <= SIZE; ++i) {
105
+ RIGHT1[i] = RIGHT1[i - 1] << 1 | 1;
106
+ RIGHT0[i] = ~RIGHT1[i];
107
+ }
108
+ function Bitmap (w, h) {
109
+ const array = new Uint32Array(~~((w * h + SIZE) / SIZE));
110
+ function _set(index, mask) {
111
+ array[index] |= mask;
112
+ }
113
+ function _clear(index, mask) {
114
+ array[index] &= mask;
115
+ }
116
+ return {
117
+ array: array,
118
+ get: (x, y) => {
119
+ const index = y * w + x;
120
+ return array[index >>> DIV] & 1 << (index & MOD);
121
+ },
122
+ set: (x, y) => {
123
+ const index = y * w + x;
124
+ _set(index >>> DIV, 1 << (index & MOD));
125
+ },
126
+ clear: (x, y) => {
127
+ const index = y * w + x;
128
+ _clear(index >>> DIV, ~(1 << (index & MOD)));
129
+ },
130
+ getRange: (x, y, x2, y2) => {
131
+ let r = y2,
132
+ start,
133
+ end,
134
+ indexStart,
135
+ indexEnd;
136
+ for (; r >= y; --r) {
137
+ start = r * w + x;
138
+ end = r * w + x2;
139
+ indexStart = start >>> DIV;
140
+ indexEnd = end >>> DIV;
141
+ if (indexStart === indexEnd) {
142
+ if (array[indexStart] & RIGHT0[start & MOD] & RIGHT1[(end & MOD) + 1]) {
143
+ return true;
144
+ }
145
+ } else {
146
+ if (array[indexStart] & RIGHT0[start & MOD]) return true;
147
+ if (array[indexEnd] & RIGHT1[(end & MOD) + 1]) return true;
148
+ for (let i = indexStart + 1; i < indexEnd; ++i) {
149
+ if (array[i]) return true;
150
+ }
151
+ }
152
+ }
153
+ return false;
154
+ },
155
+ setRange: (x, y, x2, y2) => {
156
+ let start, end, indexStart, indexEnd, i;
157
+ for (; y <= y2; ++y) {
158
+ start = y * w + x;
159
+ end = y * w + x2;
160
+ indexStart = start >>> DIV;
161
+ indexEnd = end >>> DIV;
162
+ if (indexStart === indexEnd) {
163
+ _set(indexStart, RIGHT0[start & MOD] & RIGHT1[(end & MOD) + 1]);
164
+ } else {
165
+ _set(indexStart, RIGHT0[start & MOD]);
166
+ _set(indexEnd, RIGHT1[(end & MOD) + 1]);
167
+ for (i = indexStart + 1; i < indexEnd; ++i) _set(i, 0xffffffff);
168
+ }
169
+ }
170
+ },
171
+ clearRange: (x, y, x2, y2) => {
172
+ let start, end, indexStart, indexEnd, i;
173
+ for (; y <= y2; ++y) {
174
+ start = y * w + x;
175
+ end = y * w + x2;
176
+ indexStart = start >>> DIV;
177
+ indexEnd = end >>> DIV;
178
+ if (indexStart === indexEnd) {
179
+ _clear(indexStart, RIGHT1[start & MOD] | RIGHT0[(end & MOD) + 1]);
180
+ } else {
181
+ _clear(indexStart, RIGHT1[start & MOD]);
182
+ _clear(indexEnd, RIGHT0[(end & MOD) + 1]);
183
+ for (i = indexStart + 1; i < indexEnd; ++i) _clear(i, 0);
184
+ }
185
+ }
186
+ },
187
+ outOfBounds: (x, y, x2, y2) => x < 0 || y < 0 || y2 >= h || x2 >= w
188
+ };
189
+ }
190
+
191
+ function scaler (width, height, padding) {
192
+ const ratio = Math.max(1, Math.sqrt(width * height / 1e6)),
193
+ w = ~~((width + 2 * padding + ratio) / ratio),
194
+ h = ~~((height + 2 * padding + ratio) / ratio),
195
+ scale = _ => ~~((_ + padding) / ratio);
196
+ scale.invert = _ => _ * ratio - padding;
197
+ scale.bitmap = () => Bitmap(w, h);
198
+ scale.ratio = ratio;
199
+ scale.padding = padding;
200
+ scale.width = width;
201
+ scale.height = height;
202
+ return scale;
203
+ }
204
+
205
+ function placeAreaLabelNaive ($, bitmaps, avoidBaseMark, markIndex) {
206
+ const width = $.width,
207
+ height = $.height;
208
+
209
+ // try to place a label within an input area mark
210
+ return function (d) {
211
+ const items = d.datum.datum.items[markIndex].items,
212
+ // area points
213
+ n = items.length,
214
+ // number of points
215
+ textHeight = d.datum.fontSize,
216
+ // label width
217
+ textWidth = vegaScenegraph.textMetrics.width(d.datum, d.datum.text); // label height
218
+
219
+ let maxAreaWidth = 0,
220
+ x1,
221
+ x2,
222
+ y1,
223
+ y2,
224
+ x,
225
+ y,
226
+ areaWidth;
227
+
228
+ // for each area sample point
229
+ for (let i = 0; i < n; ++i) {
230
+ x1 = items[i].x;
231
+ y1 = items[i].y;
232
+ x2 = items[i].x2 === undefined ? x1 : items[i].x2;
233
+ y2 = items[i].y2 === undefined ? y1 : items[i].y2;
234
+ x = (x1 + x2) / 2;
235
+ y = (y1 + y2) / 2;
236
+ areaWidth = Math.abs(x2 - x1 + y2 - y1);
237
+ if (areaWidth >= maxAreaWidth) {
238
+ maxAreaWidth = areaWidth;
239
+ d.x = x;
240
+ d.y = y;
241
+ }
242
+ }
243
+ x = textWidth / 2;
244
+ y = textHeight / 2;
245
+ x1 = d.x - x;
246
+ x2 = d.x + x;
247
+ y1 = d.y - y;
248
+ y2 = d.y + y;
249
+ d.align = 'center';
250
+ if (x1 < 0 && x2 <= width) {
251
+ d.align = 'left';
252
+ } else if (0 <= x1 && width < x2) {
253
+ d.align = 'right';
254
+ }
255
+ d.baseline = 'middle';
256
+ if (y1 < 0 && y2 <= height) {
257
+ d.baseline = 'top';
258
+ } else if (0 <= y1 && height < y2) {
259
+ d.baseline = 'bottom';
260
+ }
261
+ return true;
262
+ };
263
+ }
264
+
265
+ function outOfBounds(x, y, textWidth, textHeight, width, height) {
266
+ let r = textWidth / 2;
267
+ return x - r < 0 || x + r > width || y - (r = textHeight / 2) < 0 || y + r > height;
268
+ }
269
+ function collision($, x, y, textHeight, textWidth, h, bm0, bm1) {
270
+ const w = textWidth * h / (textHeight * 2),
271
+ x1 = $(x - w),
272
+ x2 = $(x + w),
273
+ y1 = $(y - (h = h / 2)),
274
+ y2 = $(y + h);
275
+ return bm0.outOfBounds(x1, y1, x2, y2) || bm0.getRange(x1, y1, x2, y2) || bm1 && bm1.getRange(x1, y1, x2, y2);
276
+ }
277
+
278
+ function placeAreaLabelReducedSearch ($, bitmaps, avoidBaseMark, markIndex) {
279
+ const width = $.width,
280
+ height = $.height,
281
+ bm0 = bitmaps[0],
282
+ // where labels have been placed
283
+ bm1 = bitmaps[1]; // area outlines
284
+
285
+ function tryLabel(_x, _y, maxSize, textWidth, textHeight) {
286
+ const x = $.invert(_x),
287
+ y = $.invert(_y);
288
+ let lo = maxSize,
289
+ hi = height,
290
+ mid;
291
+ if (!outOfBounds(x, y, textWidth, textHeight, width, height) && !collision($, x, y, textHeight, textWidth, lo, bm0, bm1) && !collision($, x, y, textHeight, textWidth, textHeight, bm0, null)) {
292
+ // if the label fits at the current sample point,
293
+ // perform binary search to find the largest font size that fits
294
+ while (hi - lo >= 1) {
295
+ mid = (lo + hi) / 2;
296
+ if (collision($, x, y, textHeight, textWidth, mid, bm0, bm1)) {
297
+ hi = mid;
298
+ } else {
299
+ lo = mid;
300
+ }
301
+ }
302
+ // place label if current lower bound exceeds prior max font size
303
+ if (lo > maxSize) {
304
+ return [x, y, lo, true];
305
+ }
306
+ }
307
+ }
308
+
309
+ // try to place a label within an input area mark
310
+ return function (d) {
311
+ const items = d.datum.datum.items[markIndex].items,
312
+ // area points
313
+ n = items.length,
314
+ // number of points
315
+ textHeight = d.datum.fontSize,
316
+ // label width
317
+ textWidth = vegaScenegraph.textMetrics.width(d.datum, d.datum.text); // label height
318
+
319
+ let maxSize = avoidBaseMark ? textHeight : 0,
320
+ labelPlaced = false,
321
+ labelPlaced2 = false,
322
+ maxAreaWidth = 0,
323
+ x1,
324
+ x2,
325
+ y1,
326
+ y2,
327
+ x,
328
+ y,
329
+ _x,
330
+ _y,
331
+ _x1,
332
+ _xMid,
333
+ _x2,
334
+ _y1,
335
+ _yMid,
336
+ _y2,
337
+ areaWidth,
338
+ result,
339
+ swapTmp;
340
+
341
+ // for each area sample point
342
+ for (let i = 0; i < n; ++i) {
343
+ x1 = items[i].x;
344
+ y1 = items[i].y;
345
+ x2 = items[i].x2 === undefined ? x1 : items[i].x2;
346
+ y2 = items[i].y2 === undefined ? y1 : items[i].y2;
347
+ if (x1 > x2) {
348
+ swapTmp = x1;
349
+ x1 = x2;
350
+ x2 = swapTmp;
351
+ }
352
+ if (y1 > y2) {
353
+ swapTmp = y1;
354
+ y1 = y2;
355
+ y2 = swapTmp;
356
+ }
357
+ _x1 = $(x1);
358
+ _x2 = $(x2);
359
+ _xMid = ~~((_x1 + _x2) / 2);
360
+ _y1 = $(y1);
361
+ _y2 = $(y2);
362
+ _yMid = ~~((_y1 + _y2) / 2);
363
+
364
+ // search along the line from mid point between the 2 border to lower border
365
+ for (_x = _xMid; _x >= _x1; --_x) {
366
+ for (_y = _yMid; _y >= _y1; --_y) {
367
+ result = tryLabel(_x, _y, maxSize, textWidth, textHeight);
368
+ if (result) {
369
+ [d.x, d.y, maxSize, labelPlaced] = result;
370
+ }
371
+ }
372
+ }
373
+
374
+ // search along the line from mid point between the 2 border to upper border
375
+ for (_x = _xMid; _x <= _x2; ++_x) {
376
+ for (_y = _yMid; _y <= _y2; ++_y) {
377
+ result = tryLabel(_x, _y, maxSize, textWidth, textHeight);
378
+ if (result) {
379
+ [d.x, d.y, maxSize, labelPlaced] = result;
380
+ }
381
+ }
382
+ }
383
+
384
+ // place label at slice center if not placed through other means
385
+ // and if we're not avoiding overlap with other areas
386
+ if (!labelPlaced && !avoidBaseMark) {
387
+ // one span is zero, hence we can add
388
+ areaWidth = Math.abs(x2 - x1 + y2 - y1);
389
+ x = (x1 + x2) / 2;
390
+ y = (y1 + y2) / 2;
391
+
392
+ // place label if it fits and improves the max area width
393
+ if (areaWidth >= maxAreaWidth && !outOfBounds(x, y, textWidth, textHeight, width, height) && !collision($, x, y, textHeight, textWidth, textHeight, bm0, null)) {
394
+ maxAreaWidth = areaWidth;
395
+ d.x = x;
396
+ d.y = y;
397
+ labelPlaced2 = true;
398
+ }
399
+ }
400
+ }
401
+
402
+ // record current label placement information, update label bitmap
403
+ if (labelPlaced || labelPlaced2) {
404
+ x = textWidth / 2;
405
+ y = textHeight / 2;
406
+ bm0.setRange($(d.x - x), $(d.y - y), $(d.x + x), $(d.y + y));
407
+ d.align = 'center';
408
+ d.baseline = 'middle';
409
+ return true;
410
+ } else {
411
+ return false;
412
+ }
413
+ };
414
+ }
415
+
416
+ // pixel direction offsets for flood fill search
417
+ const X_DIR = [-1, -1, 1, 1];
418
+ const Y_DIR = [-1, 1, -1, 1];
419
+ function placeAreaLabelFloodFill ($, bitmaps, avoidBaseMark, markIndex) {
420
+ const width = $.width,
421
+ height = $.height,
422
+ bm0 = bitmaps[0],
423
+ // where labels have been placed
424
+ bm1 = bitmaps[1],
425
+ // area outlines
426
+ bm2 = $.bitmap(); // flood-fill visitations
427
+
428
+ // try to place a label within an input area mark
429
+ return function (d) {
430
+ const items = d.datum.datum.items[markIndex].items,
431
+ // area points
432
+ n = items.length,
433
+ // number of points
434
+ textHeight = d.datum.fontSize,
435
+ // label width
436
+ textWidth = vegaScenegraph.textMetrics.width(d.datum, d.datum.text),
437
+ // label height
438
+ stack = []; // flood fill stack
439
+
440
+ let maxSize = avoidBaseMark ? textHeight : 0,
441
+ labelPlaced = false,
442
+ labelPlaced2 = false,
443
+ maxAreaWidth = 0,
444
+ x1,
445
+ x2,
446
+ y1,
447
+ y2,
448
+ x,
449
+ y,
450
+ _x,
451
+ _y,
452
+ lo,
453
+ hi,
454
+ mid,
455
+ areaWidth;
456
+
457
+ // for each area sample point
458
+ for (let i = 0; i < n; ++i) {
459
+ x1 = items[i].x;
460
+ y1 = items[i].y;
461
+ x2 = items[i].x2 === undefined ? x1 : items[i].x2;
462
+ y2 = items[i].y2 === undefined ? y1 : items[i].y2;
463
+
464
+ // add scaled center point to stack
465
+ stack.push([$((x1 + x2) / 2), $((y1 + y2) / 2)]);
466
+
467
+ // perform flood fill, visit points
468
+ while (stack.length) {
469
+ [_x, _y] = stack.pop();
470
+
471
+ // exit if point already marked
472
+ if (bm0.get(_x, _y) || bm1.get(_x, _y) || bm2.get(_x, _y)) continue;
473
+
474
+ // mark point in flood fill bitmap
475
+ // add search points for all (in bound) directions
476
+ bm2.set(_x, _y);
477
+ for (let j = 0; j < 4; ++j) {
478
+ x = _x + X_DIR[j];
479
+ y = _y + Y_DIR[j];
480
+ if (!bm2.outOfBounds(x, y, x, y)) stack.push([x, y]);
481
+ }
482
+
483
+ // unscale point back to x, y space
484
+ x = $.invert(_x);
485
+ y = $.invert(_y);
486
+ lo = maxSize;
487
+ hi = height; // TODO: make this bound smaller
488
+
489
+ if (!outOfBounds(x, y, textWidth, textHeight, width, height) && !collision($, x, y, textHeight, textWidth, lo, bm0, bm1) && !collision($, x, y, textHeight, textWidth, textHeight, bm0, null)) {
490
+ // if the label fits at the current sample point,
491
+ // perform binary search to find the largest font size that fits
492
+ while (hi - lo >= 1) {
493
+ mid = (lo + hi) / 2;
494
+ if (collision($, x, y, textHeight, textWidth, mid, bm0, bm1)) {
495
+ hi = mid;
496
+ } else {
497
+ lo = mid;
498
+ }
499
+ }
500
+ // place label if current lower bound exceeds prior max font size
501
+ if (lo > maxSize) {
502
+ d.x = x;
503
+ d.y = y;
504
+ maxSize = lo;
505
+ labelPlaced = true;
506
+ }
507
+ }
508
+ }
509
+
510
+ // place label at slice center if not placed through other means
511
+ // and if we're not avoiding overlap with other areas
512
+ if (!labelPlaced && !avoidBaseMark) {
513
+ // one span is zero, hence we can add
514
+ areaWidth = Math.abs(x2 - x1 + y2 - y1);
515
+ x = (x1 + x2) / 2;
516
+ y = (y1 + y2) / 2;
517
+
518
+ // place label if it fits and improves the max area width
519
+ if (areaWidth >= maxAreaWidth && !outOfBounds(x, y, textWidth, textHeight, width, height) && !collision($, x, y, textHeight, textWidth, textHeight, bm0, null)) {
520
+ maxAreaWidth = areaWidth;
521
+ d.x = x;
522
+ d.y = y;
523
+ labelPlaced2 = true;
524
+ }
525
+ }
526
+ }
527
+
528
+ // record current label placement information, update label bitmap
529
+ if (labelPlaced || labelPlaced2) {
530
+ x = textWidth / 2;
531
+ y = textHeight / 2;
532
+ bm0.setRange($(d.x - x), $(d.y - y), $(d.x + x), $(d.y + y));
533
+ d.align = 'center';
534
+ d.baseline = 'middle';
535
+ return true;
536
+ } else {
537
+ return false;
538
+ }
539
+ };
540
+ }
541
+
542
+ const Aligns = ['right', 'center', 'left'],
543
+ Baselines = ['bottom', 'middle', 'top'];
544
+ function placeMarkLabel ($, bitmaps, anchors, offsets) {
545
+ const width = $.width,
546
+ height = $.height,
547
+ bm0 = bitmaps[0],
548
+ bm1 = bitmaps[1],
549
+ n = offsets.length;
550
+ return function (d) {
551
+ const boundary = d.boundary,
552
+ textHeight = d.datum.fontSize;
553
+
554
+ // can not be placed if the mark is not visible in the graph bound
555
+ if (boundary[2] < 0 || boundary[5] < 0 || boundary[0] > width || boundary[3] > height) {
556
+ return false;
557
+ }
558
+ let textWidth = d.textWidth ?? 0,
559
+ dx,
560
+ dy,
561
+ isInside,
562
+ sizeFactor,
563
+ insideFactor,
564
+ x1,
565
+ x2,
566
+ y1,
567
+ y2,
568
+ xc,
569
+ yc,
570
+ _x1,
571
+ _x2,
572
+ _y1,
573
+ _y2;
574
+
575
+ // for each anchor and offset
576
+ for (let i = 0; i < n; ++i) {
577
+ dx = (anchors[i] & 0x3) - 1;
578
+ dy = (anchors[i] >>> 0x2 & 0x3) - 1;
579
+ isInside = dx === 0 && dy === 0 || offsets[i] < 0;
580
+ sizeFactor = dx && dy ? Math.SQRT1_2 : 1;
581
+ insideFactor = offsets[i] < 0 ? -1 : 1;
582
+ x1 = boundary[1 + dx] + offsets[i] * dx * sizeFactor;
583
+ yc = boundary[4 + dy] + insideFactor * textHeight * dy / 2 + offsets[i] * dy * sizeFactor;
584
+ y1 = yc - textHeight / 2;
585
+ y2 = yc + textHeight / 2;
586
+ _x1 = $(x1);
587
+ _y1 = $(y1);
588
+ _y2 = $(y2);
589
+ if (!textWidth) {
590
+ // to avoid finding width of text label,
591
+ if (!test(_x1, _x1, _y1, _y2, bm0, bm1, x1, x1, y1, y2, boundary, isInside)) {
592
+ // skip this anchor/offset option if we fail to place a label with 1px width
593
+ continue;
594
+ } else {
595
+ // Otherwise, find the label width
596
+ textWidth = vegaScenegraph.textMetrics.width(d.datum, d.datum.text);
597
+ }
598
+ }
599
+ xc = x1 + insideFactor * textWidth * dx / 2;
600
+ x1 = xc - textWidth / 2;
601
+ x2 = xc + textWidth / 2;
602
+ _x1 = $(x1);
603
+ _x2 = $(x2);
604
+ if (test(_x1, _x2, _y1, _y2, bm0, bm1, x1, x2, y1, y2, boundary, isInside)) {
605
+ // place label if the position is placeable
606
+ d.x = !dx ? xc : dx * insideFactor < 0 ? x2 : x1;
607
+ d.y = !dy ? yc : dy * insideFactor < 0 ? y2 : y1;
608
+ d.align = Aligns[dx * insideFactor + 1];
609
+ d.baseline = Baselines[dy * insideFactor + 1];
610
+ bm0.setRange(_x1, _y1, _x2, _y2);
611
+ return true;
612
+ }
613
+ }
614
+ return false;
615
+ };
616
+ }
617
+
618
+ // Test if a label with the given dimensions can be added without overlap
619
+ function test(_x1, _x2, _y1, _y2, bm0, bm1, x1, x2, y1, y2, boundary, isInside) {
620
+ return !(bm0.outOfBounds(_x1, _y1, _x2, _y2) || (isInside && bm1 || bm0).getRange(_x1, _y1, _x2, _y2));
621
+ }
622
+
623
+ // 8-bit representation of anchors
624
+ const TOP = 0x0,
625
+ MIDDLE = 0x4,
626
+ BOTTOM = 0x8,
627
+ LEFT = 0x0,
628
+ CENTER = 0x1,
629
+ RIGHT = 0x2;
630
+
631
+ // Mapping from text anchor to number representation
632
+ const anchorCode = {
633
+ 'top-left': TOP + LEFT,
634
+ 'top': TOP + CENTER,
635
+ 'top-right': TOP + RIGHT,
636
+ 'left': MIDDLE + LEFT,
637
+ 'middle': MIDDLE + CENTER,
638
+ 'right': MIDDLE + RIGHT,
639
+ 'bottom-left': BOTTOM + LEFT,
640
+ 'bottom': BOTTOM + CENTER,
641
+ 'bottom-right': BOTTOM + RIGHT
642
+ };
643
+ const placeAreaLabel = {
644
+ 'naive': placeAreaLabelNaive,
645
+ 'reduced-search': placeAreaLabelReducedSearch,
646
+ 'floodfill': placeAreaLabelFloodFill
647
+ };
648
+ function labelLayout (texts, size, compare, offset, anchor, avoidMarks, avoidBaseMark, lineAnchor, markIndex, padding, method) {
649
+ // early exit for empty data
650
+ if (!texts.length) return texts;
651
+ const positions = Math.max(offset.length, anchor.length),
652
+ offsets = getOffsets(offset, positions),
653
+ anchors = getAnchors(anchor, positions),
654
+ marktype = markType(texts[0].datum),
655
+ grouptype = marktype === 'group' && texts[0].datum.items[markIndex].marktype,
656
+ isGroupArea = grouptype === 'area',
657
+ boundary = markBoundary(marktype, grouptype, lineAnchor, markIndex),
658
+ infPadding = padding === null || padding === Infinity,
659
+ isNaiveGroupArea = isGroupArea && method === 'naive';
660
+ let maxTextWidth = -1,
661
+ maxTextHeight = -1;
662
+
663
+ // prepare text mark data for placing
664
+ const data = texts.map(d => {
665
+ const textWidth = infPadding ? vegaScenegraph.textMetrics.width(d, d.text) : undefined;
666
+ maxTextWidth = Math.max(maxTextWidth, textWidth);
667
+ maxTextHeight = Math.max(maxTextHeight, d.fontSize);
668
+ return {
669
+ datum: d,
670
+ opacity: 0,
671
+ x: undefined,
672
+ y: undefined,
673
+ align: undefined,
674
+ baseline: undefined,
675
+ boundary: boundary(d),
676
+ textWidth
677
+ };
678
+ });
679
+ padding = padding === null || padding === Infinity ? Math.max(maxTextWidth, maxTextHeight) + Math.max(...offset) : padding;
680
+ const $ = scaler(size[0], size[1], padding);
681
+ let bitmaps;
682
+ if (!isNaiveGroupArea) {
683
+ // sort labels in priority order, if comparator is provided
684
+ if (compare) {
685
+ data.sort((a, b) => compare(a.datum, b.datum));
686
+ }
687
+
688
+ // flag indicating if label can be placed inside its base mark
689
+ let labelInside = false;
690
+ for (let i = 0; i < anchors.length && !labelInside; ++i) {
691
+ // label inside if anchor is at center
692
+ // label inside if offset to be inside the mark bound
693
+ labelInside = anchors[i] === 0x5 || offsets[i] < 0;
694
+ }
695
+
696
+ // extract data information from base mark when base mark is to be avoided
697
+ // base mark is implicitly avoided if it is a group area
698
+ const baseMark = (marktype && avoidBaseMark || isGroupArea) && texts.map(d => d.datum);
699
+
700
+ // generate bitmaps for layout calculation
701
+ bitmaps = avoidMarks.length || baseMark ? markBitmaps($, baseMark || [], avoidMarks, labelInside, isGroupArea) : baseBitmaps($, avoidBaseMark && data);
702
+ }
703
+
704
+ // generate label placement function
705
+ const place = isGroupArea ? placeAreaLabel[method]($, bitmaps, avoidBaseMark, markIndex) : placeMarkLabel($, bitmaps, anchors, offsets);
706
+
707
+ // place all labels
708
+ data.forEach(d => d.opacity = +place(d));
709
+ return data;
710
+ }
711
+ function getOffsets(_, count) {
712
+ const offsets = new Float64Array(count),
713
+ n = _.length;
714
+ for (let i = 0; i < n; ++i) offsets[i] = _[i] || 0;
715
+ for (let i = n; i < count; ++i) offsets[i] = offsets[n - 1];
716
+ return offsets;
717
+ }
718
+ function getAnchors(_, count) {
719
+ const anchors = new Int8Array(count),
720
+ n = _.length;
721
+ for (let i = 0; i < n; ++i) anchors[i] |= anchorCode[_[i]];
722
+ for (let i = n; i < count; ++i) anchors[i] = anchors[n - 1];
723
+ return anchors;
724
+ }
725
+ function markType(item) {
726
+ return item && item.mark && item.mark.marktype;
727
+ }
728
+
729
+ /**
730
+ * Factory function for function for getting base mark boundary, depending
731
+ * on mark and group type. When mark type is undefined, line or area: boundary
732
+ * is the coordinate of each data point. When base mark is grouped line,
733
+ * boundary is either at the start or end of the line depending on the
734
+ * value of lineAnchor. Otherwise, use bounds of base mark.
735
+ */
736
+ function markBoundary(marktype, grouptype, lineAnchor, markIndex) {
737
+ const xy = d => [d.x, d.x, d.x, d.y, d.y, d.y];
738
+ if (!marktype) {
739
+ return xy; // no reactive geometry
740
+ } else if (marktype === 'line' || marktype === 'area') {
741
+ return d => xy(d.datum);
742
+ } else if (grouptype === 'line') {
743
+ return d => {
744
+ const items = d.datum.items[markIndex].items;
745
+ return xy(items.length ? items[lineAnchor === 'start' ? 0 : items.length - 1] : {
746
+ x: NaN,
747
+ y: NaN
748
+ });
749
+ };
750
+ } else {
751
+ return d => {
752
+ const b = d.datum.bounds;
753
+ return [b.x1, (b.x1 + b.x2) / 2, b.x2, b.y1, (b.y1 + b.y2) / 2, b.y2];
754
+ };
755
+ }
756
+ }
757
+
758
+ const Output = ['x', 'y', 'opacity', 'align', 'baseline'];
759
+ const Anchors = ['top-left', 'left', 'bottom-left', 'top', 'bottom', 'top-right', 'right', 'bottom-right'];
760
+
761
+ /**
762
+ * Compute text label layout to annotate marks.
763
+ * @constructor
764
+ * @param {object} params - The parameters for this operator.
765
+ * @param {Array<number>} params.size - The size of the layout, provided as a [width, height] array.
766
+ * @param {function(*,*): number} [params.sort] - An optional
767
+ * comparator function for sorting label data in priority order.
768
+ * @param {Array<string>} [params.anchor] - Label anchor points relative to the base mark bounding box.
769
+ * The available options are 'top-left', 'left', 'bottom-left', 'top',
770
+ * 'bottom', 'top-right', 'right', 'bottom-right', 'middle'.
771
+ * @param {Array<number>} [params.offset] - Label offsets (in pixels) from the base mark bounding box.
772
+ * This parameter is parallel to the list of anchor points.
773
+ * @param {number | null} [params.padding=0] - The amount (in pixels) that a label may exceed the layout size.
774
+ * If this parameter is null, a label may exceed the layout size without any boundary.
775
+ * @param {string} [params.lineAnchor='end'] - For group line mark labels only, indicates the anchor
776
+ * position for labels. One of 'start' or 'end'.
777
+ * @param {string} [params.markIndex=0] - For group mark labels only, an index indicating
778
+ * which mark within the group should be labeled.
779
+ * @param {Array<number>} [params.avoidMarks] - A list of additional mark names for which the label
780
+ * layout should avoid overlap.
781
+ * @param {boolean} [params.avoidBaseMark=true] - Boolean flag indicating if labels should avoid
782
+ * overlap with the underlying base mark being labeled.
783
+ * @param {string} [params.method='naive'] - For area make labels only, a method for
784
+ * place labels. One of 'naive', 'reduced-search', or 'floodfill'.
785
+ * @param {Array<string>} [params.as] - The output fields written by the transform.
786
+ * The default is ['x', 'y', 'opacity', 'align', 'baseline'].
787
+ */
788
+ function Label(params) {
789
+ vegaDataflow.Transform.call(this, null, params);
790
+ }
791
+ Label.Definition = {
792
+ type: 'Label',
793
+ metadata: {
794
+ modifies: true
795
+ },
796
+ params: [{
797
+ name: 'size',
798
+ type: 'number',
799
+ array: true,
800
+ length: 2,
801
+ required: true
802
+ }, {
803
+ name: 'sort',
804
+ type: 'compare'
805
+ }, {
806
+ name: 'anchor',
807
+ type: 'string',
808
+ array: true,
809
+ default: Anchors
810
+ }, {
811
+ name: 'offset',
812
+ type: 'number',
813
+ array: true,
814
+ default: [1]
815
+ }, {
816
+ name: 'padding',
817
+ type: 'number',
818
+ default: 0,
819
+ null: true
820
+ }, {
821
+ name: 'lineAnchor',
822
+ type: 'string',
823
+ values: ['start', 'end'],
824
+ default: 'end'
825
+ }, {
826
+ name: 'markIndex',
827
+ type: 'number',
828
+ default: 0
829
+ }, {
830
+ name: 'avoidBaseMark',
831
+ type: 'boolean',
832
+ default: true
833
+ }, {
834
+ name: 'avoidMarks',
835
+ type: 'data',
836
+ array: true
837
+ }, {
838
+ name: 'method',
839
+ type: 'string',
840
+ default: 'naive'
841
+ }, {
842
+ name: 'as',
843
+ type: 'string',
844
+ array: true,
845
+ length: Output.length,
846
+ default: Output
847
+ }]
848
+ };
849
+ vegaUtil.inherits(Label, vegaDataflow.Transform, {
850
+ transform(_, pulse) {
851
+ function modp(param) {
852
+ const p = _[param];
853
+ return vegaUtil.isFunction(p) && pulse.modified(p.fields);
854
+ }
855
+ const mod = _.modified();
856
+ if (!(mod || pulse.changed(pulse.ADD_REM) || modp('sort'))) return;
857
+ if (!_.size || _.size.length !== 2) {
858
+ vegaUtil.error('Size parameter should be specified as a [width, height] array.');
859
+ }
860
+ const as = _.as || Output;
861
+
862
+ // run label layout
863
+ labelLayout(pulse.materialize(pulse.SOURCE).source || [], _.size, _.sort, vegaUtil.array(_.offset == null ? 1 : _.offset), vegaUtil.array(_.anchor || Anchors), _.avoidMarks || [], _.avoidBaseMark !== false, _.lineAnchor || 'end', _.markIndex || 0, _.padding === undefined ? 0 : _.padding, _.method || 'naive').forEach(l => {
864
+ // write layout results to data stream
865
+ const t = l.datum;
866
+ t[as[0]] = l.x;
867
+ t[as[1]] = l.y;
868
+ t[as[2]] = l.opacity;
869
+ t[as[3]] = l.align;
870
+ t[as[4]] = l.baseline;
871
+ });
872
+ return pulse.reflow(mod).modifies(as);
873
+ }
874
+ });
875
+
876
+ exports.label = Label;