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