@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,1157 @@
1
+ import deviation from '../../d3-array/src/deviation.js';
2
+ import ascending from '../../d3-array/src/ascending.js';
3
+ import quantile, { quantileSorted } from '../../d3-array/src/quantile.js';
4
+ import median from '../../d3-array/src/median.js';
5
+
6
+ function* numbers (values, valueof) {
7
+ if (valueof == null) {
8
+ for (let value of values) {
9
+ if (value != null && value !== '' && (value = +value) >= value) {
10
+ yield value;
11
+ }
12
+ }
13
+ } else {
14
+ let index = -1;
15
+ for (let value of values) {
16
+ value = valueof(value, ++index, values);
17
+ if (value != null && value !== '' && (value = +value) >= value) {
18
+ yield value;
19
+ }
20
+ }
21
+ }
22
+ }
23
+
24
+ function quantiles (array, p, f) {
25
+ const values = Float64Array.from(numbers(array, f));
26
+
27
+ // don't depend on return value from typed array sort call
28
+ // protects against undefined sort results in Safari (vega/vega-lite#4964)
29
+ values.sort(ascending);
30
+ return p.map(_ => quantileSorted(values, _));
31
+ }
32
+
33
+ function quartiles (array, f) {
34
+ return quantiles(array, [0.25, 0.50, 0.75], f);
35
+ }
36
+
37
+ // Scott, D. W. (1992) Multivariate Density Estimation:
38
+ // Theory, Practice, and Visualization. Wiley.
39
+ function estimateBandwidth (array, f) {
40
+ const n = array.length,
41
+ d = deviation(array, f),
42
+ q = quartiles(array, f),
43
+ h = (q[2] - q[0]) / 1.34,
44
+ v = Math.min(d, h) || d || Math.abs(q[0]) || 1;
45
+ return 1.06 * v * Math.pow(n, -0.2);
46
+ }
47
+
48
+ function bin (_) {
49
+ // determine range
50
+ const maxb = _.maxbins || 20,
51
+ base = _.base || 10,
52
+ logb = Math.log(base),
53
+ div = _.divide || [5, 2];
54
+ let min = _.extent[0],
55
+ max = _.extent[1],
56
+ step,
57
+ level,
58
+ minstep,
59
+ v,
60
+ i,
61
+ n;
62
+ const span = _.span || max - min || Math.abs(min) || 1;
63
+ if (_.step) {
64
+ // if step size is explicitly given, use that
65
+ step = _.step;
66
+ } else if (_.steps) {
67
+ // if provided, limit choice to acceptable step sizes
68
+ v = span / maxb;
69
+ for (i = 0, n = _.steps.length; i < n && _.steps[i] < v; ++i);
70
+ step = _.steps[Math.max(0, i - 1)];
71
+ } else {
72
+ // else use span to determine step size
73
+ level = Math.ceil(Math.log(maxb) / logb);
74
+ minstep = _.minstep || 0;
75
+ step = Math.max(minstep, Math.pow(base, Math.round(Math.log(span) / logb) - level));
76
+
77
+ // increase step size if too many bins
78
+ while (Math.ceil(span / step) > maxb) {
79
+ step *= base;
80
+ }
81
+
82
+ // decrease step size if allowed
83
+ for (i = 0, n = div.length; i < n; ++i) {
84
+ v = step / div[i];
85
+ if (v >= minstep && span / v <= maxb) step = v;
86
+ }
87
+ }
88
+
89
+ // update precision, min and max
90
+ v = Math.log(step);
91
+ const precision = v >= 0 ? 0 : ~~(-v / logb) + 1,
92
+ eps = Math.pow(base, -precision - 1);
93
+ if (_.nice || _.nice === undefined) {
94
+ v = Math.floor(min / step + eps) * step;
95
+ min = min < v ? v - step : v;
96
+ max = Math.ceil(max / step) * step;
97
+ }
98
+ return {
99
+ start: min,
100
+ stop: max === min ? min + step : max,
101
+ step: step
102
+ };
103
+ }
104
+
105
+ var random = Math.random;
106
+ function setRandom(r) {
107
+ random = r;
108
+ }
109
+
110
+ function bootstrapCI (array, samples, alpha, f) {
111
+ if (!array.length) return [undefined, undefined];
112
+ const values = Float64Array.from(numbers(array, f)),
113
+ n = values.length,
114
+ m = samples;
115
+ let a, i, j, mu;
116
+ for (j = 0, mu = Array(m); j < m; ++j) {
117
+ for (a = 0, i = 0; i < n; ++i) {
118
+ a += values[~~(random() * n)];
119
+ }
120
+ mu[j] = a / n;
121
+ }
122
+ mu.sort(ascending);
123
+ return [quantile(mu, alpha / 2), quantile(mu, 1 - alpha / 2)];
124
+ }
125
+
126
+ // Dot density binning for dot plot construction.
127
+ // Based on Leland Wilkinson, Dot Plots, The American Statistician, 1999.
128
+ // https://www.cs.uic.edu/~wilkinson/Publications/dotplots.pdf
129
+ function dotbin (array, step, smooth, f) {
130
+ f = f || (_ => _);
131
+ const n = array.length,
132
+ v = new Float64Array(n);
133
+ let i = 0,
134
+ j = 1,
135
+ a = f(array[0]),
136
+ b = a,
137
+ w = a + step,
138
+ x;
139
+ for (; j < n; ++j) {
140
+ x = f(array[j]);
141
+ if (x >= w) {
142
+ b = (a + b) / 2;
143
+ for (; i < j; ++i) v[i] = b;
144
+ w = x + step;
145
+ a = x;
146
+ }
147
+ b = x;
148
+ }
149
+ b = (a + b) / 2;
150
+ for (; i < j; ++i) v[i] = b;
151
+ return smooth ? smoothing(v, step + step / 4) : v;
152
+ }
153
+
154
+ // perform smoothing to reduce variance
155
+ // swap points between "adjacent" stacks
156
+ // Wilkinson defines adjacent as within step/4 units
157
+ function smoothing(v, thresh) {
158
+ const n = v.length;
159
+ let a = 0,
160
+ b = 1,
161
+ c,
162
+ d;
163
+
164
+ // get left stack
165
+ while (v[a] === v[b]) ++b;
166
+ while (b < n) {
167
+ // get right stack
168
+ c = b + 1;
169
+ while (v[b] === v[c]) ++c;
170
+
171
+ // are stacks adjacent?
172
+ // if so, compare sizes and swap as needed
173
+ if (v[b] - v[b - 1] < thresh) {
174
+ d = b + (a + c - b - b >> 1);
175
+ while (d < b) v[d++] = v[b];
176
+ while (d > b) v[d--] = v[a];
177
+ }
178
+
179
+ // update left stack indices
180
+ a = b;
181
+ b = c;
182
+ }
183
+ return v;
184
+ }
185
+
186
+ function lcg (seed) {
187
+ // Random numbers using a Linear Congruential Generator with seed value
188
+ // Uses glibc values from https://en.wikipedia.org/wiki/Linear_congruential_generator
189
+ return function () {
190
+ seed = (1103515245 * seed + 12345) % 2147483647;
191
+ return seed / 2147483647;
192
+ };
193
+ }
194
+
195
+ function integer (min, max) {
196
+ if (max == null) {
197
+ max = min;
198
+ min = 0;
199
+ }
200
+ let a, b, d;
201
+ const dist = {
202
+ min(_) {
203
+ if (arguments.length) {
204
+ a = _ || 0;
205
+ d = b - a;
206
+ return dist;
207
+ } else {
208
+ return a;
209
+ }
210
+ },
211
+ max(_) {
212
+ if (arguments.length) {
213
+ b = _ || 0;
214
+ d = b - a;
215
+ return dist;
216
+ } else {
217
+ return b;
218
+ }
219
+ },
220
+ sample() {
221
+ return a + Math.floor(d * random());
222
+ },
223
+ pdf(x) {
224
+ return x === Math.floor(x) && x >= a && x < b ? 1 / d : 0;
225
+ },
226
+ cdf(x) {
227
+ const v = Math.floor(x);
228
+ return v < a ? 0 : v >= b ? 1 : (v - a + 1) / d;
229
+ },
230
+ icdf(p) {
231
+ return p >= 0 && p <= 1 ? a - 1 + Math.floor(p * d) : NaN;
232
+ }
233
+ };
234
+ return dist.min(min).max(max);
235
+ }
236
+
237
+ const SQRT2PI = Math.sqrt(2 * Math.PI);
238
+ const SQRT2 = Math.SQRT2;
239
+
240
+ let nextSample = NaN;
241
+ function sampleNormal(mean, stdev) {
242
+ mean = mean || 0;
243
+ stdev = stdev == null ? 1 : stdev;
244
+ let x = 0,
245
+ y = 0,
246
+ rds,
247
+ c;
248
+ if (nextSample === nextSample) {
249
+ x = nextSample;
250
+ nextSample = NaN;
251
+ } else {
252
+ do {
253
+ x = random() * 2 - 1;
254
+ y = random() * 2 - 1;
255
+ rds = x * x + y * y;
256
+ } while (rds === 0 || rds > 1);
257
+ c = Math.sqrt(-2 * Math.log(rds) / rds); // Box-Muller transform
258
+ x *= c;
259
+ nextSample = y * c;
260
+ }
261
+ return mean + x * stdev;
262
+ }
263
+ function densityNormal(value, mean, stdev) {
264
+ stdev = stdev == null ? 1 : stdev;
265
+ const z = (value - (mean || 0)) / stdev;
266
+ return Math.exp(-0.5 * z * z) / (stdev * SQRT2PI);
267
+ }
268
+
269
+ // Approximation from West (2009)
270
+ // Better Approximations to Cumulative Normal Functions
271
+ function cumulativeNormal(value, mean, stdev) {
272
+ mean = mean || 0;
273
+ stdev = stdev == null ? 1 : stdev;
274
+ const z = (value - mean) / stdev,
275
+ Z = Math.abs(z);
276
+ let cd;
277
+ if (Z > 37) {
278
+ cd = 0;
279
+ } else {
280
+ const exp = Math.exp(-Z * Z / 2);
281
+ let sum;
282
+ if (Z < 7.07106781186547) {
283
+ sum = 3.52624965998911e-02 * Z + 0.700383064443688;
284
+ sum = sum * Z + 6.37396220353165;
285
+ sum = sum * Z + 33.912866078383;
286
+ sum = sum * Z + 112.079291497871;
287
+ sum = sum * Z + 221.213596169931;
288
+ sum = sum * Z + 220.206867912376;
289
+ cd = exp * sum;
290
+ sum = 8.83883476483184e-02 * Z + 1.75566716318264;
291
+ sum = sum * Z + 16.064177579207;
292
+ sum = sum * Z + 86.7807322029461;
293
+ sum = sum * Z + 296.564248779674;
294
+ sum = sum * Z + 637.333633378831;
295
+ sum = sum * Z + 793.826512519948;
296
+ sum = sum * Z + 440.413735824752;
297
+ cd = cd / sum;
298
+ } else {
299
+ sum = Z + 0.65;
300
+ sum = Z + 4 / sum;
301
+ sum = Z + 3 / sum;
302
+ sum = Z + 2 / sum;
303
+ sum = Z + 1 / sum;
304
+ cd = exp / sum / 2.506628274631;
305
+ }
306
+ }
307
+ return z > 0 ? 1 - cd : cd;
308
+ }
309
+
310
+ // Approximation of Probit function using inverse error function.
311
+ function quantileNormal(p, mean, stdev) {
312
+ if (p < 0 || p > 1) return NaN;
313
+ return (mean || 0) + (stdev == null ? 1 : stdev) * SQRT2 * erfinv(2 * p - 1);
314
+ }
315
+
316
+ // Approximate inverse error function. Implementation from "Approximating
317
+ // the erfinv function" by Mike Giles, GPU Computing Gems, volume 2, 2010.
318
+ // Ported from Apache Commons Math, http://www.apache.org/licenses/LICENSE-2.0
319
+ function erfinv(x) {
320
+ // beware that the logarithm argument must be
321
+ // commputed as (1.0 - x) * (1.0 + x),
322
+ // it must NOT be simplified as 1.0 - x * x as this
323
+ // would induce rounding errors near the boundaries +/-1
324
+ let w = -Math.log((1 - x) * (1 + x)),
325
+ p;
326
+ if (w < 6.25) {
327
+ w -= 3.125;
328
+ p = -364441206401782e-35;
329
+ p = -16850591381820166e-35 + p * w;
330
+ p = 1.2858480715256400167e-18 + p * w;
331
+ p = 1.115787767802518096e-17 + p * w;
332
+ p = -1333171662854621e-31 + p * w;
333
+ p = 2.0972767875968561637e-17 + p * w;
334
+ p = 6.6376381343583238325e-15 + p * w;
335
+ p = -4054566272975207e-29 + p * w;
336
+ p = -8151934197605472e-29 + p * w;
337
+ p = 2.6335093153082322977e-12 + p * w;
338
+ p = -12975133253453532e-27 + p * w;
339
+ p = -5415412054294628e-26 + p * w;
340
+ p = 1.051212273321532285e-09 + p * w;
341
+ p = -4.112633980346984e-9 + p * w;
342
+ p = -2.9070369957882005e-8 + p * w;
343
+ p = 4.2347877827932403518e-07 + p * w;
344
+ p = -13654692000834679e-22 + p * w;
345
+ p = -13882523362786469e-21 + p * w;
346
+ p = 0.0001867342080340571352 + p * w;
347
+ p = -740702534166267e-18 + p * w;
348
+ p = -0.006033670871430149 + p * w;
349
+ p = 0.24015818242558961693 + p * w;
350
+ p = 1.6536545626831027356 + p * w;
351
+ } else if (w < 16.0) {
352
+ w = Math.sqrt(w) - 3.25;
353
+ p = 2.2137376921775787049e-09;
354
+ p = 9.0756561938885390979e-08 + p * w;
355
+ p = -2.7517406297064545e-7 + p * w;
356
+ p = 1.8239629214389227755e-08 + p * w;
357
+ p = 1.5027403968909827627e-06 + p * w;
358
+ p = -4013867526981546e-21 + p * w;
359
+ p = 2.9234449089955446044e-06 + p * w;
360
+ p = 1.2475304481671778723e-05 + p * w;
361
+ p = -47318229009055734e-21 + p * w;
362
+ p = 6.8284851459573175448e-05 + p * w;
363
+ p = 2.4031110387097893999e-05 + p * w;
364
+ p = -3550375203628475e-19 + p * w;
365
+ p = 0.00095328937973738049703 + p * w;
366
+ p = -0.0016882755560235047 + p * w;
367
+ p = 0.0024914420961078508066 + p * w;
368
+ p = -0.003751208507569241 + p * w;
369
+ p = 0.005370914553590063617 + p * w;
370
+ p = 1.0052589676941592334 + p * w;
371
+ p = 3.0838856104922207635 + p * w;
372
+ } else if (Number.isFinite(w)) {
373
+ w = Math.sqrt(w) - 5.0;
374
+ p = -27109920616438573e-27;
375
+ p = -2555641816996525e-25 + p * w;
376
+ p = 1.5076572693500548083e-09 + p * w;
377
+ p = -3.789465440126737e-9 + p * w;
378
+ p = 7.6157012080783393804e-09 + p * w;
379
+ p = -1.496002662714924e-8 + p * w;
380
+ p = 2.9147953450901080826e-08 + p * w;
381
+ p = -6.771199775845234e-8 + p * w;
382
+ p = 2.2900482228026654717e-07 + p * w;
383
+ p = -9.9298272942317e-7 + p * w;
384
+ p = 4.5260625972231537039e-06 + p * w;
385
+ p = -1968177810553167e-20 + p * w;
386
+ p = 7.5995277030017761139e-05 + p * w;
387
+ p = -21503011930044477e-20 + p * w;
388
+ p = -13871931833623122e-20 + p * w;
389
+ p = 1.0103004648645343977 + p * w;
390
+ p = 4.8499064014085844221 + p * w;
391
+ } else {
392
+ p = Infinity;
393
+ }
394
+ return p * x;
395
+ }
396
+ function gaussian (mean, stdev) {
397
+ let mu, sigma;
398
+ const dist = {
399
+ mean(_) {
400
+ if (arguments.length) {
401
+ mu = _ || 0;
402
+ return dist;
403
+ } else {
404
+ return mu;
405
+ }
406
+ },
407
+ stdev(_) {
408
+ if (arguments.length) {
409
+ sigma = _ == null ? 1 : _;
410
+ return dist;
411
+ } else {
412
+ return sigma;
413
+ }
414
+ },
415
+ sample: () => sampleNormal(mu, sigma),
416
+ pdf: value => densityNormal(value, mu, sigma),
417
+ cdf: value => cumulativeNormal(value, mu, sigma),
418
+ icdf: p => quantileNormal(p, mu, sigma)
419
+ };
420
+ return dist.mean(mean).stdev(stdev);
421
+ }
422
+
423
+ function kde (support, bandwidth) {
424
+ const kernel = gaussian();
425
+ let n = 0;
426
+ const dist = {
427
+ data(_) {
428
+ if (arguments.length) {
429
+ support = _;
430
+ n = _ ? _.length : 0;
431
+ return dist.bandwidth(bandwidth);
432
+ } else {
433
+ return support;
434
+ }
435
+ },
436
+ bandwidth(_) {
437
+ if (!arguments.length) return bandwidth;
438
+ bandwidth = _;
439
+ if (!bandwidth && support) bandwidth = estimateBandwidth(support);
440
+ return dist;
441
+ },
442
+ sample() {
443
+ return support[~~(random() * n)] + bandwidth * kernel.sample();
444
+ },
445
+ pdf(x) {
446
+ let y = 0,
447
+ i = 0;
448
+ for (; i < n; ++i) {
449
+ y += kernel.pdf((x - support[i]) / bandwidth);
450
+ }
451
+ return y / bandwidth / n;
452
+ },
453
+ cdf(x) {
454
+ let y = 0,
455
+ i = 0;
456
+ for (; i < n; ++i) {
457
+ y += kernel.cdf((x - support[i]) / bandwidth);
458
+ }
459
+ return y / n;
460
+ },
461
+ icdf() {
462
+ throw Error('KDE icdf not supported.');
463
+ }
464
+ };
465
+ return dist.data(support);
466
+ }
467
+
468
+ function sampleLogNormal(mean, stdev) {
469
+ mean = mean || 0;
470
+ stdev = stdev == null ? 1 : stdev;
471
+ return Math.exp(mean + sampleNormal() * stdev);
472
+ }
473
+ function densityLogNormal(value, mean, stdev) {
474
+ if (value <= 0) return 0;
475
+ mean = mean || 0;
476
+ stdev = stdev == null ? 1 : stdev;
477
+ const z = (Math.log(value) - mean) / stdev;
478
+ return Math.exp(-0.5 * z * z) / (stdev * SQRT2PI * value);
479
+ }
480
+ function cumulativeLogNormal(value, mean, stdev) {
481
+ return cumulativeNormal(Math.log(value), mean, stdev);
482
+ }
483
+ function quantileLogNormal(p, mean, stdev) {
484
+ return Math.exp(quantileNormal(p, mean, stdev));
485
+ }
486
+ function lognormal (mean, stdev) {
487
+ let mu, sigma;
488
+ const dist = {
489
+ mean(_) {
490
+ if (arguments.length) {
491
+ mu = _ || 0;
492
+ return dist;
493
+ } else {
494
+ return mu;
495
+ }
496
+ },
497
+ stdev(_) {
498
+ if (arguments.length) {
499
+ sigma = _ == null ? 1 : _;
500
+ return dist;
501
+ } else {
502
+ return sigma;
503
+ }
504
+ },
505
+ sample: () => sampleLogNormal(mu, sigma),
506
+ pdf: value => densityLogNormal(value, mu, sigma),
507
+ cdf: value => cumulativeLogNormal(value, mu, sigma),
508
+ icdf: p => quantileLogNormal(p, mu, sigma)
509
+ };
510
+ return dist.mean(mean).stdev(stdev);
511
+ }
512
+
513
+ function mixture (dists, weights) {
514
+ let m = 0,
515
+ w;
516
+ function normalize(x) {
517
+ const w = [];
518
+ let sum = 0,
519
+ i;
520
+ for (i = 0; i < m; ++i) {
521
+ sum += w[i] = x[i] == null ? 1 : +x[i];
522
+ }
523
+ for (i = 0; i < m; ++i) {
524
+ w[i] /= sum;
525
+ }
526
+ return w;
527
+ }
528
+ const dist = {
529
+ weights(_) {
530
+ if (arguments.length) {
531
+ w = normalize(weights = _ || []);
532
+ return dist;
533
+ }
534
+ return weights;
535
+ },
536
+ distributions(_) {
537
+ if (arguments.length) {
538
+ if (_) {
539
+ m = _.length;
540
+ dists = _;
541
+ } else {
542
+ m = 0;
543
+ dists = [];
544
+ }
545
+ return dist.weights(weights);
546
+ }
547
+ return dists;
548
+ },
549
+ sample() {
550
+ const r = random();
551
+ let d = dists[m - 1],
552
+ v = w[0],
553
+ i = 0;
554
+
555
+ // first select distribution
556
+ for (; i < m - 1; v += w[++i]) {
557
+ if (r < v) {
558
+ d = dists[i];
559
+ break;
560
+ }
561
+ }
562
+ // then sample from it
563
+ return d.sample();
564
+ },
565
+ pdf(x) {
566
+ let p = 0,
567
+ i = 0;
568
+ for (; i < m; ++i) {
569
+ p += w[i] * dists[i].pdf(x);
570
+ }
571
+ return p;
572
+ },
573
+ cdf(x) {
574
+ let p = 0,
575
+ i = 0;
576
+ for (; i < m; ++i) {
577
+ p += w[i] * dists[i].cdf(x);
578
+ }
579
+ return p;
580
+ },
581
+ icdf() {
582
+ throw Error('Mixture icdf not supported.');
583
+ }
584
+ };
585
+ return dist.distributions(dists).weights(weights);
586
+ }
587
+
588
+ function sampleUniform(min, max) {
589
+ if (max == null) {
590
+ max = min == null ? 1 : min;
591
+ min = 0;
592
+ }
593
+ return min + (max - min) * random();
594
+ }
595
+ function densityUniform(value, min, max) {
596
+ if (max == null) {
597
+ max = min == null ? 1 : min;
598
+ min = 0;
599
+ }
600
+ return value >= min && value <= max ? 1 / (max - min) : 0;
601
+ }
602
+ function cumulativeUniform(value, min, max) {
603
+ if (max == null) {
604
+ max = min == null ? 1 : min;
605
+ min = 0;
606
+ }
607
+ return value < min ? 0 : value > max ? 1 : (value - min) / (max - min);
608
+ }
609
+ function quantileUniform(p, min, max) {
610
+ if (max == null) {
611
+ max = min == null ? 1 : min;
612
+ min = 0;
613
+ }
614
+ return p >= 0 && p <= 1 ? min + p * (max - min) : NaN;
615
+ }
616
+ function uniform (min, max) {
617
+ let a, b;
618
+ const dist = {
619
+ min(_) {
620
+ if (arguments.length) {
621
+ a = _ || 0;
622
+ return dist;
623
+ } else {
624
+ return a;
625
+ }
626
+ },
627
+ max(_) {
628
+ if (arguments.length) {
629
+ b = _ == null ? 1 : _;
630
+ return dist;
631
+ } else {
632
+ return b;
633
+ }
634
+ },
635
+ sample: () => sampleUniform(a, b),
636
+ pdf: value => densityUniform(value, a, b),
637
+ cdf: value => cumulativeUniform(value, a, b),
638
+ icdf: p => quantileUniform(p, a, b)
639
+ };
640
+ if (max == null) {
641
+ max = min == null ? 1 : min;
642
+ min = 0;
643
+ }
644
+ return dist.min(min).max(max);
645
+ }
646
+
647
+ function constant (data, x, y) {
648
+ let mean = 0,
649
+ n = 0;
650
+ for (const d of data) {
651
+ const val = y(d);
652
+ if (x(d) == null || val == null || isNaN(val)) continue;
653
+ mean += (val - mean) / ++n;
654
+ }
655
+ return {
656
+ coef: [mean],
657
+ predict: () => mean,
658
+ rSquared: 0
659
+ };
660
+ }
661
+
662
+ // Ordinary Least Squares
663
+ function ols (uX, uY, uXY, uX2) {
664
+ const delta = uX2 - uX * uX,
665
+ slope = Math.abs(delta) < 1e-24 ? 0 : (uXY - uX * uY) / delta,
666
+ intercept = uY - slope * uX;
667
+ return [intercept, slope];
668
+ }
669
+
670
+ function points(data, x, y, sort) {
671
+ data = data.filter(d => {
672
+ let u = x(d),
673
+ v = y(d);
674
+ return u != null && (u = +u) >= u && v != null && (v = +v) >= v;
675
+ });
676
+ if (sort) {
677
+ data.sort((a, b) => x(a) - x(b));
678
+ }
679
+ const n = data.length,
680
+ X = new Float64Array(n),
681
+ Y = new Float64Array(n);
682
+
683
+ // extract values, calculate means
684
+ let i = 0,
685
+ ux = 0,
686
+ uy = 0,
687
+ xv,
688
+ yv,
689
+ d;
690
+ for (d of data) {
691
+ X[i] = xv = +x(d);
692
+ Y[i] = yv = +y(d);
693
+ ++i;
694
+ ux += (xv - ux) / i;
695
+ uy += (yv - uy) / i;
696
+ }
697
+
698
+ // mean center the data
699
+ for (i = 0; i < n; ++i) {
700
+ X[i] -= ux;
701
+ Y[i] -= uy;
702
+ }
703
+ return [X, Y, ux, uy];
704
+ }
705
+ function visitPoints(data, x, y, callback) {
706
+ let i = -1,
707
+ u,
708
+ v;
709
+ for (const d of data) {
710
+ u = x(d);
711
+ v = y(d);
712
+ if (u != null && (u = +u) >= u && v != null && (v = +v) >= v) {
713
+ callback(u, v, ++i);
714
+ }
715
+ }
716
+ }
717
+
718
+ // Adapted from d3-regression by Harry Stevens
719
+ // License: https://github.com/HarryStevens/d3-regression/blob/master/LICENSE
720
+ function rSquared (data, x, y, uY, predict) {
721
+ let SSE = 0,
722
+ SST = 0;
723
+ visitPoints(data, x, y, (dx, dy) => {
724
+ const sse = dy - predict(dx),
725
+ sst = dy - uY;
726
+ SSE += sse * sse;
727
+ SST += sst * sst;
728
+ });
729
+ return 1 - SSE / SST;
730
+ }
731
+
732
+ // Adapted from d3-regression by Harry Stevens
733
+ // License: https://github.com/HarryStevens/d3-regression/blob/master/LICENSE
734
+ function linear (data, x, y) {
735
+ let X = 0,
736
+ Y = 0,
737
+ XY = 0,
738
+ X2 = 0,
739
+ n = 0;
740
+ visitPoints(data, x, y, (dx, dy) => {
741
+ ++n;
742
+ X += (dx - X) / n;
743
+ Y += (dy - Y) / n;
744
+ XY += (dx * dy - XY) / n;
745
+ X2 += (dx * dx - X2) / n;
746
+ });
747
+ const coef = ols(X, Y, XY, X2),
748
+ predict = x => coef[0] + coef[1] * x;
749
+ return {
750
+ coef: coef,
751
+ predict: predict,
752
+ rSquared: rSquared(data, x, y, Y, predict)
753
+ };
754
+ }
755
+
756
+ // Adapted from d3-regression by Harry Stevens
757
+ // License: https://github.com/HarryStevens/d3-regression/blob/master/LICENSE
758
+ function log (data, x, y) {
759
+ let X = 0,
760
+ Y = 0,
761
+ XY = 0,
762
+ X2 = 0,
763
+ n = 0;
764
+ visitPoints(data, x, y, (dx, dy) => {
765
+ ++n;
766
+ dx = Math.log(dx);
767
+ X += (dx - X) / n;
768
+ Y += (dy - Y) / n;
769
+ XY += (dx * dy - XY) / n;
770
+ X2 += (dx * dx - X2) / n;
771
+ });
772
+ const coef = ols(X, Y, XY, X2),
773
+ predict = x => coef[0] + coef[1] * Math.log(x);
774
+ return {
775
+ coef: coef,
776
+ predict: predict,
777
+ rSquared: rSquared(data, x, y, Y, predict)
778
+ };
779
+ }
780
+
781
+ function exp (data, x, y) {
782
+ const [xv, yv, ux, uy] = points(data, x, y);
783
+ let YL = 0,
784
+ XY = 0,
785
+ XYL = 0,
786
+ X2Y = 0,
787
+ n = 0,
788
+ dx,
789
+ ly,
790
+ xy;
791
+ visitPoints(data, x, y, (_, dy) => {
792
+ dx = xv[n++];
793
+ ly = Math.log(dy);
794
+ xy = dx * dy;
795
+ YL += (dy * ly - YL) / n;
796
+ XY += (xy - XY) / n;
797
+ XYL += (xy * ly - XYL) / n;
798
+ X2Y += (dx * xy - X2Y) / n;
799
+ });
800
+ const [c0, c1] = ols(XY / uy, YL / uy, XYL / uy, X2Y / uy),
801
+ predict = x => Math.exp(c0 + c1 * (x - ux));
802
+ return {
803
+ coef: [Math.exp(c0 - c1 * ux), c1],
804
+ predict: predict,
805
+ rSquared: rSquared(data, x, y, uy, predict)
806
+ };
807
+ }
808
+
809
+ // Adapted from d3-regression by Harry Stevens
810
+ // License: https://github.com/HarryStevens/d3-regression/blob/master/LICENSE
811
+ function pow (data, x, y) {
812
+ let X = 0,
813
+ Y = 0,
814
+ XY = 0,
815
+ X2 = 0,
816
+ YS = 0,
817
+ n = 0;
818
+ visitPoints(data, x, y, (dx, dy) => {
819
+ const lx = Math.log(dx),
820
+ ly = Math.log(dy);
821
+ ++n;
822
+ X += (lx - X) / n;
823
+ Y += (ly - Y) / n;
824
+ XY += (lx * ly - XY) / n;
825
+ X2 += (lx * lx - X2) / n;
826
+ YS += (dy - YS) / n;
827
+ });
828
+ const coef = ols(X, Y, XY, X2),
829
+ predict = x => coef[0] * Math.pow(x, coef[1]);
830
+ coef[0] = Math.exp(coef[0]);
831
+ return {
832
+ coef: coef,
833
+ predict: predict,
834
+ rSquared: rSquared(data, x, y, YS, predict)
835
+ };
836
+ }
837
+
838
+ function quad (data, x, y) {
839
+ const [xv, yv, ux, uy] = points(data, x, y),
840
+ n = xv.length;
841
+ let X2 = 0,
842
+ X3 = 0,
843
+ X4 = 0,
844
+ XY = 0,
845
+ X2Y = 0,
846
+ i,
847
+ dx,
848
+ dy,
849
+ x2;
850
+ for (i = 0; i < n;) {
851
+ dx = xv[i];
852
+ dy = yv[i++];
853
+ x2 = dx * dx;
854
+ X2 += (x2 - X2) / i;
855
+ X3 += (x2 * dx - X3) / i;
856
+ X4 += (x2 * x2 - X4) / i;
857
+ XY += (dx * dy - XY) / i;
858
+ X2Y += (x2 * dy - X2Y) / i;
859
+ }
860
+ const X2X2 = X4 - X2 * X2,
861
+ d = X2 * X2X2 - X3 * X3,
862
+ a = (X2Y * X2 - XY * X3) / d,
863
+ b = (XY * X2X2 - X2Y * X3) / d,
864
+ c = -a * X2,
865
+ predict = x => {
866
+ x = x - ux;
867
+ return a * x * x + b * x + c + uy;
868
+ };
869
+
870
+ // transform coefficients back from mean-centered space
871
+ return {
872
+ coef: [c - b * ux + a * ux * ux + uy, b - 2 * a * ux, a],
873
+ predict: predict,
874
+ rSquared: rSquared(data, x, y, uy, predict)
875
+ };
876
+ }
877
+
878
+ // Adapted from d3-regression by Harry Stevens
879
+ // License: https://github.com/HarryStevens/d3-regression/blob/master/LICENSE
880
+ // ... which was adapted from regression-js by Tom Alexander
881
+ // Source: https://github.com/Tom-Alexander/regression-js/blob/master/src/regression.js#L246
882
+ // License: https://github.com/Tom-Alexander/regression-js/blob/master/LICENSE
883
+ function poly (data, x, y, order) {
884
+ // use more efficient methods for lower orders
885
+ if (order === 0) return constant(data, x, y);
886
+ if (order === 1) return linear(data, x, y);
887
+ if (order === 2) return quad(data, x, y);
888
+ const [xv, yv, ux, uy] = points(data, x, y),
889
+ n = xv.length,
890
+ lhs = [],
891
+ rhs = [],
892
+ k = order + 1;
893
+ let i, j, l, v, c;
894
+ for (i = 0; i < k; ++i) {
895
+ for (l = 0, v = 0; l < n; ++l) {
896
+ v += Math.pow(xv[l], i) * yv[l];
897
+ }
898
+ lhs.push(v);
899
+ c = new Float64Array(k);
900
+ for (j = 0; j < k; ++j) {
901
+ for (l = 0, v = 0; l < n; ++l) {
902
+ v += Math.pow(xv[l], i + j);
903
+ }
904
+ c[j] = v;
905
+ }
906
+ rhs.push(c);
907
+ }
908
+ rhs.push(lhs);
909
+ const coef = gaussianElimination(rhs),
910
+ predict = x => {
911
+ x -= ux;
912
+ let y = uy + coef[0] + coef[1] * x + coef[2] * x * x;
913
+ for (i = 3; i < k; ++i) y += coef[i] * Math.pow(x, i);
914
+ return y;
915
+ };
916
+ return {
917
+ coef: uncenter(k, coef, -ux, uy),
918
+ predict: predict,
919
+ rSquared: rSquared(data, x, y, uy, predict)
920
+ };
921
+ }
922
+ function uncenter(k, a, x, y) {
923
+ const z = Array(k);
924
+ let i, j, v, c;
925
+
926
+ // initialize to zero
927
+ for (i = 0; i < k; ++i) z[i] = 0;
928
+
929
+ // polynomial expansion
930
+ for (i = k - 1; i >= 0; --i) {
931
+ v = a[i];
932
+ c = 1;
933
+ z[i] += v;
934
+ for (j = 1; j <= i; ++j) {
935
+ c *= (i + 1 - j) / j; // binomial coefficent
936
+ z[i - j] += v * Math.pow(x, j) * c;
937
+ }
938
+ }
939
+
940
+ // bias term
941
+ z[0] += y;
942
+ return z;
943
+ }
944
+
945
+ // Given an array for a two-dimensional matrix and the polynomial order,
946
+ // solve A * x = b using Gaussian elimination.
947
+ function gaussianElimination(matrix) {
948
+ const n = matrix.length - 1,
949
+ coef = [];
950
+ let i, j, k, r, t;
951
+ for (i = 0; i < n; ++i) {
952
+ r = i; // max row
953
+ for (j = i + 1; j < n; ++j) {
954
+ if (Math.abs(matrix[i][j]) > Math.abs(matrix[i][r])) {
955
+ r = j;
956
+ }
957
+ }
958
+ for (k = i; k < n + 1; ++k) {
959
+ t = matrix[k][i];
960
+ matrix[k][i] = matrix[k][r];
961
+ matrix[k][r] = t;
962
+ }
963
+ for (j = i + 1; j < n; ++j) {
964
+ for (k = n; k >= i; k--) {
965
+ matrix[k][j] -= matrix[k][i] * matrix[i][j] / matrix[i][i];
966
+ }
967
+ }
968
+ }
969
+ for (j = n - 1; j >= 0; --j) {
970
+ t = 0;
971
+ for (k = j + 1; k < n; ++k) {
972
+ t += matrix[k][j] * coef[k];
973
+ }
974
+ coef[j] = (matrix[n][j] - t) / matrix[j][j];
975
+ }
976
+ return coef;
977
+ }
978
+
979
+ const maxiters = 2,
980
+ epsilon = 1e-12;
981
+
982
+ // Adapted from science.js by Jason Davies
983
+ // Source: https://github.com/jasondavies/science.js/blob/master/src/stats/loess.js
984
+ // License: https://github.com/jasondavies/science.js/blob/master/LICENSE
985
+ function loess (data, x, y, bandwidth) {
986
+ const [xv, yv, ux, uy] = points(data, x, y, true),
987
+ n = xv.length,
988
+ bw = Math.max(2, ~~(bandwidth * n)),
989
+ // # nearest neighbors
990
+ yhat = new Float64Array(n),
991
+ residuals = new Float64Array(n),
992
+ robustWeights = new Float64Array(n).fill(1);
993
+ for (let iter = -1; ++iter <= maxiters;) {
994
+ const interval = [0, bw - 1];
995
+ for (let i = 0; i < n; ++i) {
996
+ const dx = xv[i],
997
+ i0 = interval[0],
998
+ i1 = interval[1],
999
+ edge = dx - xv[i0] > xv[i1] - dx ? i0 : i1;
1000
+ let W = 0,
1001
+ X = 0,
1002
+ Y = 0,
1003
+ XY = 0,
1004
+ X2 = 0;
1005
+ const denom = 1 / Math.abs(xv[edge] - dx || 1); // avoid singularity!
1006
+
1007
+ for (let k = i0; k <= i1; ++k) {
1008
+ const xk = xv[k],
1009
+ yk = yv[k],
1010
+ w = tricube(Math.abs(dx - xk) * denom) * robustWeights[k],
1011
+ xkw = xk * w;
1012
+ W += w;
1013
+ X += xkw;
1014
+ Y += yk * w;
1015
+ XY += yk * xkw;
1016
+ X2 += xk * xkw;
1017
+ }
1018
+
1019
+ // linear regression fit
1020
+ const [a, b] = ols(X / W, Y / W, XY / W, X2 / W);
1021
+ yhat[i] = a + b * dx;
1022
+ residuals[i] = Math.abs(yv[i] - yhat[i]);
1023
+ updateInterval(xv, i + 1, interval);
1024
+ }
1025
+ if (iter === maxiters) {
1026
+ break;
1027
+ }
1028
+ const medianResidual = median(residuals);
1029
+ if (Math.abs(medianResidual) < epsilon) break;
1030
+ for (let i = 0, arg, w; i < n; ++i) {
1031
+ arg = residuals[i] / (6 * medianResidual);
1032
+ // default to epsilon (rather than zero) for large deviations
1033
+ // keeping weights tiny but non-zero prevents singularites
1034
+ robustWeights[i] = arg >= 1 ? epsilon : (w = 1 - arg * arg) * w;
1035
+ }
1036
+ }
1037
+ return output(xv, yhat, ux, uy);
1038
+ }
1039
+
1040
+ // weighting kernel for local regression
1041
+ function tricube(x) {
1042
+ return (x = 1 - x * x * x) * x * x;
1043
+ }
1044
+
1045
+ // advance sliding window interval of nearest neighbors
1046
+ function updateInterval(xv, i, interval) {
1047
+ const val = xv[i];
1048
+ let left = interval[0],
1049
+ right = interval[1] + 1;
1050
+ if (right >= xv.length) return;
1051
+
1052
+ // step right if distance to new right edge is <= distance to old left edge
1053
+ // step when distance is equal to ensure movement over duplicate x values
1054
+ while (i > left && xv[right] - val <= val - xv[left]) {
1055
+ interval[0] = ++left;
1056
+ interval[1] = right;
1057
+ ++right;
1058
+ }
1059
+ }
1060
+
1061
+ // generate smoothed output points
1062
+ // average points with repeated x values
1063
+ function output(xv, yhat, ux, uy) {
1064
+ const n = xv.length,
1065
+ out = [];
1066
+ let i = 0,
1067
+ cnt = 0,
1068
+ prev = [],
1069
+ v;
1070
+ for (; i < n; ++i) {
1071
+ v = xv[i] + ux;
1072
+ if (prev[0] === v) {
1073
+ // average output values via online update
1074
+ prev[1] += (yhat[i] - prev[1]) / ++cnt;
1075
+ } else {
1076
+ // add new output point
1077
+ cnt = 0;
1078
+ prev[1] += uy;
1079
+ prev = [v, yhat[i]];
1080
+ out.push(prev);
1081
+ }
1082
+ }
1083
+ prev[1] += uy;
1084
+ return out;
1085
+ }
1086
+
1087
+ // subdivide up to accuracy of 0.5 degrees
1088
+ const MIN_RADIANS = 0.5 * Math.PI / 180;
1089
+
1090
+ // Adaptively sample an interpolated function over a domain extent
1091
+ function sampleCurve (f, extent, minSteps, maxSteps) {
1092
+ minSteps = minSteps || 25;
1093
+ maxSteps = Math.max(minSteps, maxSteps || 200);
1094
+ const point = x => [x, f(x)],
1095
+ minX = extent[0],
1096
+ maxX = extent[1],
1097
+ span = maxX - minX,
1098
+ stop = span / maxSteps,
1099
+ prev = [point(minX)],
1100
+ next = [];
1101
+ if (minSteps === maxSteps) {
1102
+ // no adaptation, sample uniform grid directly and return
1103
+ for (let i = 1; i < maxSteps; ++i) {
1104
+ prev.push(point(minX + i / minSteps * span));
1105
+ }
1106
+ prev.push(point(maxX));
1107
+ return prev;
1108
+ } else {
1109
+ // sample minimum points on uniform grid
1110
+ // then move on to perform adaptive refinement
1111
+ next.push(point(maxX));
1112
+ for (let i = minSteps; --i > 0;) {
1113
+ next.push(point(minX + i / minSteps * span));
1114
+ }
1115
+ }
1116
+ let p0 = prev[0];
1117
+ let p1 = next[next.length - 1];
1118
+ const sx = 1 / span;
1119
+ const sy = scaleY(p0[1], next);
1120
+ while (p1) {
1121
+ // midpoint for potential curve subdivision
1122
+ const pm = point((p0[0] + p1[0]) / 2);
1123
+ const dx = pm[0] - p0[0] >= stop;
1124
+ if (dx && angleDelta(p0, pm, p1, sx, sy) > MIN_RADIANS) {
1125
+ // maximum resolution has not yet been met, and
1126
+ // subdivision midpoint is sufficiently different from endpoint
1127
+ // save subdivision, push midpoint onto the visitation stack
1128
+ next.push(pm);
1129
+ } else {
1130
+ // subdivision midpoint sufficiently similar to endpoint
1131
+ // skip subdivision, store endpoint, move to next point on the stack
1132
+ p0 = p1;
1133
+ prev.push(p1);
1134
+ next.pop();
1135
+ }
1136
+ p1 = next[next.length - 1];
1137
+ }
1138
+ return prev;
1139
+ }
1140
+ function scaleY(init, points) {
1141
+ let ymin = init;
1142
+ let ymax = init;
1143
+ const n = points.length;
1144
+ for (let i = 0; i < n; ++i) {
1145
+ const y = points[i][1];
1146
+ if (y < ymin) ymin = y;
1147
+ if (y > ymax) ymax = y;
1148
+ }
1149
+ return 1 / (ymax - ymin);
1150
+ }
1151
+ function angleDelta(p, q, r, sx, sy) {
1152
+ const a0 = Math.atan2(sy * (r[1] - p[1]), sx * (r[0] - p[0])),
1153
+ a1 = Math.atan2(sy * (q[1] - p[1]), sx * (q[0] - p[0]));
1154
+ return Math.abs(a0 - a1);
1155
+ }
1156
+
1157
+ export { estimateBandwidth as bandwidthNRD, bin, bootstrapCI, cumulativeLogNormal, cumulativeNormal, cumulativeUniform, densityLogNormal, densityNormal, densityUniform, dotbin, quantileLogNormal, quantileNormal, quantileUniform, quantiles, quartiles, random, integer as randomInteger, kde as randomKDE, lcg as randomLCG, lognormal as randomLogNormal, mixture as randomMixture, gaussian as randomNormal, uniform as randomUniform, constant as regressionConstant, exp as regressionExp, linear as regressionLinear, loess as regressionLoess, log as regressionLog, poly as regressionPoly, pow as regressionPow, quad as regressionQuad, sampleCurve, sampleLogNormal, sampleNormal, sampleUniform, setRandom };