@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,1306 @@
1
+ 'use strict';
2
+
3
+ var vegaUtil = require('../../vega-util/build/vega-util.js');
4
+ var vegaDataflow = require('../../vega-dataflow/build/vega-dataflow.js');
5
+ var vegaScenegraph = require('../../vega-scenegraph/build/vega-scenegraph.js');
6
+ var vegaFunctions = require('../../vega-functions/build/vega-functions.js');
7
+ var vegaRuntime = require('../../vega-runtime/build/vega-runtime.js');
8
+ var vegaFormat = require('../../vega-format/build/vega-format.js');
9
+ var interval = require('../../d3-timer/src/interval.js');
10
+ var ticks = require('../../d3-array/src/ticks.js');
11
+
12
+ // initialize aria role and label attributes
13
+ function initializeAria(view) {
14
+ const el = view.container();
15
+ if (el) {
16
+ el.setAttribute('role', 'graphics-document');
17
+ el.setAttribute('aria-roleDescription', 'visualization');
18
+ ariaLabel(el, view.description());
19
+ }
20
+ }
21
+
22
+ // update aria-label if we have a DOM container element
23
+ function ariaLabel(el, desc) {
24
+ if (el) desc == null ? el.removeAttribute('aria-label') : el.setAttribute('aria-label', desc);
25
+ }
26
+
27
+ function background (view) {
28
+ // respond to background signal
29
+ view.add(null, _ => {
30
+ view._background = _.bg;
31
+ view._resize = 1;
32
+ return _.bg;
33
+ }, {
34
+ bg: view._signals.background
35
+ });
36
+ }
37
+
38
+ const Default = 'default';
39
+ function cursor (view) {
40
+ // get cursor signal, add to dataflow if needed
41
+ const cursor = view._signals.cursor || (view._signals.cursor = view.add({
42
+ user: Default,
43
+ item: null
44
+ }));
45
+
46
+ // evaluate cursor on each pointermove event
47
+ view.on(view.events('view', 'pointermove'), cursor, (_, event) => {
48
+ const value = cursor.value,
49
+ user = value ? vegaUtil.isString(value) ? value : value.user : Default,
50
+ item = event.item && event.item.cursor || null;
51
+ return value && user === value.user && item == value.item ? value : {
52
+ user: user,
53
+ item: item
54
+ };
55
+ });
56
+
57
+ // when cursor signal updates, set visible cursor
58
+ view.add(null, function (_) {
59
+ let user = _.cursor,
60
+ item = this.value;
61
+ if (!vegaUtil.isString(user)) {
62
+ item = user.item;
63
+ user = user.user;
64
+ }
65
+ setCursor(view, user && user !== Default ? user : item || user);
66
+ return item;
67
+ }, {
68
+ cursor: cursor
69
+ });
70
+ }
71
+ function setCursor(view, cursor) {
72
+ const el = view.globalCursor() ? typeof document !== 'undefined' && document.body : view.container();
73
+ if (el) {
74
+ return cursor == null ? el.style.removeProperty('cursor') : el.style.cursor = cursor;
75
+ }
76
+ }
77
+
78
+ function dataref(view, name) {
79
+ var data = view._runtime.data;
80
+ if (!vegaUtil.hasOwnProperty(data, name)) {
81
+ vegaUtil.error('Unrecognized data set: ' + name);
82
+ }
83
+ return data[name];
84
+ }
85
+ function data(name, values) {
86
+ return arguments.length < 2 ? dataref(this, name).values.value : change.call(this, name, vegaDataflow.changeset().remove(vegaUtil.truthy).insert(values));
87
+ }
88
+ function change(name, changes) {
89
+ if (!vegaDataflow.isChangeSet(changes)) {
90
+ vegaUtil.error('Second argument to changes must be a changeset.');
91
+ }
92
+ const dataset = dataref(this, name);
93
+ dataset.modified = true;
94
+ return this.pulse(dataset.input, changes);
95
+ }
96
+ function insert(name, _) {
97
+ return change.call(this, name, vegaDataflow.changeset().insert(_));
98
+ }
99
+ function remove(name, _) {
100
+ return change.call(this, name, vegaDataflow.changeset().remove(_));
101
+ }
102
+
103
+ function width(view) {
104
+ var padding = view.padding();
105
+ return Math.max(0, view._viewWidth + padding.left + padding.right);
106
+ }
107
+ function height(view) {
108
+ var padding = view.padding();
109
+ return Math.max(0, view._viewHeight + padding.top + padding.bottom);
110
+ }
111
+ function offset(view) {
112
+ var padding = view.padding(),
113
+ origin = view._origin;
114
+ return [padding.left + origin[0], padding.top + origin[1]];
115
+ }
116
+ function resizeRenderer(view) {
117
+ var origin = offset(view),
118
+ w = width(view),
119
+ h = height(view);
120
+ view._renderer.background(view.background());
121
+ view._renderer.resize(w, h, origin);
122
+ view._handler.origin(origin);
123
+ view._resizeListeners.forEach(handler => {
124
+ try {
125
+ handler(w, h);
126
+ } catch (error) {
127
+ view.error(error);
128
+ }
129
+ });
130
+ }
131
+
132
+ /**
133
+ * Extend an event with additional view-specific methods.
134
+ * Adds a new property ('vega') to an event that provides a number
135
+ * of methods for querying information about the current interaction.
136
+ * The vega object provides the following methods:
137
+ * view - Returns the backing View instance.
138
+ * item - Returns the currently active scenegraph item (if any).
139
+ * group - Returns the currently active scenegraph group (if any).
140
+ * This method accepts a single string-typed argument indicating the name
141
+ * of the desired parent group. The scenegraph will be traversed from
142
+ * the item up towards the root to search for a matching group. If no
143
+ * argument is provided the enclosing group for the active item is
144
+ * returned, unless the item it itself a group, in which case it is
145
+ * returned directly.
146
+ * xy - Returns a two-element array containing the x and y coordinates for
147
+ * mouse or touch events. For touch events, this is based on the first
148
+ * elements in the changedTouches array. This method accepts a single
149
+ * argument: either an item instance or mark name that should serve as
150
+ * the reference coordinate system. If no argument is provided the
151
+ * top-level view coordinate system is assumed.
152
+ * x - Returns the current x-coordinate, accepts the same arguments as xy.
153
+ * y - Returns the current y-coordinate, accepts the same arguments as xy.
154
+ * @param {Event} event - The input event to extend.
155
+ * @param {Item} item - The currently active scenegraph item (if any).
156
+ * @return {Event} - The extended input event.
157
+ */
158
+ function eventExtend (view, event, item) {
159
+ var r = view._renderer,
160
+ el = r && r.canvas(),
161
+ p,
162
+ e,
163
+ translate;
164
+ if (el) {
165
+ translate = offset(view);
166
+ e = event.changedTouches ? event.changedTouches[0] : event;
167
+ p = vegaScenegraph.point(e, el);
168
+ p[0] -= translate[0];
169
+ p[1] -= translate[1];
170
+ }
171
+ event.dataflow = view;
172
+ event.item = item;
173
+ event.vega = extension(view, item, p);
174
+ return event;
175
+ }
176
+ function extension(view, item, point) {
177
+ const itemGroup = item ? item.mark.marktype === 'group' ? item : item.mark.group : null;
178
+ function group(name) {
179
+ var g = itemGroup,
180
+ i;
181
+ if (name) for (i = item; i; i = i.mark.group) {
182
+ if (i.mark.name === name) {
183
+ g = i;
184
+ break;
185
+ }
186
+ }
187
+ return g && g.mark && g.mark.interactive ? g : {};
188
+ }
189
+ function xy(item) {
190
+ if (!item) return point;
191
+ if (vegaUtil.isString(item)) item = group(item);
192
+ const p = point.slice();
193
+ while (item) {
194
+ p[0] -= item.x || 0;
195
+ p[1] -= item.y || 0;
196
+ item = item.mark && item.mark.group;
197
+ }
198
+ return p;
199
+ }
200
+ return {
201
+ view: vegaUtil.constant(view),
202
+ item: vegaUtil.constant(item || {}),
203
+ group: group,
204
+ xy: xy,
205
+ x: item => xy(item)[0],
206
+ y: item => xy(item)[1]
207
+ };
208
+ }
209
+
210
+ const VIEW = 'view',
211
+ TIMER = 'timer',
212
+ WINDOW = 'window',
213
+ NO_TRAP = {
214
+ trap: false
215
+ };
216
+
217
+ /**
218
+ * Initialize event handling configuration.
219
+ * @param {object} config - The configuration settings.
220
+ * @return {object}
221
+ */
222
+ function initializeEventConfig(config) {
223
+ const events = vegaUtil.extend({
224
+ defaults: {}
225
+ }, config);
226
+ const unpack = (obj, keys) => {
227
+ keys.forEach(k => {
228
+ if (vegaUtil.isArray(obj[k])) obj[k] = vegaUtil.toSet(obj[k]);
229
+ });
230
+ };
231
+ unpack(events.defaults, ['prevent', 'allow']);
232
+ unpack(events, ['view', 'window', 'selector']);
233
+ return events;
234
+ }
235
+ function trackEventListener(view, sources, type, handler) {
236
+ view._eventListeners.push({
237
+ type: type,
238
+ sources: vegaUtil.array(sources),
239
+ handler: handler
240
+ });
241
+ }
242
+ function prevent(view, type) {
243
+ var def = view._eventConfig.defaults,
244
+ prevent = def.prevent,
245
+ allow = def.allow;
246
+ return prevent === false || allow === true ? false : prevent === true || allow === false ? true : prevent ? prevent[type] : allow ? !allow[type] : view.preventDefault();
247
+ }
248
+ function permit(view, key, type) {
249
+ const rule = view._eventConfig && view._eventConfig[key];
250
+ if (rule === false || vegaUtil.isObject(rule) && !rule[type]) {
251
+ view.warn(`Blocked ${key} ${type} event listener.`);
252
+ return false;
253
+ }
254
+ return true;
255
+ }
256
+
257
+ /**
258
+ * Create a new event stream from an event source.
259
+ * @param {object} source - The event source to monitor.
260
+ * @param {string} type - The event type.
261
+ * @param {function(object): boolean} [filter] - Event filter function.
262
+ * @return {EventStream}
263
+ */
264
+ function events(source, type, filter) {
265
+ var view = this,
266
+ s = new vegaDataflow.EventStream(filter),
267
+ send = function (e, item) {
268
+ view.runAsync(null, () => {
269
+ if (source === VIEW && prevent(view, type)) {
270
+ e.preventDefault();
271
+ }
272
+ s.receive(eventExtend(view, e, item));
273
+ });
274
+ },
275
+ sources;
276
+ if (source === TIMER) {
277
+ if (permit(view, 'timer', type)) {
278
+ view.timer(send, type);
279
+ }
280
+ } else if (source === VIEW) {
281
+ if (permit(view, 'view', type)) {
282
+ // send traps errors, so use {trap: false} option
283
+ view.addEventListener(type, send, NO_TRAP);
284
+ }
285
+ } else {
286
+ if (source === WINDOW) {
287
+ if (permit(view, 'window', type) && typeof window !== 'undefined') {
288
+ sources = [window];
289
+ }
290
+ } else if (typeof document !== 'undefined') {
291
+ if (permit(view, 'selector', type)) {
292
+ sources = Array.from(document.querySelectorAll(source));
293
+ }
294
+ }
295
+ if (!sources) {
296
+ view.warn('Can not resolve event source: ' + source);
297
+ } else {
298
+ for (var i = 0, n = sources.length; i < n; ++i) {
299
+ sources[i].addEventListener(type, send);
300
+ }
301
+ trackEventListener(view, sources, type, send);
302
+ }
303
+ }
304
+ return s;
305
+ }
306
+
307
+ function itemFilter(event) {
308
+ return event.item;
309
+ }
310
+ function markTarget(event) {
311
+ // grab upstream collector feeding the mark operator
312
+ return event.item.mark.source;
313
+ }
314
+ function invoke(name) {
315
+ return function (_, event) {
316
+ return event.vega.view().changeset().encode(event.item, name);
317
+ };
318
+ }
319
+ function hover (hoverSet, leaveSet) {
320
+ hoverSet = [hoverSet || 'hover'];
321
+ leaveSet = [leaveSet || 'update', hoverSet[0]];
322
+
323
+ // invoke hover set upon pointerover
324
+ this.on(this.events('view', 'pointerover', itemFilter), markTarget, invoke(hoverSet));
325
+
326
+ // invoke leave set upon pointerout
327
+ this.on(this.events('view', 'pointerout', itemFilter), markTarget, invoke(leaveSet));
328
+ return this;
329
+ }
330
+
331
+ /**
332
+ * Finalize a View instance that is being removed.
333
+ * Cancel any running timers.
334
+ * Remove all external event listeners.
335
+ * Remove any currently displayed tooltip.
336
+ */
337
+ function finalize () {
338
+ var tooltip = this._tooltip,
339
+ timers = this._timers,
340
+ handlers = this._handler.handlers(),
341
+ listeners = this._eventListeners,
342
+ n,
343
+ m,
344
+ e,
345
+ h,
346
+ t;
347
+ n = timers.length;
348
+ while (--n >= 0) {
349
+ timers[n].stop();
350
+ }
351
+ n = listeners.length;
352
+ while (--n >= 0) {
353
+ e = listeners[n];
354
+ m = e.sources.length;
355
+ while (--m >= 0) {
356
+ e.sources[m].removeEventListener(e.type, e.handler);
357
+ }
358
+ }
359
+ if (tooltip) {
360
+ tooltip.call(this, this._handler, null, null, null);
361
+ }
362
+
363
+ // turn off all registered handlers
364
+ n = handlers.length;
365
+ while (--n >= 0) {
366
+ t = handlers[n].type;
367
+ h = handlers[n].handler;
368
+ this._handler.off(t, h);
369
+ }
370
+ return this;
371
+ }
372
+
373
+ function element (tag, attr, text) {
374
+ const el = document.createElement(tag);
375
+ for (const key in attr) el.setAttribute(key, attr[key]);
376
+ if (text != null) el.textContent = text;
377
+ return el;
378
+ }
379
+
380
+ const BindClass = 'vega-bind',
381
+ NameClass = 'vega-bind-name',
382
+ RadioClass = 'vega-bind-radio';
383
+
384
+ /**
385
+ * Bind a signal to an external HTML input element. The resulting two-way
386
+ * binding will propagate input changes to signals, and propagate signal
387
+ * changes to the input element state. If this view instance has no parent
388
+ * element, we assume the view is headless and no bindings are created.
389
+ * @param {Element|string} el - The parent DOM element to which the input
390
+ * element should be appended as a child. If string-valued, this argument
391
+ * will be treated as a CSS selector. If null or undefined, the parent
392
+ * element of this view will be used as the element.
393
+ * @param {object} param - The binding parameters which specify the signal
394
+ * to bind to, the input element type, and type-specific configuration.
395
+ * @return {View} - This view instance.
396
+ */
397
+ function bind (view, el, binding) {
398
+ if (!el) return;
399
+ const param = binding.param;
400
+ let bind = binding.state;
401
+ if (!bind) {
402
+ bind = binding.state = {
403
+ elements: null,
404
+ active: false,
405
+ set: null,
406
+ update: value => {
407
+ if (value != view.signal(param.signal)) {
408
+ view.runAsync(null, () => {
409
+ bind.source = true;
410
+ view.signal(param.signal, value);
411
+ });
412
+ }
413
+ }
414
+ };
415
+ if (param.debounce) {
416
+ bind.update = vegaUtil.debounce(param.debounce, bind.update);
417
+ }
418
+ }
419
+ const create = param.input == null && param.element ? target : generate;
420
+ create(bind, el, param, view);
421
+ if (!bind.active) {
422
+ view.on(view._signals[param.signal], null, () => {
423
+ bind.source ? bind.source = false : bind.set(view.signal(param.signal));
424
+ });
425
+ bind.active = true;
426
+ }
427
+ return bind;
428
+ }
429
+
430
+ /**
431
+ * Bind the signal to an external EventTarget.
432
+ */
433
+ function target(bind, node, param, view) {
434
+ const type = param.event || 'input';
435
+ const handler = () => bind.update(node.value);
436
+
437
+ // initialize signal value to external input value
438
+ view.signal(param.signal, node.value);
439
+
440
+ // listen for changes on the element
441
+ node.addEventListener(type, handler);
442
+
443
+ // register with view, so we can remove it upon finalization
444
+ trackEventListener(view, node, type, handler);
445
+
446
+ // propagate change to element
447
+ bind.set = value => {
448
+ node.value = value;
449
+ node.dispatchEvent(event(type));
450
+ };
451
+ }
452
+ function event(type) {
453
+ return typeof Event !== 'undefined' ? new Event(type) : {
454
+ type
455
+ };
456
+ }
457
+
458
+ /**
459
+ * Generate an HTML input form element and bind it to a signal.
460
+ */
461
+ function generate(bind, el, param, view) {
462
+ const value = view.signal(param.signal);
463
+ const div = element('div', {
464
+ 'class': BindClass
465
+ });
466
+ const wrapper = param.input === 'radio' ? div : div.appendChild(element('label'));
467
+ wrapper.appendChild(element('span', {
468
+ 'class': NameClass
469
+ }, param.name || param.signal));
470
+ el.appendChild(div);
471
+ let input = form;
472
+ switch (param.input) {
473
+ case 'checkbox':
474
+ input = checkbox;
475
+ break;
476
+ case 'select':
477
+ input = select;
478
+ break;
479
+ case 'radio':
480
+ input = radio;
481
+ break;
482
+ case 'range':
483
+ input = range;
484
+ break;
485
+ }
486
+ input(bind, wrapper, param, value);
487
+ }
488
+
489
+ /**
490
+ * Generates an arbitrary input form element.
491
+ * The input type is controlled via user-provided parameters.
492
+ */
493
+ function form(bind, el, param, value) {
494
+ const node = element('input');
495
+ for (const key in param) {
496
+ if (key !== 'signal' && key !== 'element') {
497
+ node.setAttribute(key === 'input' ? 'type' : key, param[key]);
498
+ }
499
+ }
500
+ node.setAttribute('name', param.signal);
501
+ node.value = value;
502
+ el.appendChild(node);
503
+ node.addEventListener('input', () => bind.update(node.value));
504
+ bind.elements = [node];
505
+ bind.set = value => node.value = value;
506
+ }
507
+
508
+ /**
509
+ * Generates a checkbox input element.
510
+ */
511
+ function checkbox(bind, el, param, value) {
512
+ const attr = {
513
+ type: 'checkbox',
514
+ name: param.signal
515
+ };
516
+ if (value) attr.checked = true;
517
+ const node = element('input', attr);
518
+ el.appendChild(node);
519
+ node.addEventListener('change', () => bind.update(node.checked));
520
+ bind.elements = [node];
521
+ bind.set = value => node.checked = !!value || null;
522
+ }
523
+
524
+ /**
525
+ * Generates a selection list input element.
526
+ */
527
+ function select(bind, el, param, value) {
528
+ const node = element('select', {
529
+ name: param.signal
530
+ }),
531
+ labels = param.labels || [];
532
+ param.options.forEach((option, i) => {
533
+ const attr = {
534
+ value: option
535
+ };
536
+ if (valuesEqual(option, value)) attr.selected = true;
537
+ node.appendChild(element('option', attr, (labels[i] || option) + ''));
538
+ });
539
+ el.appendChild(node);
540
+ node.addEventListener('change', () => {
541
+ bind.update(param.options[node.selectedIndex]);
542
+ });
543
+ bind.elements = [node];
544
+ bind.set = value => {
545
+ for (let i = 0, n = param.options.length; i < n; ++i) {
546
+ if (valuesEqual(param.options[i], value)) {
547
+ node.selectedIndex = i;
548
+ return;
549
+ }
550
+ }
551
+ };
552
+ }
553
+
554
+ /**
555
+ * Generates a radio button group.
556
+ */
557
+ function radio(bind, el, param, value) {
558
+ const group = element('span', {
559
+ 'class': RadioClass
560
+ }),
561
+ labels = param.labels || [];
562
+ el.appendChild(group);
563
+ bind.elements = param.options.map((option, i) => {
564
+ const attr = {
565
+ type: 'radio',
566
+ name: param.signal,
567
+ value: option
568
+ };
569
+ if (valuesEqual(option, value)) attr.checked = true;
570
+ const input = element('input', attr);
571
+ input.addEventListener('change', () => bind.update(option));
572
+ const label = element('label', {}, (labels[i] || option) + '');
573
+ label.prepend(input);
574
+ group.appendChild(label);
575
+ return input;
576
+ });
577
+ bind.set = value => {
578
+ const nodes = bind.elements,
579
+ n = nodes.length;
580
+ for (let i = 0; i < n; ++i) {
581
+ if (valuesEqual(nodes[i].value, value)) nodes[i].checked = true;
582
+ }
583
+ };
584
+ }
585
+
586
+ /**
587
+ * Generates a slider input element.
588
+ */
589
+ function range(bind, el, param, value) {
590
+ value = value !== undefined ? value : (+param.max + +param.min) / 2;
591
+ const max = param.max != null ? param.max : Math.max(100, +value) || 100,
592
+ min = param.min || Math.min(0, max, +value) || 0,
593
+ step = param.step || ticks.tickStep(min, max, 100);
594
+ const node = element('input', {
595
+ type: 'range',
596
+ name: param.signal,
597
+ min: min,
598
+ max: max,
599
+ step: step
600
+ });
601
+ node.value = value;
602
+ const span = element('span', {}, +value);
603
+ el.appendChild(node);
604
+ el.appendChild(span);
605
+ const update = () => {
606
+ span.textContent = node.value;
607
+ bind.update(+node.value);
608
+ };
609
+
610
+ // subscribe to both input and change
611
+ node.addEventListener('input', update);
612
+ node.addEventListener('change', update);
613
+ bind.elements = [node];
614
+ bind.set = value => {
615
+ node.value = value;
616
+ span.textContent = value;
617
+ };
618
+ }
619
+ function valuesEqual(a, b) {
620
+ return a === b || a + '' === b + '';
621
+ }
622
+
623
+ function initializeRenderer (view, r, el, constructor, scaleFactor, opt) {
624
+ r = r || new constructor(view.loader());
625
+ return r.initialize(el, width(view), height(view), offset(view), scaleFactor, opt).background(view.background());
626
+ }
627
+
628
+ function trap (view, fn) {
629
+ return !fn ? null : function () {
630
+ try {
631
+ fn.apply(this, arguments);
632
+ } catch (error) {
633
+ view.error(error);
634
+ }
635
+ };
636
+ }
637
+
638
+ function initializeHandler (view, prevHandler, el, constructor) {
639
+ // instantiate scenegraph handler
640
+ const handler = new constructor(view.loader(), trap(view, view.tooltip())).scene(view.scenegraph().root).initialize(el, offset(view), view);
641
+
642
+ // transfer event handlers
643
+ if (prevHandler) {
644
+ prevHandler.handlers().forEach(h => {
645
+ handler.on(h.type, h.handler);
646
+ });
647
+ }
648
+ return handler;
649
+ }
650
+
651
+ function initialize (el, elBind) {
652
+ const view = this,
653
+ type = view._renderType,
654
+ config = view._eventConfig.bind,
655
+ module = vegaScenegraph.renderModule(type);
656
+
657
+ // containing dom element
658
+ el = view._el = el ? lookup(view, el, true) : null;
659
+
660
+ // initialize aria attributes
661
+ initializeAria(view);
662
+
663
+ // select appropriate renderer & handler
664
+ if (!module) view.error('Unrecognized renderer type: ' + type);
665
+ const Handler = module.handler || vegaScenegraph.CanvasHandler,
666
+ Renderer = el ? module.renderer : module.headless;
667
+
668
+ // initialize renderer and input handler
669
+ view._renderer = !Renderer ? null : initializeRenderer(view, view._renderer, el, Renderer);
670
+ view._handler = initializeHandler(view, view._handler, el, Handler);
671
+ view._redraw = true;
672
+
673
+ // initialize signal bindings
674
+ if (el && config !== 'none') {
675
+ elBind = elBind ? view._elBind = lookup(view, elBind, true) : el.appendChild(element('form', {
676
+ 'class': 'vega-bindings'
677
+ }));
678
+ view._bind.forEach(_ => {
679
+ if (_.param.element && config !== 'container') {
680
+ _.element = lookup(view, _.param.element, !!_.param.input);
681
+ }
682
+ });
683
+ view._bind.forEach(_ => {
684
+ bind(view, _.element || elBind, _);
685
+ });
686
+ }
687
+ return view;
688
+ }
689
+ function lookup(view, el, clear) {
690
+ if (typeof el === 'string') {
691
+ if (typeof document !== 'undefined') {
692
+ el = document.querySelector(el);
693
+ if (!el) {
694
+ view.error('Signal bind element not found: ' + el);
695
+ return null;
696
+ }
697
+ } else {
698
+ view.error('DOM document instance not found.');
699
+ return null;
700
+ }
701
+ }
702
+ if (el && clear) {
703
+ try {
704
+ el.textContent = '';
705
+ } catch (e) {
706
+ el = null;
707
+ view.error(e);
708
+ }
709
+ }
710
+ return el;
711
+ }
712
+
713
+ const number = _ => +_ || 0;
714
+ const paddingObject = _ => ({
715
+ top: _,
716
+ bottom: _,
717
+ left: _,
718
+ right: _
719
+ });
720
+ function padding (_) {
721
+ return vegaUtil.isObject(_) ? {
722
+ top: number(_.top),
723
+ bottom: number(_.bottom),
724
+ left: number(_.left),
725
+ right: number(_.right)
726
+ } : paddingObject(number(_));
727
+ }
728
+
729
+ /**
730
+ * Render the current scene in a headless fashion.
731
+ * This method is asynchronous, returning a Promise instance.
732
+ * @return {Promise} - A Promise that resolves to a renderer.
733
+ */
734
+ async function renderHeadless (view, type, scaleFactor, opt) {
735
+ const module = vegaScenegraph.renderModule(type),
736
+ ctr = module && module.headless;
737
+ if (!ctr) vegaUtil.error('Unrecognized renderer type: ' + type);
738
+ await view.runAsync();
739
+ return initializeRenderer(view, null, null, ctr, scaleFactor, opt).renderAsync(view._scenegraph.root);
740
+ }
741
+
742
+ /**
743
+ * Produce an image URL for the visualization. Depending on the type
744
+ * parameter, the generated URL contains data for either a PNG or SVG image.
745
+ * The URL can be used (for example) to download images of the visualization.
746
+ * This method is asynchronous, returning a Promise instance.
747
+ * @param {string} type - The image type. One of 'svg', 'png' or 'canvas'.
748
+ * The 'canvas' and 'png' types are synonyms for a PNG image.
749
+ * @return {Promise} - A promise that resolves to an image URL.
750
+ */
751
+ async function renderToImageURL (type, scaleFactor) {
752
+ if (type !== vegaScenegraph.RenderType.Canvas && type !== vegaScenegraph.RenderType.SVG && type !== vegaScenegraph.RenderType.PNG) {
753
+ vegaUtil.error('Unrecognized image type: ' + type);
754
+ }
755
+ const r = await renderHeadless(this, type, scaleFactor);
756
+ return type === vegaScenegraph.RenderType.SVG ? toBlobURL(r.svg(), 'image/svg+xml') : r.canvas().toDataURL('image/png');
757
+ }
758
+ function toBlobURL(data, mime) {
759
+ const blob = new Blob([data], {
760
+ type: mime
761
+ });
762
+ return window.URL.createObjectURL(blob);
763
+ }
764
+
765
+ /**
766
+ * Produce a Canvas instance containing a rendered visualization.
767
+ * This method is asynchronous, returning a Promise instance.
768
+ * @return {Promise} - A promise that resolves to a Canvas instance.
769
+ */
770
+ async function renderToCanvas (scaleFactor, opt) {
771
+ const r = await renderHeadless(this, vegaScenegraph.RenderType.Canvas, scaleFactor, opt);
772
+ return r.canvas();
773
+ }
774
+
775
+ /**
776
+ * Produce a rendered SVG string of the visualization.
777
+ * This method is asynchronous, returning a Promise instance.
778
+ * @return {Promise} - A promise that resolves to an SVG string.
779
+ */
780
+ async function renderToSVG (scaleFactor) {
781
+ const r = await renderHeadless(this, vegaScenegraph.RenderType.SVG, scaleFactor);
782
+ return r.svg();
783
+ }
784
+
785
+ function runtime (view, spec, expr) {
786
+ return vegaRuntime.context(view, vegaDataflow.transforms, vegaFunctions.functionContext, expr).parse(spec);
787
+ }
788
+
789
+ function scale(name) {
790
+ var scales = this._runtime.scales;
791
+ if (!vegaUtil.hasOwnProperty(scales, name)) {
792
+ vegaUtil.error('Unrecognized scale or projection: ' + name);
793
+ }
794
+ return scales[name].value;
795
+ }
796
+
797
+ var Width = 'width',
798
+ Height = 'height',
799
+ Padding = 'padding',
800
+ Skip = {
801
+ skip: true
802
+ };
803
+ function viewWidth(view, width) {
804
+ var a = view.autosize(),
805
+ p = view.padding();
806
+ return width - (a && a.contains === Padding ? p.left + p.right : 0);
807
+ }
808
+ function viewHeight(view, height) {
809
+ var a = view.autosize(),
810
+ p = view.padding();
811
+ return height - (a && a.contains === Padding ? p.top + p.bottom : 0);
812
+ }
813
+ function initializeResize(view) {
814
+ var s = view._signals,
815
+ w = s[Width],
816
+ h = s[Height],
817
+ p = s[Padding];
818
+ function resetSize() {
819
+ view._autosize = view._resize = 1;
820
+ }
821
+
822
+ // respond to width signal
823
+ view._resizeWidth = view.add(null, _ => {
824
+ view._width = _.size;
825
+ view._viewWidth = viewWidth(view, _.size);
826
+ resetSize();
827
+ }, {
828
+ size: w
829
+ });
830
+
831
+ // respond to height signal
832
+ view._resizeHeight = view.add(null, _ => {
833
+ view._height = _.size;
834
+ view._viewHeight = viewHeight(view, _.size);
835
+ resetSize();
836
+ }, {
837
+ size: h
838
+ });
839
+
840
+ // respond to padding signal
841
+ const resizePadding = view.add(null, resetSize, {
842
+ pad: p
843
+ });
844
+
845
+ // set rank to run immediately after source signal
846
+ view._resizeWidth.rank = w.rank + 1;
847
+ view._resizeHeight.rank = h.rank + 1;
848
+ resizePadding.rank = p.rank + 1;
849
+ }
850
+ function resizeView(viewWidth, viewHeight, width, height, origin, auto) {
851
+ this.runAfter(view => {
852
+ let rerun = 0;
853
+
854
+ // reset autosize flag
855
+ view._autosize = 0;
856
+
857
+ // width value changed: update signal, skip resize op
858
+ if (view.width() !== width) {
859
+ rerun = 1;
860
+ view.signal(Width, width, Skip); // set width, skip update calc
861
+ view._resizeWidth.skip(true); // skip width resize handler
862
+ }
863
+
864
+ // height value changed: update signal, skip resize op
865
+ if (view.height() !== height) {
866
+ rerun = 1;
867
+ view.signal(Height, height, Skip); // set height, skip update calc
868
+ view._resizeHeight.skip(true); // skip height resize handler
869
+ }
870
+
871
+ // view width changed: update view property, set resize flag
872
+ if (view._viewWidth !== viewWidth) {
873
+ view._resize = 1;
874
+ view._viewWidth = viewWidth;
875
+ }
876
+
877
+ // view height changed: update view property, set resize flag
878
+ if (view._viewHeight !== viewHeight) {
879
+ view._resize = 1;
880
+ view._viewHeight = viewHeight;
881
+ }
882
+
883
+ // origin changed: update view property, set resize flag
884
+ if (view._origin[0] !== origin[0] || view._origin[1] !== origin[1]) {
885
+ view._resize = 1;
886
+ view._origin = origin;
887
+ }
888
+
889
+ // run dataflow on width/height signal change
890
+ if (rerun) view.run('enter');
891
+ if (auto) view.runAfter(v => v.resize());
892
+ }, false, 1);
893
+ }
894
+
895
+ /**
896
+ * Get the current view state, consisting of signal values and/or data sets.
897
+ * @param {object} [options] - Options flags indicating which state to export.
898
+ * If unspecified, all signals and data sets will be exported.
899
+ * @param {function(string, Operator):boolean} [options.signals] - Optional
900
+ * predicate function for testing if a signal should be included in the
901
+ * exported state. If unspecified, all signals will be included, except for
902
+ * those named 'parent' or those which refer to a Transform value.
903
+ * @param {function(string, object):boolean} [options.data] - Optional
904
+ * predicate function for testing if a data set's input should be included
905
+ * in the exported state. If unspecified, all data sets that have been
906
+ * explicitly modified will be included.
907
+ * @param {boolean} [options.recurse=true] - Flag indicating if the exported
908
+ * state should recursively include state from group mark sub-contexts.
909
+ * @return {object} - An object containing the exported state values.
910
+ */
911
+ function getState(options) {
912
+ return this._runtime.getState(options || {
913
+ data: dataTest,
914
+ signals: signalTest,
915
+ recurse: true
916
+ });
917
+ }
918
+ function dataTest(name, data) {
919
+ return data.modified && vegaUtil.isArray(data.input.value) && !name.startsWith('_:vega:_');
920
+ }
921
+ function signalTest(name, op) {
922
+ return !(name === 'parent' || op instanceof vegaDataflow.transforms.proxy);
923
+ }
924
+
925
+ /**
926
+ * Sets the current view state and updates the view by invoking run.
927
+ * @param {object} state - A state object containing signal and/or
928
+ * data set values, following the format used by the getState method.
929
+ * @return {View} - This view instance.
930
+ */
931
+ function setState(state) {
932
+ this.runAsync(null, v => {
933
+ v._trigger = false;
934
+ v._runtime.setState(state);
935
+ }, v => {
936
+ v._trigger = true;
937
+ });
938
+ return this;
939
+ }
940
+
941
+ function timer (callback, delay) {
942
+ function tick(elapsed) {
943
+ callback({
944
+ timestamp: Date.now(),
945
+ elapsed: elapsed
946
+ });
947
+ }
948
+ this._timers.push(interval.default(tick, delay));
949
+ }
950
+
951
+ function defaultTooltip (handler, event, item, value) {
952
+ const el = handler.element();
953
+ if (el) el.setAttribute('title', formatTooltip(value));
954
+ }
955
+ function formatTooltip(value) {
956
+ return value == null ? '' : vegaUtil.isArray(value) ? formatArray(value) : vegaUtil.isObject(value) && !vegaUtil.isDate(value) ? formatObject(value) : value + '';
957
+ }
958
+ function formatObject(obj) {
959
+ return Object.keys(obj).map(key => {
960
+ const v = obj[key];
961
+ return key + ': ' + (vegaUtil.isArray(v) ? formatArray(v) : formatValue(v));
962
+ }).join('\n');
963
+ }
964
+ function formatArray(value) {
965
+ return '[' + value.map(formatValue).join(', ') + ']';
966
+ }
967
+ function formatValue(value) {
968
+ return vegaUtil.isArray(value) ? '[\u2026]' : vegaUtil.isObject(value) && !vegaUtil.isDate(value) ? '{\u2026}' : value;
969
+ }
970
+
971
+ function watchPixelRatio () {
972
+ // based on https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#monitoring_screen_resolution_or_zoom_level_changes
973
+ if (this.renderer() === 'canvas' && this._renderer._canvas) {
974
+ let remove = null;
975
+ const updatePixelRatio = () => {
976
+ if (remove != null) {
977
+ remove();
978
+ }
979
+ const media = matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);
980
+ media.addEventListener('change', updatePixelRatio);
981
+ remove = () => {
982
+ media.removeEventListener('change', updatePixelRatio);
983
+ };
984
+ this._renderer._canvas.getContext('2d').pixelRatio = window.devicePixelRatio || 1;
985
+ this._redraw = true;
986
+ this._resize = 1;
987
+ this.resize().runAsync();
988
+ };
989
+ updatePixelRatio();
990
+ }
991
+ }
992
+
993
+ /**
994
+ * Create a new View instance from a Vega dataflow runtime specification.
995
+ * The generated View will not immediately be ready for display. Callers
996
+ * should also invoke the initialize method (e.g., to set the parent
997
+ * DOM element in browser-based deployment) and then invoke the run
998
+ * method to evaluate the dataflow graph. Rendering will automatically
999
+ * be performed upon dataflow runs.
1000
+ * @constructor
1001
+ * @param {object} spec - The Vega dataflow runtime specification.
1002
+ */
1003
+ function View(spec, options) {
1004
+ const view = this;
1005
+ options = options || {};
1006
+ vegaDataflow.Dataflow.call(view);
1007
+ if (options.loader) view.loader(options.loader);
1008
+ if (options.logger) view.logger(options.logger);
1009
+ if (options.logLevel != null) view.logLevel(options.logLevel);
1010
+ if (options.locale || spec.locale) {
1011
+ const loc = vegaUtil.extend({}, spec.locale, options.locale);
1012
+ view.locale(vegaFormat.locale(loc.number, loc.time));
1013
+ }
1014
+ view._el = null;
1015
+ view._elBind = null;
1016
+ view._renderType = options.renderer || vegaScenegraph.RenderType.Canvas;
1017
+ view._scenegraph = new vegaScenegraph.Scenegraph();
1018
+ const root = view._scenegraph.root;
1019
+
1020
+ // initialize renderer, handler and event management
1021
+ view._renderer = null;
1022
+ view._tooltip = options.tooltip || defaultTooltip, view._redraw = true;
1023
+ view._handler = new vegaScenegraph.CanvasHandler().scene(root);
1024
+ view._globalCursor = false;
1025
+ view._preventDefault = false;
1026
+ view._timers = [];
1027
+ view._eventListeners = [];
1028
+ view._resizeListeners = [];
1029
+
1030
+ // initialize event configuration
1031
+ view._eventConfig = initializeEventConfig(spec.eventConfig);
1032
+ view.globalCursor(view._eventConfig.globalCursor);
1033
+
1034
+ // initialize dataflow graph
1035
+ const ctx = runtime(view, spec, options.expr);
1036
+ view._runtime = ctx;
1037
+ view._signals = ctx.signals;
1038
+ view._bind = (spec.bindings || []).map(_ => ({
1039
+ state: null,
1040
+ param: vegaUtil.extend({}, _)
1041
+ }));
1042
+
1043
+ // initialize scenegraph
1044
+ if (ctx.root) ctx.root.set(root);
1045
+ root.source = ctx.data.root.input;
1046
+ view.pulse(ctx.data.root.input, view.changeset().insert(root.items));
1047
+
1048
+ // initialize view size
1049
+ view._width = view.width();
1050
+ view._height = view.height();
1051
+ view._viewWidth = viewWidth(view, view._width);
1052
+ view._viewHeight = viewHeight(view, view._height);
1053
+ view._origin = [0, 0];
1054
+ view._resize = 0;
1055
+ view._autosize = 1;
1056
+ initializeResize(view);
1057
+
1058
+ // initialize background color
1059
+ background(view);
1060
+
1061
+ // initialize cursor
1062
+ cursor(view);
1063
+
1064
+ // initialize view description
1065
+ view.description(spec.description);
1066
+
1067
+ // initialize hover proessing, if requested
1068
+ if (options.hover) view.hover();
1069
+
1070
+ // initialize DOM container(s) and renderer
1071
+ if (options.container) view.initialize(options.container, options.bind);
1072
+ if (options.watchPixelRatio) view._watchPixelRatio();
1073
+ }
1074
+ function lookupSignal(view, name) {
1075
+ return vegaUtil.hasOwnProperty(view._signals, name) ? view._signals[name] : vegaUtil.error('Unrecognized signal name: ' + vegaUtil.stringValue(name));
1076
+ }
1077
+ function findOperatorHandler(op, handler) {
1078
+ const h = (op._targets || []).filter(op => op._update && op._update.handler === handler);
1079
+ return h.length ? h[0] : null;
1080
+ }
1081
+ function addOperatorListener(view, name, op, handler) {
1082
+ let h = findOperatorHandler(op, handler);
1083
+ if (!h) {
1084
+ h = trap(view, () => handler(name, op.value));
1085
+ h.handler = handler;
1086
+ view.on(op, null, h);
1087
+ }
1088
+ return view;
1089
+ }
1090
+ function removeOperatorListener(view, op, handler) {
1091
+ const h = findOperatorHandler(op, handler);
1092
+ if (h) op._targets.remove(h);
1093
+ return view;
1094
+ }
1095
+ vegaUtil.inherits(View, vegaDataflow.Dataflow, {
1096
+ // -- DATAFLOW / RENDERING ----
1097
+
1098
+ async evaluate(encode, prerun, postrun) {
1099
+ // evaluate dataflow and prerun
1100
+ await vegaDataflow.Dataflow.prototype.evaluate.call(this, encode, prerun);
1101
+
1102
+ // render as needed
1103
+ if (this._redraw || this._resize) {
1104
+ try {
1105
+ if (this._renderer) {
1106
+ if (this._resize) {
1107
+ this._resize = 0;
1108
+ resizeRenderer(this);
1109
+ }
1110
+ await this._renderer.renderAsync(this._scenegraph.root);
1111
+ }
1112
+ this._redraw = false;
1113
+ } catch (e) {
1114
+ this.error(e);
1115
+ }
1116
+ }
1117
+
1118
+ // evaluate postrun
1119
+ if (postrun) vegaDataflow.asyncCallback(this, postrun);
1120
+ return this;
1121
+ },
1122
+ dirty(item) {
1123
+ this._redraw = true;
1124
+ this._renderer && this._renderer.dirty(item);
1125
+ },
1126
+ // -- GET / SET ----
1127
+
1128
+ description(text) {
1129
+ if (arguments.length) {
1130
+ const desc = text != null ? text + '' : null;
1131
+ if (desc !== this._desc) ariaLabel(this._el, this._desc = desc);
1132
+ return this;
1133
+ }
1134
+ return this._desc;
1135
+ },
1136
+ container() {
1137
+ return this._el;
1138
+ },
1139
+ scenegraph() {
1140
+ return this._scenegraph;
1141
+ },
1142
+ origin() {
1143
+ return this._origin.slice();
1144
+ },
1145
+ signal(name, value, options) {
1146
+ const op = lookupSignal(this, name);
1147
+ return arguments.length === 1 ? op.value : this.update(op, value, options);
1148
+ },
1149
+ width(_) {
1150
+ return arguments.length ? this.signal('width', _) : this.signal('width');
1151
+ },
1152
+ height(_) {
1153
+ return arguments.length ? this.signal('height', _) : this.signal('height');
1154
+ },
1155
+ padding(_) {
1156
+ return arguments.length ? this.signal('padding', padding(_)) : padding(this.signal('padding'));
1157
+ },
1158
+ autosize(_) {
1159
+ return arguments.length ? this.signal('autosize', _) : this.signal('autosize');
1160
+ },
1161
+ background(_) {
1162
+ return arguments.length ? this.signal('background', _) : this.signal('background');
1163
+ },
1164
+ renderer(type) {
1165
+ if (!arguments.length) return this._renderType;
1166
+ if (!vegaScenegraph.renderModule(type)) vegaUtil.error('Unrecognized renderer type: ' + type);
1167
+ if (type !== this._renderType) {
1168
+ this._renderType = type;
1169
+ this._resetRenderer();
1170
+ }
1171
+ return this;
1172
+ },
1173
+ tooltip(handler) {
1174
+ if (!arguments.length) return this._tooltip;
1175
+ if (handler !== this._tooltip) {
1176
+ this._tooltip = handler;
1177
+ this._resetRenderer();
1178
+ }
1179
+ return this;
1180
+ },
1181
+ loader(loader) {
1182
+ if (!arguments.length) return this._loader;
1183
+ if (loader !== this._loader) {
1184
+ vegaDataflow.Dataflow.prototype.loader.call(this, loader);
1185
+ this._resetRenderer();
1186
+ }
1187
+ return this;
1188
+ },
1189
+ resize() {
1190
+ // set flag to perform autosize
1191
+ this._autosize = 1;
1192
+ // touch autosize signal to ensure top-level ViewLayout runs
1193
+ return this.touch(lookupSignal(this, 'autosize'));
1194
+ },
1195
+ _resetRenderer() {
1196
+ if (this._renderer) {
1197
+ this._renderer = null;
1198
+ this.initialize(this._el, this._elBind);
1199
+ }
1200
+ },
1201
+ // -- SIZING ----
1202
+ _resizeView: resizeView,
1203
+ // -- EVENT HANDLING ----
1204
+
1205
+ addEventListener(type, handler, options) {
1206
+ let callback = handler;
1207
+ if (!(options && options.trap === false)) {
1208
+ // wrap callback in error handler
1209
+ callback = trap(this, handler);
1210
+ callback.raw = handler;
1211
+ }
1212
+ this._handler.on(type, callback);
1213
+ return this;
1214
+ },
1215
+ removeEventListener(type, handler) {
1216
+ var handlers = this._handler.handlers(type),
1217
+ i = handlers.length,
1218
+ h,
1219
+ t;
1220
+
1221
+ // search registered handlers, remove if match found
1222
+ while (--i >= 0) {
1223
+ t = handlers[i].type;
1224
+ h = handlers[i].handler;
1225
+ if (type === t && (handler === h || handler === h.raw)) {
1226
+ this._handler.off(t, h);
1227
+ break;
1228
+ }
1229
+ }
1230
+ return this;
1231
+ },
1232
+ addResizeListener(handler) {
1233
+ const l = this._resizeListeners;
1234
+ if (!l.includes(handler)) {
1235
+ // add handler if it isn't already registered
1236
+ // note: error trapping handled elsewhere, so
1237
+ // no need to wrap handlers here
1238
+ l.push(handler);
1239
+ }
1240
+ return this;
1241
+ },
1242
+ removeResizeListener(handler) {
1243
+ var l = this._resizeListeners,
1244
+ i = l.indexOf(handler);
1245
+ if (i >= 0) {
1246
+ l.splice(i, 1);
1247
+ }
1248
+ return this;
1249
+ },
1250
+ addSignalListener(name, handler) {
1251
+ return addOperatorListener(this, name, lookupSignal(this, name), handler);
1252
+ },
1253
+ removeSignalListener(name, handler) {
1254
+ return removeOperatorListener(this, lookupSignal(this, name), handler);
1255
+ },
1256
+ addDataListener(name, handler) {
1257
+ return addOperatorListener(this, name, dataref(this, name).values, handler);
1258
+ },
1259
+ removeDataListener(name, handler) {
1260
+ return removeOperatorListener(this, dataref(this, name).values, handler);
1261
+ },
1262
+ globalCursor(_) {
1263
+ if (arguments.length) {
1264
+ if (this._globalCursor !== !!_) {
1265
+ const prev = setCursor(this, null); // clear previous cursor
1266
+ this._globalCursor = !!_;
1267
+ if (prev) setCursor(this, prev); // swap cursor
1268
+ }
1269
+ return this;
1270
+ } else {
1271
+ return this._globalCursor;
1272
+ }
1273
+ },
1274
+ preventDefault(_) {
1275
+ if (arguments.length) {
1276
+ this._preventDefault = _;
1277
+ return this;
1278
+ } else {
1279
+ return this._preventDefault;
1280
+ }
1281
+ },
1282
+ timer,
1283
+ events,
1284
+ finalize,
1285
+ hover,
1286
+ // -- DATA ----
1287
+ data,
1288
+ change,
1289
+ insert,
1290
+ remove,
1291
+ // -- SCALES --
1292
+ scale,
1293
+ // -- INITIALIZATION ----
1294
+ initialize,
1295
+ // -- HEADLESS RENDERING ----
1296
+ toImageURL: renderToImageURL,
1297
+ toCanvas: renderToCanvas,
1298
+ toSVG: renderToSVG,
1299
+ // -- SAVE / RESTORE STATE ----
1300
+ getState,
1301
+ setState,
1302
+ // RE-RENDER ON ZOOM
1303
+ _watchPixelRatio: watchPixelRatio
1304
+ });
1305
+
1306
+ exports.View = View;