@veritone-ce/design-system 2.8.12 → 2.8.13-next.1

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 (688) hide show
  1. package/dist/cjs/Dialog/components.js +29 -90
  2. package/dist/cjs/Dialog/state.js +2 -8
  3. package/dist/cjs/Dialog/styles.module.scss.js +2 -2
  4. package/dist/cjs/FileUploader/controlled.js +7 -0
  5. package/dist/cjs/Table/AutoTable/controlled.js +2 -1
  6. package/dist/cjs/Table/AutoTable/styles.module.scss.js +1 -1
  7. package/dist/cjs/TablePagination/index.js +21 -8
  8. package/dist/cjs/bundled_modules/d3-array/src/ascending.js +9 -0
  9. package/dist/cjs/bundled_modules/d3-array/src/bisect.js +16 -0
  10. package/dist/cjs/bundled_modules/d3-array/src/bisector.js +62 -0
  11. package/dist/cjs/bundled_modules/d3-array/src/descending.js +13 -0
  12. package/dist/cjs/bundled_modules/d3-array/src/deviation.js +12 -0
  13. package/dist/cjs/bundled_modules/d3-array/src/fsum.js +45 -0
  14. package/dist/cjs/bundled_modules/d3-array/src/intersection.js +25 -0
  15. package/dist/cjs/bundled_modules/d3-array/src/max.js +26 -0
  16. package/dist/cjs/bundled_modules/d3-array/src/mean.js +25 -0
  17. package/dist/cjs/bundled_modules/d3-array/src/median.js +11 -0
  18. package/dist/cjs/bundled_modules/d3-array/src/merge.js +15 -0
  19. package/dist/cjs/bundled_modules/d3-array/src/min.js +26 -0
  20. package/dist/cjs/bundled_modules/d3-array/src/number.js +27 -0
  21. package/dist/cjs/bundled_modules/d3-array/src/permute.js +9 -0
  22. package/dist/cjs/bundled_modules/d3-array/src/quantile.js +36 -0
  23. package/dist/cjs/bundled_modules/d3-array/src/quickselect.js +59 -0
  24. package/dist/cjs/bundled_modules/d3-array/src/range.js +19 -0
  25. package/dist/cjs/bundled_modules/d3-array/src/sort.js +20 -0
  26. package/dist/cjs/bundled_modules/d3-array/src/sum.js +17 -0
  27. package/dist/cjs/bundled_modules/d3-array/src/ticks.js +63 -0
  28. package/dist/cjs/bundled_modules/d3-array/src/union.js +17 -0
  29. package/dist/cjs/bundled_modules/d3-array/src/variance.js +31 -0
  30. package/dist/cjs/bundled_modules/d3-color/src/color.js +410 -0
  31. package/dist/cjs/bundled_modules/d3-color/src/cubehelix.js +68 -0
  32. package/dist/cjs/bundled_modules/d3-color/src/define.js +17 -0
  33. package/dist/cjs/bundled_modules/d3-color/src/lab.js +124 -0
  34. package/dist/cjs/bundled_modules/d3-color/src/math.js +7 -0
  35. package/dist/cjs/bundled_modules/d3-delaunay/src/delaunay.js +254 -0
  36. package/dist/cjs/bundled_modules/d3-delaunay/src/path.js +43 -0
  37. package/dist/cjs/bundled_modules/d3-delaunay/src/polygon.js +23 -0
  38. package/dist/cjs/bundled_modules/d3-delaunay/src/voronoi.js +338 -0
  39. package/dist/cjs/bundled_modules/d3-dispatch/src/dispatch.js +88 -0
  40. package/dist/cjs/bundled_modules/d3-dsv/src/dsv.js +170 -0
  41. package/dist/cjs/bundled_modules/d3-force/src/center.js +46 -0
  42. package/dist/cjs/bundled_modules/d3-force/src/collide.js +106 -0
  43. package/dist/cjs/bundled_modules/d3-force/src/constant.js +11 -0
  44. package/dist/cjs/bundled_modules/d3-force/src/jiggle.js +9 -0
  45. package/dist/cjs/bundled_modules/d3-force/src/lcg.js +15 -0
  46. package/dist/cjs/bundled_modules/d3-force/src/link.js +123 -0
  47. package/dist/cjs/bundled_modules/d3-force/src/manyBody.js +122 -0
  48. package/dist/cjs/bundled_modules/d3-force/src/simulation.js +164 -0
  49. package/dist/cjs/bundled_modules/d3-force/src/x.js +47 -0
  50. package/dist/cjs/bundled_modules/d3-force/src/y.js +47 -0
  51. package/dist/cjs/bundled_modules/d3-format/src/defaultLocale.js +24 -0
  52. package/dist/cjs/bundled_modules/d3-format/src/exponent.js +11 -0
  53. package/dist/cjs/bundled_modules/d3-format/src/formatDecimal.js +27 -0
  54. package/dist/cjs/bundled_modules/d3-format/src/formatGroup.js +24 -0
  55. package/dist/cjs/bundled_modules/d3-format/src/formatNumerals.js +13 -0
  56. package/dist/cjs/bundled_modules/d3-format/src/formatPrefixAuto.js +22 -0
  57. package/dist/cjs/bundled_modules/d3-format/src/formatRounded.js +17 -0
  58. package/dist/cjs/bundled_modules/d3-format/src/formatSpecifier.js +54 -0
  59. package/dist/cjs/bundled_modules/d3-format/src/formatTrim.js +17 -0
  60. package/dist/cjs/bundled_modules/d3-format/src/formatTypes.js +25 -0
  61. package/dist/cjs/bundled_modules/d3-format/src/identity.js +9 -0
  62. package/dist/cjs/bundled_modules/d3-format/src/locale.js +154 -0
  63. package/dist/cjs/bundled_modules/d3-format/src/precisionFixed.js +11 -0
  64. package/dist/cjs/bundled_modules/d3-format/src/precisionPrefix.js +11 -0
  65. package/dist/cjs/bundled_modules/d3-format/src/precisionRound.js +12 -0
  66. package/dist/cjs/bundled_modules/d3-geo/src/area.js +83 -0
  67. package/dist/cjs/bundled_modules/d3-geo/src/bounds.js +185 -0
  68. package/dist/cjs/bundled_modules/d3-geo/src/cartesian.js +43 -0
  69. package/dist/cjs/bundled_modules/d3-geo/src/centroid.js +149 -0
  70. package/dist/cjs/bundled_modules/d3-geo/src/circle.js +35 -0
  71. package/dist/cjs/bundled_modules/d3-geo/src/clip/antimeridian.js +98 -0
  72. package/dist/cjs/bundled_modules/d3-geo/src/clip/buffer.js +30 -0
  73. package/dist/cjs/bundled_modules/d3-geo/src/clip/circle.js +183 -0
  74. package/dist/cjs/bundled_modules/d3-geo/src/clip/index.js +137 -0
  75. package/dist/cjs/bundled_modules/d3-geo/src/clip/line.js +65 -0
  76. package/dist/cjs/bundled_modules/d3-geo/src/clip/rectangle.js +174 -0
  77. package/dist/cjs/bundled_modules/d3-geo/src/clip/rejoin.js +109 -0
  78. package/dist/cjs/bundled_modules/d3-geo/src/compose.js +18 -0
  79. package/dist/cjs/bundled_modules/d3-geo/src/graticule.js +107 -0
  80. package/dist/cjs/bundled_modules/d3-geo/src/identity.js +7 -0
  81. package/dist/cjs/bundled_modules/d3-geo/src/math.js +57 -0
  82. package/dist/cjs/bundled_modules/d3-geo/src/noop.js +7 -0
  83. package/dist/cjs/bundled_modules/d3-geo/src/path/area.js +54 -0
  84. package/dist/cjs/bundled_modules/d3-geo/src/path/bounds.js +32 -0
  85. package/dist/cjs/bundled_modules/d3-geo/src/path/centroid.js +104 -0
  86. package/dist/cjs/bundled_modules/d3-geo/src/path/context.js +51 -0
  87. package/dist/cjs/bundled_modules/d3-geo/src/path/index.js +82 -0
  88. package/dist/cjs/bundled_modules/d3-geo/src/path/measure.js +49 -0
  89. package/dist/cjs/bundled_modules/d3-geo/src/path/string.js +92 -0
  90. package/dist/cjs/bundled_modules/d3-geo/src/pointEqual.js +11 -0
  91. package/dist/cjs/bundled_modules/d3-geo/src/polygonContains.js +80 -0
  92. package/dist/cjs/bundled_modules/d3-geo/src/projection/albers.js +16 -0
  93. package/dist/cjs/bundled_modules/d3-geo/src/projection/albersUsa.js +117 -0
  94. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthal.js +32 -0
  95. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthalEqualArea.js +24 -0
  96. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthalEquidistant.js +24 -0
  97. package/dist/cjs/bundled_modules/d3-geo/src/projection/conic.js +19 -0
  98. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicConformal.js +45 -0
  99. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicEqualArea.js +40 -0
  100. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicEquidistant.js +39 -0
  101. package/dist/cjs/bundled_modules/d3-geo/src/projection/cylindricalEqualArea.js +19 -0
  102. package/dist/cjs/bundled_modules/d3-geo/src/projection/equalEarth.js +43 -0
  103. package/dist/cjs/bundled_modules/d3-geo/src/projection/equirectangular.js +19 -0
  104. package/dist/cjs/bundled_modules/d3-geo/src/projection/fit.js +54 -0
  105. package/dist/cjs/bundled_modules/d3-geo/src/projection/gnomonic.js +23 -0
  106. package/dist/cjs/bundled_modules/d3-geo/src/projection/identity.js +91 -0
  107. package/dist/cjs/bundled_modules/d3-geo/src/projection/index.js +184 -0
  108. package/dist/cjs/bundled_modules/d3-geo/src/projection/mercator.js +60 -0
  109. package/dist/cjs/bundled_modules/d3-geo/src/projection/naturalEarth1.js +35 -0
  110. package/dist/cjs/bundled_modules/d3-geo/src/projection/orthographic.js +22 -0
  111. package/dist/cjs/bundled_modules/d3-geo/src/projection/resample.js +108 -0
  112. package/dist/cjs/bundled_modules/d3-geo/src/projection/stereographic.js +25 -0
  113. package/dist/cjs/bundled_modules/d3-geo/src/projection/transverseMercator.js +34 -0
  114. package/dist/cjs/bundled_modules/d3-geo/src/rotation.js +86 -0
  115. package/dist/cjs/bundled_modules/d3-geo/src/stream.js +75 -0
  116. package/dist/cjs/bundled_modules/d3-geo/src/transform.js +24 -0
  117. package/dist/cjs/bundled_modules/d3-geo-projection/src/math.js +28 -0
  118. package/dist/cjs/bundled_modules/d3-geo-projection/src/mollweide.js +38 -0
  119. package/dist/cjs/bundled_modules/d3-hierarchy/src/accessors.js +13 -0
  120. package/dist/cjs/bundled_modules/d3-hierarchy/src/array.js +27 -0
  121. package/dist/cjs/bundled_modules/d3-hierarchy/src/cluster.js +90 -0
  122. package/dist/cjs/bundled_modules/d3-hierarchy/src/constant.js +16 -0
  123. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/ancestors.js +13 -0
  124. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/count.js +18 -0
  125. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/descendants.js +9 -0
  126. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/each.js +13 -0
  127. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/eachAfter.js +21 -0
  128. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/eachBefore.js +18 -0
  129. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/find.js +14 -0
  130. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/index.js +99 -0
  131. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/iterator.js +20 -0
  132. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/leaves.js +15 -0
  133. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/links.js +15 -0
  134. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/path.js +36 -0
  135. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/sort.js +13 -0
  136. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/sum.js +15 -0
  137. package/dist/cjs/bundled_modules/d3-hierarchy/src/lcg.js +15 -0
  138. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/enclose.js +122 -0
  139. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/index.js +87 -0
  140. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/siblings.js +118 -0
  141. package/dist/cjs/bundled_modules/d3-hierarchy/src/partition.js +58 -0
  142. package/dist/cjs/bundled_modules/d3-hierarchy/src/stratify.js +151 -0
  143. package/dist/cjs/bundled_modules/d3-hierarchy/src/tree.js +243 -0
  144. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/binary.js +52 -0
  145. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/dice.js +18 -0
  146. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/index.js +100 -0
  147. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/resquarify.js +42 -0
  148. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/round.js +12 -0
  149. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/slice.js +18 -0
  150. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/sliceDice.js +12 -0
  151. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/squarify.js +74 -0
  152. package/dist/cjs/bundled_modules/d3-interpolate/src/array.js +29 -0
  153. package/dist/cjs/bundled_modules/d3-interpolate/src/basis.js +26 -0
  154. package/dist/cjs/bundled_modules/d3-interpolate/src/basisClosed.js +19 -0
  155. package/dist/cjs/bundled_modules/d3-interpolate/src/color.js +37 -0
  156. package/dist/cjs/bundled_modules/d3-interpolate/src/constant.js +7 -0
  157. package/dist/cjs/bundled_modules/d3-interpolate/src/cubehelix.js +36 -0
  158. package/dist/cjs/bundled_modules/d3-interpolate/src/date.js +12 -0
  159. package/dist/cjs/bundled_modules/d3-interpolate/src/discrete.js +12 -0
  160. package/dist/cjs/bundled_modules/d3-interpolate/src/hcl.js +28 -0
  161. package/dist/cjs/bundled_modules/d3-interpolate/src/hsl.js +28 -0
  162. package/dist/cjs/bundled_modules/d3-interpolate/src/hue.js +15 -0
  163. package/dist/cjs/bundled_modules/d3-interpolate/src/index.js +53 -0
  164. package/dist/cjs/bundled_modules/d3-interpolate/src/lab.js +22 -0
  165. package/dist/cjs/bundled_modules/d3-interpolate/src/number.js +11 -0
  166. package/dist/cjs/bundled_modules/d3-interpolate/src/numberArray.js +21 -0
  167. package/dist/cjs/bundled_modules/d3-interpolate/src/object.js +29 -0
  168. package/dist/cjs/bundled_modules/d3-interpolate/src/piecewise.js +17 -0
  169. package/dist/cjs/bundled_modules/d3-interpolate/src/quantize.js +11 -0
  170. package/dist/cjs/bundled_modules/d3-interpolate/src/rgb.js +63 -0
  171. package/dist/cjs/bundled_modules/d3-interpolate/src/round.js +11 -0
  172. package/dist/cjs/bundled_modules/d3-interpolate/src/string.js +70 -0
  173. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/decompose.js +33 -0
  174. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/index.js +68 -0
  175. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/parse.js +23 -0
  176. package/dist/cjs/bundled_modules/d3-interpolate/src/value.js +28 -0
  177. package/dist/cjs/bundled_modules/d3-interpolate/src/zoom.js +77 -0
  178. package/dist/cjs/bundled_modules/d3-path/src/path.js +157 -0
  179. package/dist/cjs/bundled_modules/d3-quadtree/src/add.js +91 -0
  180. package/dist/cjs/bundled_modules/d3-quadtree/src/cover.js +49 -0
  181. package/dist/cjs/bundled_modules/d3-quadtree/src/data.js +13 -0
  182. package/dist/cjs/bundled_modules/d3-quadtree/src/extent.js +11 -0
  183. package/dist/cjs/bundled_modules/d3-quadtree/src/find.js +76 -0
  184. package/dist/cjs/bundled_modules/d3-quadtree/src/quad.js +13 -0
  185. package/dist/cjs/bundled_modules/d3-quadtree/src/quadtree.js +79 -0
  186. package/dist/cjs/bundled_modules/d3-quadtree/src/remove.js +69 -0
  187. package/dist/cjs/bundled_modules/d3-quadtree/src/root.js +9 -0
  188. package/dist/cjs/bundled_modules/d3-quadtree/src/size.js +13 -0
  189. package/dist/cjs/bundled_modules/d3-quadtree/src/visit.js +22 -0
  190. package/dist/cjs/bundled_modules/d3-quadtree/src/visitAfter.js +27 -0
  191. package/dist/cjs/bundled_modules/d3-quadtree/src/x.js +14 -0
  192. package/dist/cjs/bundled_modules/d3-quadtree/src/y.js +14 -0
  193. package/dist/cjs/bundled_modules/d3-scale/src/constant.js +11 -0
  194. package/dist/cjs/bundled_modules/d3-scale/src/continuous.js +136 -0
  195. package/dist/cjs/bundled_modules/d3-scale/src/diverging.js +116 -0
  196. package/dist/cjs/bundled_modules/d3-scale/src/identity.js +34 -0
  197. package/dist/cjs/bundled_modules/d3-scale/src/init.js +31 -0
  198. package/dist/cjs/bundled_modules/d3-scale/src/linear.js +77 -0
  199. package/dist/cjs/bundled_modules/d3-scale/src/log.js +148 -0
  200. package/dist/cjs/bundled_modules/d3-scale/src/nice.js +24 -0
  201. package/dist/cjs/bundled_modules/d3-scale/src/number.js +9 -0
  202. package/dist/cjs/bundled_modules/d3-scale/src/ordinal.js +53 -0
  203. package/dist/cjs/bundled_modules/d3-scale/src/pow.js +58 -0
  204. package/dist/cjs/bundled_modules/d3-scale/src/quantile.js +65 -0
  205. package/dist/cjs/bundled_modules/d3-scale/src/quantize.js +62 -0
  206. package/dist/cjs/bundled_modules/d3-scale/src/sequential.js +119 -0
  207. package/dist/cjs/bundled_modules/d3-scale/src/symlog.js +42 -0
  208. package/dist/cjs/bundled_modules/d3-scale/src/threshold.js +45 -0
  209. package/dist/cjs/bundled_modules/d3-scale/src/tickFormat.js +39 -0
  210. package/dist/cjs/bundled_modules/d3-scale/src/time.js +85 -0
  211. package/dist/cjs/bundled_modules/d3-scale/src/utcTime.js +21 -0
  212. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Accent.js +9 -0
  213. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Dark2.js +9 -0
  214. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Paired.js +9 -0
  215. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Pastel1.js +9 -0
  216. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Pastel2.js +9 -0
  217. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set1.js +9 -0
  218. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set2.js +9 -0
  219. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set3.js +9 -0
  220. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/category10.js +9 -0
  221. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/observable10.js +9 -0
  222. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/colors.js +11 -0
  223. package/dist/cjs/bundled_modules/d3-shape/src/arc.js +274 -0
  224. package/dist/cjs/bundled_modules/d3-shape/src/area.js +118 -0
  225. package/dist/cjs/bundled_modules/d3-shape/src/array.js +11 -0
  226. package/dist/cjs/bundled_modules/d3-shape/src/constant.js +11 -0
  227. package/dist/cjs/bundled_modules/d3-shape/src/curve/basis.js +59 -0
  228. package/dist/cjs/bundled_modules/d3-shape/src/curve/basisClosed.js +58 -0
  229. package/dist/cjs/bundled_modules/d3-shape/src/curve/basisOpen.js +45 -0
  230. package/dist/cjs/bundled_modules/d3-shape/src/curve/bundle.js +62 -0
  231. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinal.js +69 -0
  232. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinalClosed.js +68 -0
  233. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinalOpen.js +56 -0
  234. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRom.js +95 -0
  235. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRomClosed.js +80 -0
  236. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRomOpen.js +68 -0
  237. package/dist/cjs/bundled_modules/d3-shape/src/curve/linear.js +37 -0
  238. package/dist/cjs/bundled_modules/d3-shape/src/curve/linearClosed.js +31 -0
  239. package/dist/cjs/bundled_modules/d3-shape/src/curve/monotone.js +109 -0
  240. package/dist/cjs/bundled_modules/d3-shape/src/curve/natural.js +71 -0
  241. package/dist/cjs/bundled_modules/d3-shape/src/curve/step.js +61 -0
  242. package/dist/cjs/bundled_modules/d3-shape/src/line.js +64 -0
  243. package/dist/cjs/bundled_modules/d3-shape/src/math.js +36 -0
  244. package/dist/cjs/bundled_modules/d3-shape/src/noop.js +7 -0
  245. package/dist/cjs/bundled_modules/d3-shape/src/path.js +23 -0
  246. package/dist/cjs/bundled_modules/d3-shape/src/point.js +12 -0
  247. package/dist/cjs/bundled_modules/d3-shape/src/symbol/circle.js +15 -0
  248. package/dist/cjs/bundled_modules/d3-shape/src/symbol.js +38 -0
  249. package/dist/cjs/bundled_modules/d3-time/src/day.js +41 -0
  250. package/dist/cjs/bundled_modules/d3-time/src/duration.js +17 -0
  251. package/dist/cjs/bundled_modules/d3-time/src/hour.js +31 -0
  252. package/dist/cjs/bundled_modules/d3-time/src/interval.js +73 -0
  253. package/dist/cjs/bundled_modules/d3-time/src/millisecond.js +29 -0
  254. package/dist/cjs/bundled_modules/d3-time/src/minute.js +31 -0
  255. package/dist/cjs/bundled_modules/d3-time/src/month.js +32 -0
  256. package/dist/cjs/bundled_modules/d3-time/src/second.js +18 -0
  257. package/dist/cjs/bundled_modules/d3-time/src/ticks.js +64 -0
  258. package/dist/cjs/bundled_modules/d3-time/src/week.js +73 -0
  259. package/dist/cjs/bundled_modules/d3-time/src/year.js +54 -0
  260. package/dist/cjs/bundled_modules/d3-time-format/src/defaultLocale.js +33 -0
  261. package/dist/cjs/bundled_modules/d3-time-format/src/locale.js +694 -0
  262. package/dist/cjs/bundled_modules/d3-timer/src/interval.js +23 -0
  263. package/dist/cjs/bundled_modules/d3-timer/src/timer.js +117 -0
  264. package/dist/cjs/bundled_modules/delaunator/index.js +485 -0
  265. package/dist/cjs/bundled_modules/internmap/src/index.js +66 -0
  266. package/dist/cjs/bundled_modules/json-stringify-pretty-compact/index.js +104 -0
  267. package/dist/cjs/bundled_modules/robust-predicates/esm/orient2d.js +184 -0
  268. package/dist/cjs/bundled_modules/robust-predicates/esm/util.js +95 -0
  269. package/dist/cjs/bundled_modules/topojson-client/src/feature.js +77 -0
  270. package/dist/cjs/bundled_modules/topojson-client/src/identity.js +9 -0
  271. package/dist/cjs/bundled_modules/topojson-client/src/mesh.js +60 -0
  272. package/dist/cjs/bundled_modules/topojson-client/src/reverse.js +10 -0
  273. package/dist/cjs/bundled_modules/topojson-client/src/stitch.js +79 -0
  274. package/dist/cjs/bundled_modules/topojson-client/src/transform.js +25 -0
  275. package/dist/cjs/bundled_modules/vega/build/vega.module.js +272 -0
  276. package/dist/cjs/bundled_modules/vega-canvas/build/vega-canvas.browser.js +18 -0
  277. package/dist/cjs/bundled_modules/vega-crossfilter/build/vega-crossfilter.js +676 -0
  278. package/dist/cjs/bundled_modules/vega-dataflow/build/vega-dataflow.js +2102 -0
  279. package/dist/cjs/bundled_modules/vega-embed/build/embed.js +2939 -0
  280. package/dist/cjs/bundled_modules/vega-encode/build/vega-encode.js +962 -0
  281. package/dist/cjs/bundled_modules/vega-event-selector/build/vega-event-selector.js +192 -0
  282. package/dist/cjs/bundled_modules/vega-expression/build/vega-expression.js +1615 -0
  283. package/dist/cjs/bundled_modules/vega-force/build/vega-force.js +295 -0
  284. package/dist/cjs/bundled_modules/vega-format/build/vega-format.js +201 -0
  285. package/dist/cjs/bundled_modules/vega-functions/build/vega-functions.js +842 -0
  286. package/dist/cjs/bundled_modules/vega-geo/build/vega-geo.js +1333 -0
  287. package/dist/cjs/bundled_modules/vega-hierarchy/build/vega-hierarchy.js +580 -0
  288. package/dist/cjs/bundled_modules/vega-interpreter/build/vega-interpreter.js +310 -0
  289. package/dist/cjs/bundled_modules/vega-label/build/vega-label.js +876 -0
  290. package/dist/cjs/bundled_modules/vega-lite/build/index.js +20157 -0
  291. package/dist/cjs/bundled_modules/vega-loader/build/vega-loader.browser.js +337 -0
  292. package/dist/cjs/bundled_modules/vega-parser/build/vega-parser.js +3805 -0
  293. package/dist/cjs/bundled_modules/vega-projection/build/vega-projection.js +90 -0
  294. package/dist/cjs/bundled_modules/vega-regression/build/vega-regression.js +236 -0
  295. package/dist/cjs/bundled_modules/vega-runtime/build/vega-runtime.js +588 -0
  296. package/dist/cjs/bundled_modules/vega-scale/build/vega-scale.js +846 -0
  297. package/dist/cjs/bundled_modules/vega-scenegraph/build/vega-scenegraph.js +5040 -0
  298. package/dist/cjs/bundled_modules/vega-schema-url-parser/dist/parser.modern.js +7 -0
  299. package/dist/cjs/bundled_modules/vega-selections/build/vega-selection.js +342 -0
  300. package/dist/cjs/bundled_modules/vega-statistics/build/vega-statistics.js +1193 -0
  301. package/dist/cjs/bundled_modules/vega-themes/build/index.js +853 -0
  302. package/dist/cjs/bundled_modules/vega-time/build/vega-time.js +342 -0
  303. package/dist/cjs/bundled_modules/vega-tooltip/build/index.js +353 -0
  304. package/dist/cjs/bundled_modules/vega-transforms/build/vega-transforms.js +3781 -0
  305. package/dist/cjs/bundled_modules/vega-util/build/vega-util.js +824 -0
  306. package/dist/cjs/bundled_modules/vega-view/build/vega-view.js +1306 -0
  307. package/dist/cjs/bundled_modules/vega-view-transforms/build/vega-view-transforms.js +1313 -0
  308. package/dist/cjs/bundled_modules/vega-voronoi/build/vega-voronoi.js +80 -0
  309. package/dist/cjs/bundled_modules/vega-wordcloud/build/vega-wordcloud.js +540 -0
  310. package/dist/cjs/index.js +11 -0
  311. package/dist/cjs/styles/createPalette.js +11 -0
  312. package/dist/cjs/styles/entrypoint.scss.js +7 -0
  313. package/dist/cjs/styles.css +1 -1
  314. package/dist/cjs/unstable/Card/components.js +213 -0
  315. package/dist/cjs/unstable/Card/state.js +53 -0
  316. package/dist/cjs/unstable/Card/styles.module.scss.js +1 -1
  317. package/dist/cjs/unstable/StatCard/index.js +124 -0
  318. package/dist/cjs/unstable/StatCard/index.module.scss.js +7 -0
  319. package/dist/cjs/unstable/extras/chart/BarChart.js +42 -0
  320. package/dist/cjs/unstable/extras/chart/Chart.js +100 -0
  321. package/dist/cjs/unstable/extras/chart/DistributionChart.js +84 -0
  322. package/dist/cjs/unstable/extras/chart/DonutChart.js +43 -0
  323. package/dist/cjs/unstable/extras/chart/LineChart.js +45 -0
  324. package/dist/cjs/unstable/extras/chart/PieChart.js +39 -0
  325. package/dist/cjs/unstable/extras/chart/TimelineChart.js +48 -0
  326. package/dist/cjs/unstable/extras/chart/index.js +23 -0
  327. package/dist/cjs/unstable/index.js +39 -13
  328. package/dist/cjs/unstable/skeleton/index.js +74 -0
  329. package/dist/cjs/unstable/skeleton/index.module.scss.js +7 -0
  330. package/dist/cjs/unstable/suspense/index.js +18 -0
  331. package/dist/cjs/unstable/suspense/index.module.scss.js +7 -0
  332. package/dist/cjs/unstable/suspense/loader.js +23 -0
  333. package/dist/esm/Dialog/components.js +28 -89
  334. package/dist/esm/Dialog/state.js +2 -8
  335. package/dist/esm/Dialog/styles.module.scss.js +2 -2
  336. package/dist/esm/FileUploader/controlled.js +7 -0
  337. package/dist/esm/Table/AutoTable/controlled.js +2 -1
  338. package/dist/esm/Table/AutoTable/styles.module.scss.js +1 -1
  339. package/dist/esm/TablePagination/index.js +21 -8
  340. package/dist/esm/bundled_modules/d3-array/src/ascending.js +5 -0
  341. package/dist/esm/bundled_modules/d3-array/src/bisect.js +10 -0
  342. package/dist/esm/bundled_modules/d3-array/src/bisector.js +58 -0
  343. package/dist/esm/bundled_modules/d3-array/src/descending.js +9 -0
  344. package/dist/esm/bundled_modules/d3-array/src/deviation.js +8 -0
  345. package/dist/esm/bundled_modules/d3-array/src/fsum.js +43 -0
  346. package/dist/esm/bundled_modules/d3-array/src/intersection.js +21 -0
  347. package/dist/esm/bundled_modules/d3-array/src/max.js +22 -0
  348. package/dist/esm/bundled_modules/d3-array/src/mean.js +21 -0
  349. package/dist/esm/bundled_modules/d3-array/src/median.js +7 -0
  350. package/dist/esm/bundled_modules/d3-array/src/merge.js +11 -0
  351. package/dist/esm/bundled_modules/d3-array/src/min.js +22 -0
  352. package/dist/esm/bundled_modules/d3-array/src/number.js +22 -0
  353. package/dist/esm/bundled_modules/d3-array/src/permute.js +5 -0
  354. package/dist/esm/bundled_modules/d3-array/src/quantile.js +31 -0
  355. package/dist/esm/bundled_modules/d3-array/src/quickselect.js +55 -0
  356. package/dist/esm/bundled_modules/d3-array/src/range.js +15 -0
  357. package/dist/esm/bundled_modules/d3-array/src/sort.js +17 -0
  358. package/dist/esm/bundled_modules/d3-array/src/sum.js +13 -0
  359. package/dist/esm/bundled_modules/d3-array/src/ticks.js +57 -0
  360. package/dist/esm/bundled_modules/d3-array/src/union.js +13 -0
  361. package/dist/esm/bundled_modules/d3-array/src/variance.js +27 -0
  362. package/dist/esm/bundled_modules/d3-color/src/color.js +398 -0
  363. package/dist/esm/bundled_modules/d3-color/src/cubehelix.js +63 -0
  364. package/dist/esm/bundled_modules/d3-color/src/define.js +12 -0
  365. package/dist/esm/bundled_modules/d3-color/src/lab.js +117 -0
  366. package/dist/esm/bundled_modules/d3-color/src/math.js +4 -0
  367. package/dist/esm/bundled_modules/d3-delaunay/src/delaunay.js +250 -0
  368. package/dist/esm/bundled_modules/d3-delaunay/src/path.js +39 -0
  369. package/dist/esm/bundled_modules/d3-delaunay/src/polygon.js +19 -0
  370. package/dist/esm/bundled_modules/d3-delaunay/src/voronoi.js +334 -0
  371. package/dist/esm/bundled_modules/d3-dispatch/src/dispatch.js +84 -0
  372. package/dist/esm/bundled_modules/d3-dsv/src/dsv.js +166 -0
  373. package/dist/esm/bundled_modules/d3-force/src/center.js +42 -0
  374. package/dist/esm/bundled_modules/d3-force/src/collide.js +102 -0
  375. package/dist/esm/bundled_modules/d3-force/src/constant.js +7 -0
  376. package/dist/esm/bundled_modules/d3-force/src/jiggle.js +5 -0
  377. package/dist/esm/bundled_modules/d3-force/src/lcg.js +11 -0
  378. package/dist/esm/bundled_modules/d3-force/src/link.js +119 -0
  379. package/dist/esm/bundled_modules/d3-force/src/manyBody.js +118 -0
  380. package/dist/esm/bundled_modules/d3-force/src/simulation.js +158 -0
  381. package/dist/esm/bundled_modules/d3-force/src/x.js +43 -0
  382. package/dist/esm/bundled_modules/d3-force/src/y.js +43 -0
  383. package/dist/esm/bundled_modules/d3-format/src/defaultLocale.js +20 -0
  384. package/dist/esm/bundled_modules/d3-format/src/exponent.js +7 -0
  385. package/dist/esm/bundled_modules/d3-format/src/formatDecimal.js +22 -0
  386. package/dist/esm/bundled_modules/d3-format/src/formatGroup.js +20 -0
  387. package/dist/esm/bundled_modules/d3-format/src/formatNumerals.js +9 -0
  388. package/dist/esm/bundled_modules/d3-format/src/formatPrefixAuto.js +18 -0
  389. package/dist/esm/bundled_modules/d3-format/src/formatRounded.js +13 -0
  390. package/dist/esm/bundled_modules/d3-format/src/formatSpecifier.js +49 -0
  391. package/dist/esm/bundled_modules/d3-format/src/formatTrim.js +13 -0
  392. package/dist/esm/bundled_modules/d3-format/src/formatTypes.js +21 -0
  393. package/dist/esm/bundled_modules/d3-format/src/identity.js +5 -0
  394. package/dist/esm/bundled_modules/d3-format/src/locale.js +150 -0
  395. package/dist/esm/bundled_modules/d3-format/src/precisionFixed.js +7 -0
  396. package/dist/esm/bundled_modules/d3-format/src/precisionPrefix.js +7 -0
  397. package/dist/esm/bundled_modules/d3-format/src/precisionRound.js +8 -0
  398. package/dist/esm/bundled_modules/d3-geo/src/area.js +78 -0
  399. package/dist/esm/bundled_modules/d3-geo/src/bounds.js +181 -0
  400. package/dist/esm/bundled_modules/d3-geo/src/cartesian.js +35 -0
  401. package/dist/esm/bundled_modules/d3-geo/src/centroid.js +145 -0
  402. package/dist/esm/bundled_modules/d3-geo/src/circle.js +33 -0
  403. package/dist/esm/bundled_modules/d3-geo/src/clip/antimeridian.js +94 -0
  404. package/dist/esm/bundled_modules/d3-geo/src/clip/buffer.js +26 -0
  405. package/dist/esm/bundled_modules/d3-geo/src/clip/circle.js +179 -0
  406. package/dist/esm/bundled_modules/d3-geo/src/clip/index.js +133 -0
  407. package/dist/esm/bundled_modules/d3-geo/src/clip/line.js +61 -0
  408. package/dist/esm/bundled_modules/d3-geo/src/clip/rectangle.js +170 -0
  409. package/dist/esm/bundled_modules/d3-geo/src/clip/rejoin.js +105 -0
  410. package/dist/esm/bundled_modules/d3-geo/src/compose.js +14 -0
  411. package/dist/esm/bundled_modules/d3-geo/src/graticule.js +103 -0
  412. package/dist/esm/bundled_modules/d3-geo/src/identity.js +3 -0
  413. package/dist/esm/bundled_modules/d3-geo/src/math.js +33 -0
  414. package/dist/esm/bundled_modules/d3-geo/src/noop.js +3 -0
  415. package/dist/esm/bundled_modules/d3-geo/src/path/area.js +50 -0
  416. package/dist/esm/bundled_modules/d3-geo/src/path/bounds.js +28 -0
  417. package/dist/esm/bundled_modules/d3-geo/src/path/centroid.js +100 -0
  418. package/dist/esm/bundled_modules/d3-geo/src/path/context.js +47 -0
  419. package/dist/esm/bundled_modules/d3-geo/src/path/index.js +78 -0
  420. package/dist/esm/bundled_modules/d3-geo/src/path/measure.js +45 -0
  421. package/dist/esm/bundled_modules/d3-geo/src/path/string.js +88 -0
  422. package/dist/esm/bundled_modules/d3-geo/src/pointEqual.js +7 -0
  423. package/dist/esm/bundled_modules/d3-geo/src/polygonContains.js +76 -0
  424. package/dist/esm/bundled_modules/d3-geo/src/projection/albers.js +12 -0
  425. package/dist/esm/bundled_modules/d3-geo/src/projection/albersUsa.js +113 -0
  426. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthal.js +29 -0
  427. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthalEqualArea.js +19 -0
  428. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthalEquidistant.js +19 -0
  429. package/dist/esm/bundled_modules/d3-geo/src/projection/conic.js +17 -0
  430. package/dist/esm/bundled_modules/d3-geo/src/projection/conicConformal.js +40 -0
  431. package/dist/esm/bundled_modules/d3-geo/src/projection/conicEqualArea.js +35 -0
  432. package/dist/esm/bundled_modules/d3-geo/src/projection/conicEquidistant.js +34 -0
  433. package/dist/esm/bundled_modules/d3-geo/src/projection/cylindricalEqualArea.js +17 -0
  434. package/dist/esm/bundled_modules/d3-geo/src/projection/equalEarth.js +38 -0
  435. package/dist/esm/bundled_modules/d3-geo/src/projection/equirectangular.js +14 -0
  436. package/dist/esm/bundled_modules/d3-geo/src/projection/fit.js +49 -0
  437. package/dist/esm/bundled_modules/d3-geo/src/projection/gnomonic.js +18 -0
  438. package/dist/esm/bundled_modules/d3-geo/src/projection/identity.js +87 -0
  439. package/dist/esm/bundled_modules/d3-geo/src/projection/index.js +179 -0
  440. package/dist/esm/bundled_modules/d3-geo/src/projection/mercator.js +54 -0
  441. package/dist/esm/bundled_modules/d3-geo/src/projection/naturalEarth1.js +30 -0
  442. package/dist/esm/bundled_modules/d3-geo/src/projection/orthographic.js +17 -0
  443. package/dist/esm/bundled_modules/d3-geo/src/projection/resample.js +104 -0
  444. package/dist/esm/bundled_modules/d3-geo/src/projection/stereographic.js +20 -0
  445. package/dist/esm/bundled_modules/d3-geo/src/projection/transverseMercator.js +29 -0
  446. package/dist/esm/bundled_modules/d3-geo/src/rotation.js +81 -0
  447. package/dist/esm/bundled_modules/d3-geo/src/stream.js +71 -0
  448. package/dist/esm/bundled_modules/d3-geo/src/transform.js +22 -0
  449. package/dist/esm/bundled_modules/d3-geo-projection/src/math.js +18 -0
  450. package/dist/esm/bundled_modules/d3-geo-projection/src/mollweide.js +31 -0
  451. package/dist/esm/bundled_modules/d3-hierarchy/src/accessors.js +10 -0
  452. package/dist/esm/bundled_modules/d3-hierarchy/src/array.js +22 -0
  453. package/dist/esm/bundled_modules/d3-hierarchy/src/cluster.js +86 -0
  454. package/dist/esm/bundled_modules/d3-hierarchy/src/constant.js +11 -0
  455. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/ancestors.js +9 -0
  456. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/count.js +14 -0
  457. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/descendants.js +5 -0
  458. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/each.js +9 -0
  459. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/eachAfter.js +17 -0
  460. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/eachBefore.js +14 -0
  461. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/find.js +10 -0
  462. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/index.js +93 -0
  463. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/iterator.js +16 -0
  464. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/leaves.js +11 -0
  465. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/links.js +11 -0
  466. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/path.js +32 -0
  467. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/sort.js +9 -0
  468. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/sum.js +11 -0
  469. package/dist/esm/bundled_modules/d3-hierarchy/src/lcg.js +11 -0
  470. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/enclose.js +120 -0
  471. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/index.js +83 -0
  472. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/siblings.js +116 -0
  473. package/dist/esm/bundled_modules/d3-hierarchy/src/partition.js +54 -0
  474. package/dist/esm/bundled_modules/d3-hierarchy/src/stratify.js +147 -0
  475. package/dist/esm/bundled_modules/d3-hierarchy/src/tree.js +239 -0
  476. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/binary.js +48 -0
  477. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/dice.js +14 -0
  478. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/index.js +96 -0
  479. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/resquarify.js +38 -0
  480. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/round.js +8 -0
  481. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/slice.js +14 -0
  482. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/sliceDice.js +8 -0
  483. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/squarify.js +68 -0
  484. package/dist/esm/bundled_modules/d3-interpolate/src/array.js +24 -0
  485. package/dist/esm/bundled_modules/d3-interpolate/src/basis.js +21 -0
  486. package/dist/esm/bundled_modules/d3-interpolate/src/basisClosed.js +15 -0
  487. package/dist/esm/bundled_modules/d3-interpolate/src/color.js +31 -0
  488. package/dist/esm/bundled_modules/d3-interpolate/src/constant.js +3 -0
  489. package/dist/esm/bundled_modules/d3-interpolate/src/cubehelix.js +31 -0
  490. package/dist/esm/bundled_modules/d3-interpolate/src/date.js +8 -0
  491. package/dist/esm/bundled_modules/d3-interpolate/src/discrete.js +8 -0
  492. package/dist/esm/bundled_modules/d3-interpolate/src/hcl.js +23 -0
  493. package/dist/esm/bundled_modules/d3-interpolate/src/hsl.js +23 -0
  494. package/dist/esm/bundled_modules/d3-interpolate/src/hue.js +11 -0
  495. package/dist/esm/bundled_modules/d3-interpolate/src/index.js +21 -0
  496. package/dist/esm/bundled_modules/d3-interpolate/src/lab.js +18 -0
  497. package/dist/esm/bundled_modules/d3-interpolate/src/number.js +7 -0
  498. package/dist/esm/bundled_modules/d3-interpolate/src/numberArray.js +16 -0
  499. package/dist/esm/bundled_modules/d3-interpolate/src/object.js +25 -0
  500. package/dist/esm/bundled_modules/d3-interpolate/src/piecewise.js +13 -0
  501. package/dist/esm/bundled_modules/d3-interpolate/src/quantize.js +7 -0
  502. package/dist/esm/bundled_modules/d3-interpolate/src/rgb.js +57 -0
  503. package/dist/esm/bundled_modules/d3-interpolate/src/round.js +7 -0
  504. package/dist/esm/bundled_modules/d3-interpolate/src/string.js +66 -0
  505. package/dist/esm/bundled_modules/d3-interpolate/src/transform/decompose.js +28 -0
  506. package/dist/esm/bundled_modules/d3-interpolate/src/transform/index.js +65 -0
  507. package/dist/esm/bundled_modules/d3-interpolate/src/transform/parse.js +20 -0
  508. package/dist/esm/bundled_modules/d3-interpolate/src/value.js +24 -0
  509. package/dist/esm/bundled_modules/d3-interpolate/src/zoom.js +73 -0
  510. package/dist/esm/bundled_modules/d3-path/src/path.js +154 -0
  511. package/dist/esm/bundled_modules/d3-quadtree/src/add.js +86 -0
  512. package/dist/esm/bundled_modules/d3-quadtree/src/cover.js +45 -0
  513. package/dist/esm/bundled_modules/d3-quadtree/src/data.js +9 -0
  514. package/dist/esm/bundled_modules/d3-quadtree/src/extent.js +7 -0
  515. package/dist/esm/bundled_modules/d3-quadtree/src/find.js +72 -0
  516. package/dist/esm/bundled_modules/d3-quadtree/src/quad.js +9 -0
  517. package/dist/esm/bundled_modules/d3-quadtree/src/quadtree.js +75 -0
  518. package/dist/esm/bundled_modules/d3-quadtree/src/remove.js +64 -0
  519. package/dist/esm/bundled_modules/d3-quadtree/src/root.js +5 -0
  520. package/dist/esm/bundled_modules/d3-quadtree/src/size.js +9 -0
  521. package/dist/esm/bundled_modules/d3-quadtree/src/visit.js +18 -0
  522. package/dist/esm/bundled_modules/d3-quadtree/src/visitAfter.js +23 -0
  523. package/dist/esm/bundled_modules/d3-quadtree/src/x.js +9 -0
  524. package/dist/esm/bundled_modules/d3-quadtree/src/y.js +9 -0
  525. package/dist/esm/bundled_modules/d3-scale/src/constant.js +7 -0
  526. package/dist/esm/bundled_modules/d3-scale/src/continuous.js +129 -0
  527. package/dist/esm/bundled_modules/d3-scale/src/diverging.js +108 -0
  528. package/dist/esm/bundled_modules/d3-scale/src/identity.js +30 -0
  529. package/dist/esm/bundled_modules/d3-scale/src/init.js +28 -0
  530. package/dist/esm/bundled_modules/d3-scale/src/linear.js +72 -0
  531. package/dist/esm/bundled_modules/d3-scale/src/log.js +143 -0
  532. package/dist/esm/bundled_modules/d3-scale/src/nice.js +20 -0
  533. package/dist/esm/bundled_modules/d3-scale/src/number.js +5 -0
  534. package/dist/esm/bundled_modules/d3-scale/src/ordinal.js +48 -0
  535. package/dist/esm/bundled_modules/d3-scale/src/pow.js +52 -0
  536. package/dist/esm/bundled_modules/d3-scale/src/quantile.js +61 -0
  537. package/dist/esm/bundled_modules/d3-scale/src/quantize.js +58 -0
  538. package/dist/esm/bundled_modules/d3-scale/src/sequential.js +110 -0
  539. package/dist/esm/bundled_modules/d3-scale/src/symlog.js +37 -0
  540. package/dist/esm/bundled_modules/d3-scale/src/threshold.js +41 -0
  541. package/dist/esm/bundled_modules/d3-scale/src/tickFormat.js +35 -0
  542. package/dist/esm/bundled_modules/d3-scale/src/time.js +80 -0
  543. package/dist/esm/bundled_modules/d3-scale/src/utcTime.js +17 -0
  544. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Accent.js +5 -0
  545. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Dark2.js +5 -0
  546. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Paired.js +5 -0
  547. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Pastel1.js +5 -0
  548. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Pastel2.js +5 -0
  549. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set1.js +5 -0
  550. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set2.js +5 -0
  551. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set3.js +5 -0
  552. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/category10.js +5 -0
  553. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/observable10.js +5 -0
  554. package/dist/esm/bundled_modules/d3-scale-chromatic/src/colors.js +7 -0
  555. package/dist/esm/bundled_modules/d3-shape/src/arc.js +270 -0
  556. package/dist/esm/bundled_modules/d3-shape/src/area.js +114 -0
  557. package/dist/esm/bundled_modules/d3-shape/src/array.js +7 -0
  558. package/dist/esm/bundled_modules/d3-shape/src/constant.js +7 -0
  559. package/dist/esm/bundled_modules/d3-shape/src/curve/basis.js +53 -0
  560. package/dist/esm/bundled_modules/d3-shape/src/curve/basisClosed.js +54 -0
  561. package/dist/esm/bundled_modules/d3-shape/src/curve/basisOpen.js +41 -0
  562. package/dist/esm/bundled_modules/d3-shape/src/curve/bundle.js +58 -0
  563. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinal.js +63 -0
  564. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinalClosed.js +63 -0
  565. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinalOpen.js +51 -0
  566. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRom.js +90 -0
  567. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRomClosed.js +76 -0
  568. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRomOpen.js +64 -0
  569. package/dist/esm/bundled_modules/d3-shape/src/curve/linear.js +33 -0
  570. package/dist/esm/bundled_modules/d3-shape/src/curve/linearClosed.js +27 -0
  571. package/dist/esm/bundled_modules/d3-shape/src/curve/monotone.js +106 -0
  572. package/dist/esm/bundled_modules/d3-shape/src/curve/natural.js +67 -0
  573. package/dist/esm/bundled_modules/d3-shape/src/curve/step.js +55 -0
  574. package/dist/esm/bundled_modules/d3-shape/src/line.js +60 -0
  575. package/dist/esm/bundled_modules/d3-shape/src/math.js +22 -0
  576. package/dist/esm/bundled_modules/d3-shape/src/noop.js +3 -0
  577. package/dist/esm/bundled_modules/d3-shape/src/path.js +21 -0
  578. package/dist/esm/bundled_modules/d3-shape/src/point.js +9 -0
  579. package/dist/esm/bundled_modules/d3-shape/src/symbol/circle.js +11 -0
  580. package/dist/esm/bundled_modules/d3-shape/src/symbol.js +34 -0
  581. package/dist/esm/bundled_modules/d3-time/src/day.js +37 -0
  582. package/dist/esm/bundled_modules/d3-time/src/duration.js +9 -0
  583. package/dist/esm/bundled_modules/d3-time/src/hour.js +28 -0
  584. package/dist/esm/bundled_modules/d3-time/src/interval.js +71 -0
  585. package/dist/esm/bundled_modules/d3-time/src/millisecond.js +27 -0
  586. package/dist/esm/bundled_modules/d3-time/src/minute.js +28 -0
  587. package/dist/esm/bundled_modules/d3-time/src/month.js +29 -0
  588. package/dist/esm/bundled_modules/d3-time/src/second.js +16 -0
  589. package/dist/esm/bundled_modules/d3-time/src/ticks.js +59 -0
  590. package/dist/esm/bundled_modules/d3-time/src/week.js +58 -0
  591. package/dist/esm/bundled_modules/d3-time/src/year.js +51 -0
  592. package/dist/esm/bundled_modules/d3-time-format/src/defaultLocale.js +29 -0
  593. package/dist/esm/bundled_modules/d3-time-format/src/locale.js +690 -0
  594. package/dist/esm/bundled_modules/d3-timer/src/interval.js +19 -0
  595. package/dist/esm/bundled_modules/d3-timer/src/timer.js +112 -0
  596. package/dist/esm/bundled_modules/delaunator/index.js +481 -0
  597. package/dist/esm/bundled_modules/internmap/src/index.js +63 -0
  598. package/dist/esm/bundled_modules/json-stringify-pretty-compact/index.js +100 -0
  599. package/dist/esm/bundled_modules/robust-predicates/esm/orient2d.js +182 -0
  600. package/dist/esm/bundled_modules/robust-predicates/esm/util.js +88 -0
  601. package/dist/esm/bundled_modules/topojson-client/src/feature.js +72 -0
  602. package/dist/esm/bundled_modules/topojson-client/src/identity.js +5 -0
  603. package/dist/esm/bundled_modules/topojson-client/src/mesh.js +55 -0
  604. package/dist/esm/bundled_modules/topojson-client/src/reverse.js +6 -0
  605. package/dist/esm/bundled_modules/topojson-client/src/stitch.js +75 -0
  606. package/dist/esm/bundled_modules/topojson-client/src/transform.js +21 -0
  607. package/dist/esm/bundled_modules/vega/build/vega.module.js +38 -0
  608. package/dist/esm/bundled_modules/vega-canvas/build/vega-canvas.browser.js +14 -0
  609. package/dist/esm/bundled_modules/vega-crossfilter/build/vega-crossfilter.js +673 -0
  610. package/dist/esm/bundled_modules/vega-dataflow/build/vega-dataflow.js +2080 -0
  611. package/dist/esm/bundled_modules/vega-embed/build/embed.js +2932 -0
  612. package/dist/esm/bundled_modules/vega-encode/build/vega-encode.js +952 -0
  613. package/dist/esm/bundled_modules/vega-event-selector/build/vega-event-selector.js +190 -0
  614. package/dist/esm/bundled_modules/vega-expression/build/vega-expression.js +1597 -0
  615. package/dist/esm/bundled_modules/vega-force/build/vega-force.js +293 -0
  616. package/dist/esm/bundled_modules/vega-format/build/vega-format.js +191 -0
  617. package/dist/esm/bundled_modules/vega-functions/build/vega-functions.js +779 -0
  618. package/dist/esm/bundled_modules/vega-geo/build/vega-geo.js +1322 -0
  619. package/dist/esm/bundled_modules/vega-hierarchy/build/vega-hierarchy.js +572 -0
  620. package/dist/esm/bundled_modules/vega-interpreter/build/vega-interpreter.js +308 -0
  621. package/dist/esm/bundled_modules/vega-label/build/vega-label.js +874 -0
  622. package/dist/esm/bundled_modules/vega-lite/build/index.js +20110 -0
  623. package/dist/esm/bundled_modules/vega-loader/build/vega-loader.browser.js +328 -0
  624. package/dist/esm/bundled_modules/vega-parser/build/vega-parser.js +3783 -0
  625. package/dist/esm/bundled_modules/vega-projection/build/vega-projection.js +86 -0
  626. package/dist/esm/bundled_modules/vega-regression/build/vega-regression.js +233 -0
  627. package/dist/esm/bundled_modules/vega-runtime/build/vega-runtime.js +586 -0
  628. package/dist/esm/bundled_modules/vega-scale/build/vega-scale.js +799 -0
  629. package/dist/esm/bundled_modules/vega-scenegraph/build/vega-scenegraph.js +4982 -0
  630. package/dist/esm/bundled_modules/vega-schema-url-parser/dist/parser.modern.js +3 -0
  631. package/dist/esm/bundled_modules/vega-selections/build/vega-selection.js +336 -0
  632. package/dist/esm/bundled_modules/vega-statistics/build/vega-statistics.js +1157 -0
  633. package/dist/esm/bundled_modules/vega-themes/build/index.js +837 -0
  634. package/dist/esm/bundled_modules/vega-time/build/vega-time.js +314 -0
  635. package/dist/esm/bundled_modules/vega-tooltip/build/index.js +339 -0
  636. package/dist/esm/bundled_modules/vega-transforms/build/vega-transforms.js +3740 -0
  637. package/dist/esm/bundled_modules/vega-util/build/vega-util.js +753 -0
  638. package/dist/esm/bundled_modules/vega-view/build/vega-view.js +1304 -0
  639. package/dist/esm/bundled_modules/vega-view-transforms/build/vega-view-transforms.js +1306 -0
  640. package/dist/esm/bundled_modules/vega-voronoi/build/vega-voronoi.js +78 -0
  641. package/dist/esm/bundled_modules/vega-wordcloud/build/vega-wordcloud.js +538 -0
  642. package/dist/esm/index.js +1 -1
  643. package/dist/esm/styles/createPalette.js +1 -1
  644. package/dist/esm/styles/entrypoint.scss.js +3 -0
  645. package/dist/esm/styles.css +1 -1
  646. package/dist/esm/unstable/Card/components.js +182 -0
  647. package/dist/esm/unstable/Card/state.js +30 -0
  648. package/dist/esm/unstable/Card/styles.module.scss.js +1 -1
  649. package/dist/esm/unstable/StatCard/index.js +116 -0
  650. package/dist/esm/unstable/StatCard/index.module.scss.js +3 -0
  651. package/dist/esm/unstable/extras/chart/BarChart.js +40 -0
  652. package/dist/esm/unstable/extras/chart/Chart.js +96 -0
  653. package/dist/esm/unstable/extras/chart/DistributionChart.js +82 -0
  654. package/dist/esm/unstable/extras/chart/DonutChart.js +41 -0
  655. package/dist/esm/unstable/extras/chart/LineChart.js +43 -0
  656. package/dist/esm/unstable/extras/chart/PieChart.js +37 -0
  657. package/dist/esm/unstable/extras/chart/TimelineChart.js +46 -0
  658. package/dist/esm/unstable/extras/chart/index.js +8 -0
  659. package/dist/esm/unstable/index.js +5 -1
  660. package/dist/esm/unstable/skeleton/index.js +69 -0
  661. package/dist/esm/unstable/skeleton/index.module.scss.js +3 -0
  662. package/dist/esm/unstable/suspense/index.js +15 -0
  663. package/dist/esm/unstable/suspense/index.module.scss.js +3 -0
  664. package/dist/esm/unstable/suspense/loader.js +20 -0
  665. package/dist/types/Dialog/components.d.ts +27 -20
  666. package/dist/types/Dialog/factory.d.ts +4 -5
  667. package/dist/types/Dialog/state.d.ts +1 -15
  668. package/dist/types/TablePagination/index.d.ts +1 -1
  669. package/dist/types/styles/createPalette.d.ts +13 -2
  670. package/dist/types/unstable/Card/components.d.ts +90 -0
  671. package/dist/types/unstable/Card/index.d.ts +2 -11
  672. package/dist/types/unstable/Card/state.d.ts +20 -0
  673. package/dist/types/unstable/StatCard/index.d.ts +33 -0
  674. package/dist/types/unstable/extras/chart/BarChart.d.ts +16 -0
  675. package/dist/types/unstable/extras/chart/Chart.d.ts +33 -0
  676. package/dist/types/unstable/extras/chart/DistributionChart.d.ts +18 -0
  677. package/dist/types/unstable/extras/chart/DonutChart.d.ts +16 -0
  678. package/dist/types/unstable/extras/chart/LineChart.d.ts +16 -0
  679. package/dist/types/unstable/extras/chart/PieChart.d.ts +14 -0
  680. package/dist/types/unstable/extras/chart/TimelineChart.d.ts +15 -0
  681. package/dist/types/unstable/extras/chart/index.d.ts +15 -33
  682. package/dist/types/unstable/index.d.ts +3 -0
  683. package/dist/types/unstable/skeleton/index.d.ts +15 -0
  684. package/dist/types/unstable/suspense/index.d.ts +9 -0
  685. package/dist/types/unstable/suspense/loader.d.ts +7 -0
  686. package/package.json +1 -7
  687. package/dist/cjs/unstable/Card/index.js +0 -33
  688. package/dist/esm/unstable/Card/index.js +0 -29
@@ -0,0 +1,1306 @@
1
+ import { Transform } from '../../vega-dataflow/build/vega-dataflow.js';
2
+ import { Bounds, Marks, boundClip, GroupItem, Item, boundStroke, multiLineOffset } from '../../vega-scenegraph/build/vega-scenegraph.js';
3
+ import { inherits, peek, isObject } from '../../vega-util/build/vega-util.js';
4
+
5
+ const Top = 'top';
6
+ const Left = 'left';
7
+ const Right = 'right';
8
+ const Bottom = 'bottom';
9
+ const TopLeft = 'top-left';
10
+ const TopRight = 'top-right';
11
+ const BottomLeft = 'bottom-left';
12
+ const BottomRight = 'bottom-right';
13
+ const Start = 'start';
14
+ const Middle = 'middle';
15
+ const End = 'end';
16
+ const X = 'x';
17
+ const Y = 'y';
18
+ const Group = 'group';
19
+ const AxisRole = 'axis';
20
+ const TitleRole = 'title';
21
+ const FrameRole = 'frame';
22
+ const ScopeRole = 'scope';
23
+ const LegendRole = 'legend';
24
+ const RowHeader = 'row-header';
25
+ const RowFooter = 'row-footer';
26
+ const RowTitle = 'row-title';
27
+ const ColHeader = 'column-header';
28
+ const ColFooter = 'column-footer';
29
+ const ColTitle = 'column-title';
30
+ const Padding = 'padding';
31
+ const Symbols = 'symbol';
32
+ const Fit = 'fit';
33
+ const FitX = 'fit-x';
34
+ const FitY = 'fit-y';
35
+ const Pad = 'pad';
36
+ const None = 'none';
37
+ const All = 'all';
38
+ const Each = 'each';
39
+ const Flush = 'flush';
40
+ const Column = 'column';
41
+ const Row = 'row';
42
+
43
+ /**
44
+ * Calculate bounding boxes for scenegraph items.
45
+ * @constructor
46
+ * @param {object} params - The parameters for this operator.
47
+ * @param {object} params.mark - The scenegraph mark instance to bound.
48
+ */
49
+ function Bound(params) {
50
+ Transform.call(this, null, params);
51
+ }
52
+ inherits(Bound, Transform, {
53
+ transform(_, pulse) {
54
+ const view = pulse.dataflow,
55
+ mark = _.mark,
56
+ type = mark.marktype,
57
+ entry = Marks[type],
58
+ bound = entry.bound;
59
+ let markBounds = mark.bounds,
60
+ rebound;
61
+ if (entry.nested) {
62
+ // multi-item marks have a single bounds instance
63
+ if (mark.items.length) view.dirty(mark.items[0]);
64
+ markBounds = boundItem(mark, bound);
65
+ mark.items.forEach(item => {
66
+ item.bounds.clear().union(markBounds);
67
+ });
68
+ } else if (type === Group || _.modified()) {
69
+ // operator parameters modified -> re-bound all items
70
+ // updates group bounds in response to modified group content
71
+ pulse.visit(pulse.MOD, item => view.dirty(item));
72
+ markBounds.clear();
73
+ mark.items.forEach(item => markBounds.union(boundItem(item, bound)));
74
+
75
+ // force reflow for axes/legends/titles to propagate any layout changes
76
+ switch (mark.role) {
77
+ case AxisRole:
78
+ case LegendRole:
79
+ case TitleRole:
80
+ pulse.reflow();
81
+ }
82
+ } else {
83
+ // incrementally update bounds, re-bound mark as needed
84
+ rebound = pulse.changed(pulse.REM);
85
+ pulse.visit(pulse.ADD, item => {
86
+ markBounds.union(boundItem(item, bound));
87
+ });
88
+ pulse.visit(pulse.MOD, item => {
89
+ rebound = rebound || markBounds.alignsWith(item.bounds);
90
+ view.dirty(item);
91
+ markBounds.union(boundItem(item, bound));
92
+ });
93
+ if (rebound) {
94
+ markBounds.clear();
95
+ mark.items.forEach(item => markBounds.union(item.bounds));
96
+ }
97
+ }
98
+
99
+ // ensure mark bounds do not exceed any clipping region
100
+ boundClip(mark);
101
+ return pulse.modifies('bounds');
102
+ }
103
+ });
104
+ function boundItem(item, bound, opt) {
105
+ return bound(item.bounds.clear(), item, opt);
106
+ }
107
+
108
+ const COUNTER_NAME = ':vega_identifier:';
109
+
110
+ /**
111
+ * Adds a unique identifier to all added tuples.
112
+ * This transform creates a new signal that serves as an id counter.
113
+ * As a result, the id counter is shared across all instances of this
114
+ * transform, generating unique ids across multiple data streams. In
115
+ * addition, this signal value can be included in a snapshot of the
116
+ * dataflow state, enabling correct resumption of id allocation.
117
+ * @constructor
118
+ * @param {object} params - The parameters for this operator.
119
+ * @param {string} params.as - The field name for the generated identifier.
120
+ */
121
+ function Identifier(params) {
122
+ Transform.call(this, 0, params);
123
+ }
124
+ Identifier.Definition = {
125
+ 'type': 'Identifier',
126
+ 'metadata': {
127
+ 'modifies': true
128
+ },
129
+ 'params': [{
130
+ 'name': 'as',
131
+ 'type': 'string',
132
+ 'required': true
133
+ }]
134
+ };
135
+ inherits(Identifier, Transform, {
136
+ transform(_, pulse) {
137
+ const counter = getCounter(pulse.dataflow),
138
+ as = _.as;
139
+ let id = counter.value;
140
+ pulse.visit(pulse.ADD, t => t[as] = t[as] || ++id);
141
+ counter.set(this.value = id);
142
+ return pulse;
143
+ }
144
+ });
145
+ function getCounter(view) {
146
+ return view._signals[COUNTER_NAME] || (view._signals[COUNTER_NAME] = view.add(0));
147
+ }
148
+
149
+ /**
150
+ * Bind scenegraph items to a scenegraph mark instance.
151
+ * @constructor
152
+ * @param {object} params - The parameters for this operator.
153
+ * @param {object} params.markdef - The mark definition for creating the mark.
154
+ * This is an object of legal scenegraph mark properties which *must* include
155
+ * the 'marktype' property.
156
+ */
157
+ function Mark(params) {
158
+ Transform.call(this, null, params);
159
+ }
160
+ inherits(Mark, Transform, {
161
+ transform(_, pulse) {
162
+ let mark = this.value;
163
+
164
+ // acquire mark on first invocation, bind context and group
165
+ if (!mark) {
166
+ mark = pulse.dataflow.scenegraph().mark(_.markdef, lookup$1(_), _.index);
167
+ mark.group.context = _.context;
168
+ if (!_.context.group) _.context.group = mark.group;
169
+ mark.source = this.source; // point to upstream collector
170
+ mark.clip = _.clip;
171
+ mark.interactive = _.interactive;
172
+ this.value = mark;
173
+ }
174
+
175
+ // initialize entering items
176
+ const Init = mark.marktype === Group ? GroupItem : Item;
177
+ pulse.visit(pulse.ADD, item => Init.call(item, mark));
178
+
179
+ // update clipping and/or interactive status
180
+ if (_.modified('clip') || _.modified('interactive')) {
181
+ mark.clip = _.clip;
182
+ mark.interactive = !!_.interactive;
183
+ mark.zdirty = true; // force scenegraph re-eval
184
+ pulse.reflow();
185
+ }
186
+
187
+ // bind items array to scenegraph mark
188
+ mark.items = pulse.source;
189
+ return pulse;
190
+ }
191
+ });
192
+ function lookup$1(_) {
193
+ const g = _.groups,
194
+ p = _.parent;
195
+ return g && g.size === 1 ? g.get(Object.keys(g.object)[0]) : g && p ? g.lookup(p) : null;
196
+ }
197
+
198
+ /**
199
+ * Analyze items for overlap, changing opacity to hide items with
200
+ * overlapping bounding boxes. This transform will preserve at least
201
+ * two items (e.g., first and last) even if overlap persists.
202
+ * @param {object} params - The parameters for this operator.
203
+ * @param {function(*,*): number} [params.sort] - A comparator
204
+ * function for sorting items.
205
+ * @param {object} [params.method] - The overlap removal method to apply.
206
+ * One of 'parity' (default, hide every other item until there is no
207
+ * more overlap) or 'greedy' (sequentially scan and hide and items that
208
+ * overlap with the last visible item).
209
+ * @param {object} [params.boundScale] - A scale whose range should be used
210
+ * to bound the items. Items exceeding the bounds of the scale range
211
+ * will be treated as overlapping. If null or undefined, no bounds check
212
+ * will be applied.
213
+ * @param {object} [params.boundOrient] - The orientation of the scale
214
+ * (top, bottom, left, or right) used to bound items. This parameter is
215
+ * ignored if boundScale is null or undefined.
216
+ * @param {object} [params.boundTolerance] - The tolerance in pixels for
217
+ * bound inclusion testing (default 1). This specifies by how many pixels
218
+ * an item's bounds may exceed the scale range bounds and not be culled.
219
+ * @constructor
220
+ */
221
+ function Overlap(params) {
222
+ Transform.call(this, null, params);
223
+ }
224
+ const methods = {
225
+ parity: items => items.filter((item, i) => i % 2 ? item.opacity = 0 : 1),
226
+ greedy: (items, sep) => {
227
+ let a;
228
+ return items.filter((b, i) => !i || !intersect(a.bounds, b.bounds, sep) ? (a = b, 1) : b.opacity = 0);
229
+ }
230
+ };
231
+
232
+ // compute bounding box intersection
233
+ // including padding pixels of separation
234
+ const intersect = (a, b, sep) => sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);
235
+ const hasOverlap = (items, pad) => {
236
+ for (var i = 1, n = items.length, a = items[0].bounds, b; i < n; a = b, ++i) {
237
+ if (intersect(a, b = items[i].bounds, pad)) return true;
238
+ }
239
+ };
240
+ const hasBounds = item => {
241
+ const b = item.bounds;
242
+ return b.width() > 1 && b.height() > 1;
243
+ };
244
+ const boundTest = (scale, orient, tolerance) => {
245
+ var range = scale.range(),
246
+ b = new Bounds();
247
+ if (orient === Top || orient === Bottom) {
248
+ b.set(range[0], -Infinity, range[1], +Infinity);
249
+ } else {
250
+ b.set(-Infinity, range[0], +Infinity, range[1]);
251
+ }
252
+ b.expand(tolerance || 1);
253
+ return item => b.encloses(item.bounds);
254
+ };
255
+
256
+ // reset all items to be fully opaque
257
+ const reset = source => {
258
+ source.forEach(item => item.opacity = 1);
259
+ return source;
260
+ };
261
+
262
+ // add all tuples to mod, fork pulse if parameters were modified
263
+ // fork prevents cross-stream tuple pollution (e.g., pulse from scale)
264
+ const reflow = (pulse, _) => pulse.reflow(_.modified()).modifies('opacity');
265
+ inherits(Overlap, Transform, {
266
+ transform(_, pulse) {
267
+ const reduce = methods[_.method] || methods.parity,
268
+ sep = _.separation || 0;
269
+ let source = pulse.materialize(pulse.SOURCE).source,
270
+ items,
271
+ test;
272
+ if (!source || !source.length) return;
273
+ if (!_.method) {
274
+ // early exit if method is falsy
275
+ if (_.modified('method')) {
276
+ reset(source);
277
+ pulse = reflow(pulse, _);
278
+ }
279
+ return pulse;
280
+ }
281
+
282
+ // skip labels with no content
283
+ source = source.filter(hasBounds);
284
+
285
+ // early exit, nothing to do
286
+ if (!source.length) return;
287
+ if (_.sort) {
288
+ source = source.slice().sort(_.sort);
289
+ }
290
+ items = reset(source);
291
+ pulse = reflow(pulse, _);
292
+ if (items.length >= 3 && hasOverlap(items, sep)) {
293
+ do {
294
+ items = reduce(items, sep);
295
+ } while (items.length >= 3 && hasOverlap(items, sep));
296
+ if (items.length < 3 && !peek(source).opacity) {
297
+ if (items.length > 1) peek(items).opacity = 0;
298
+ peek(source).opacity = 1;
299
+ }
300
+ }
301
+ if (_.boundScale && _.boundTolerance >= 0) {
302
+ test = boundTest(_.boundScale, _.boundOrient, +_.boundTolerance);
303
+ source.forEach(item => {
304
+ if (!test(item)) item.opacity = 0;
305
+ });
306
+ }
307
+
308
+ // re-calculate mark bounds
309
+ const bounds = items[0].mark.bounds.clear();
310
+ source.forEach(item => {
311
+ if (item.opacity) bounds.union(item.bounds);
312
+ });
313
+ return pulse;
314
+ }
315
+ });
316
+
317
+ /**
318
+ * Queue modified scenegraph items for rendering.
319
+ * @constructor
320
+ */
321
+ function Render(params) {
322
+ Transform.call(this, null, params);
323
+ }
324
+ inherits(Render, Transform, {
325
+ transform(_, pulse) {
326
+ const view = pulse.dataflow;
327
+ pulse.visit(pulse.ALL, item => view.dirty(item));
328
+
329
+ // set z-index dirty flag as needed
330
+ if (pulse.fields && pulse.fields['zindex']) {
331
+ const item = pulse.source && pulse.source[0];
332
+ if (item) item.mark.zdirty = true;
333
+ }
334
+ }
335
+ });
336
+
337
+ const tempBounds = new Bounds();
338
+ function set(item, property, value) {
339
+ return item[property] === value ? 0 : (item[property] = value, 1);
340
+ }
341
+
342
+ function isYAxis(mark) {
343
+ var orient = mark.items[0].orient;
344
+ return orient === Left || orient === Right;
345
+ }
346
+ function axisIndices(datum) {
347
+ let index = +datum.grid;
348
+ return [datum.ticks ? index++ : -1,
349
+ // ticks index
350
+ datum.labels ? index++ : -1,
351
+ // labels index
352
+ index + +datum.domain // title index
353
+ ];
354
+ }
355
+ function axisLayout(view, axis, width, height) {
356
+ var item = axis.items[0],
357
+ datum = item.datum,
358
+ delta = item.translate != null ? item.translate : 0.5,
359
+ orient = item.orient,
360
+ indices = axisIndices(datum),
361
+ range = item.range,
362
+ offset = item.offset,
363
+ position = item.position,
364
+ minExtent = item.minExtent,
365
+ maxExtent = item.maxExtent,
366
+ title = datum.title && item.items[indices[2]].items[0],
367
+ titlePadding = item.titlePadding,
368
+ bounds = item.bounds,
369
+ dl = title && multiLineOffset(title),
370
+ x = 0,
371
+ y = 0,
372
+ i,
373
+ s;
374
+ tempBounds.clear().union(bounds);
375
+ bounds.clear();
376
+ if ((i = indices[0]) > -1) bounds.union(item.items[i].bounds);
377
+ if ((i = indices[1]) > -1) bounds.union(item.items[i].bounds);
378
+
379
+ // position axis group and title
380
+ switch (orient) {
381
+ case Top:
382
+ x = position || 0;
383
+ y = -offset;
384
+ s = Math.max(minExtent, Math.min(maxExtent, -bounds.y1));
385
+ bounds.add(0, -s).add(range, 0);
386
+ if (title) axisTitleLayout(view, title, s, titlePadding, dl, 0, -1, bounds);
387
+ break;
388
+ case Left:
389
+ x = -offset;
390
+ y = position || 0;
391
+ s = Math.max(minExtent, Math.min(maxExtent, -bounds.x1));
392
+ bounds.add(-s, 0).add(0, range);
393
+ if (title) axisTitleLayout(view, title, s, titlePadding, dl, 1, -1, bounds);
394
+ break;
395
+ case Right:
396
+ x = width + offset;
397
+ y = position || 0;
398
+ s = Math.max(minExtent, Math.min(maxExtent, bounds.x2));
399
+ bounds.add(0, 0).add(s, range);
400
+ if (title) axisTitleLayout(view, title, s, titlePadding, dl, 1, 1, bounds);
401
+ break;
402
+ case Bottom:
403
+ x = position || 0;
404
+ y = height + offset;
405
+ s = Math.max(minExtent, Math.min(maxExtent, bounds.y2));
406
+ bounds.add(0, 0).add(range, s);
407
+ if (title) axisTitleLayout(view, title, s, titlePadding, 0, 0, 1, bounds);
408
+ break;
409
+ default:
410
+ x = item.x;
411
+ y = item.y;
412
+ }
413
+
414
+ // update bounds
415
+ boundStroke(bounds.translate(x, y), item);
416
+ if (set(item, 'x', x + delta) | set(item, 'y', y + delta)) {
417
+ item.bounds = tempBounds;
418
+ view.dirty(item);
419
+ item.bounds = bounds;
420
+ view.dirty(item);
421
+ }
422
+ return item.mark.bounds.clear().union(bounds);
423
+ }
424
+ function axisTitleLayout(view, title, offset, pad, dl, isYAxis, sign, bounds) {
425
+ const b = title.bounds;
426
+ if (title.auto) {
427
+ const v = sign * (offset + dl + pad);
428
+ let dx = 0,
429
+ dy = 0;
430
+ view.dirty(title);
431
+ isYAxis ? dx = (title.x || 0) - (title.x = v) : dy = (title.y || 0) - (title.y = v);
432
+ title.mark.bounds.clear().union(b.translate(-dx, -dy));
433
+ view.dirty(title);
434
+ }
435
+ bounds.union(b);
436
+ }
437
+
438
+ // aggregation functions for grid margin determination
439
+ const min = (a, b) => Math.floor(Math.min(a, b));
440
+ const max = (a, b) => Math.ceil(Math.max(a, b));
441
+ function gridLayoutGroups(group) {
442
+ var groups = group.items,
443
+ n = groups.length,
444
+ i = 0,
445
+ mark,
446
+ items;
447
+ const views = {
448
+ marks: [],
449
+ rowheaders: [],
450
+ rowfooters: [],
451
+ colheaders: [],
452
+ colfooters: [],
453
+ rowtitle: null,
454
+ coltitle: null
455
+ };
456
+
457
+ // layout axes, gather legends, collect bounds
458
+ for (; i < n; ++i) {
459
+ mark = groups[i];
460
+ items = mark.items;
461
+ if (mark.marktype === Group) {
462
+ switch (mark.role) {
463
+ case AxisRole:
464
+ case LegendRole:
465
+ case TitleRole:
466
+ break;
467
+ case RowHeader:
468
+ views.rowheaders.push(...items);
469
+ break;
470
+ case RowFooter:
471
+ views.rowfooters.push(...items);
472
+ break;
473
+ case ColHeader:
474
+ views.colheaders.push(...items);
475
+ break;
476
+ case ColFooter:
477
+ views.colfooters.push(...items);
478
+ break;
479
+ case RowTitle:
480
+ views.rowtitle = items[0];
481
+ break;
482
+ case ColTitle:
483
+ views.coltitle = items[0];
484
+ break;
485
+ default:
486
+ views.marks.push(...items);
487
+ }
488
+ }
489
+ }
490
+ return views;
491
+ }
492
+ function bboxFlush(item) {
493
+ return new Bounds().set(0, 0, item.width || 0, item.height || 0);
494
+ }
495
+ function bboxFull(item) {
496
+ const b = item.bounds.clone();
497
+ return b.empty() ? b.set(0, 0, 0, 0) : b.translate(-(item.x || 0), -(item.y || 0));
498
+ }
499
+ function get(opt, key, d) {
500
+ const v = isObject(opt) ? opt[key] : opt;
501
+ return v != null ? v : d !== undefined ? d : 0;
502
+ }
503
+ function offsetValue(v) {
504
+ return v < 0 ? Math.ceil(-v) : 0;
505
+ }
506
+ function gridLayout(view, groups, opt) {
507
+ var dirty = !opt.nodirty,
508
+ bbox = opt.bounds === Flush ? bboxFlush : bboxFull,
509
+ bounds = tempBounds.set(0, 0, 0, 0),
510
+ alignCol = get(opt.align, Column),
511
+ alignRow = get(opt.align, Row),
512
+ padCol = get(opt.padding, Column),
513
+ padRow = get(opt.padding, Row),
514
+ ncols = opt.columns || groups.length,
515
+ nrows = ncols <= 0 ? 1 : Math.ceil(groups.length / ncols),
516
+ n = groups.length,
517
+ xOffset = Array(n),
518
+ xExtent = Array(ncols),
519
+ xMax = 0,
520
+ yOffset = Array(n),
521
+ yExtent = Array(nrows),
522
+ yMax = 0,
523
+ dx = Array(n),
524
+ dy = Array(n),
525
+ boxes = Array(n),
526
+ m,
527
+ i,
528
+ c,
529
+ r,
530
+ b,
531
+ g,
532
+ px,
533
+ py,
534
+ x,
535
+ y,
536
+ offset;
537
+ for (i = 0; i < ncols; ++i) xExtent[i] = 0;
538
+ for (i = 0; i < nrows; ++i) yExtent[i] = 0;
539
+
540
+ // determine offsets for each group
541
+ for (i = 0; i < n; ++i) {
542
+ g = groups[i];
543
+ b = boxes[i] = bbox(g);
544
+ g.x = g.x || 0;
545
+ dx[i] = 0;
546
+ g.y = g.y || 0;
547
+ dy[i] = 0;
548
+ c = i % ncols;
549
+ r = ~~(i / ncols);
550
+ xMax = Math.max(xMax, px = Math.ceil(b.x2));
551
+ yMax = Math.max(yMax, py = Math.ceil(b.y2));
552
+ xExtent[c] = Math.max(xExtent[c], px);
553
+ yExtent[r] = Math.max(yExtent[r], py);
554
+ xOffset[i] = padCol + offsetValue(b.x1);
555
+ yOffset[i] = padRow + offsetValue(b.y1);
556
+ if (dirty) view.dirty(groups[i]);
557
+ }
558
+
559
+ // set initial alignment offsets
560
+ for (i = 0; i < n; ++i) {
561
+ if (i % ncols === 0) xOffset[i] = 0;
562
+ if (i < ncols) yOffset[i] = 0;
563
+ }
564
+
565
+ // enforce column alignment constraints
566
+ if (alignCol === Each) {
567
+ for (c = 1; c < ncols; ++c) {
568
+ for (offset = 0, i = c; i < n; i += ncols) {
569
+ if (offset < xOffset[i]) offset = xOffset[i];
570
+ }
571
+ for (i = c; i < n; i += ncols) {
572
+ xOffset[i] = offset + xExtent[c - 1];
573
+ }
574
+ }
575
+ } else if (alignCol === All) {
576
+ for (offset = 0, i = 0; i < n; ++i) {
577
+ if (i % ncols && offset < xOffset[i]) offset = xOffset[i];
578
+ }
579
+ for (i = 0; i < n; ++i) {
580
+ if (i % ncols) xOffset[i] = offset + xMax;
581
+ }
582
+ } else {
583
+ for (alignCol = false, c = 1; c < ncols; ++c) {
584
+ for (i = c; i < n; i += ncols) {
585
+ xOffset[i] += xExtent[c - 1];
586
+ }
587
+ }
588
+ }
589
+
590
+ // enforce row alignment constraints
591
+ if (alignRow === Each) {
592
+ for (r = 1; r < nrows; ++r) {
593
+ for (offset = 0, i = r * ncols, m = i + ncols; i < m; ++i) {
594
+ if (offset < yOffset[i]) offset = yOffset[i];
595
+ }
596
+ for (i = r * ncols; i < m; ++i) {
597
+ yOffset[i] = offset + yExtent[r - 1];
598
+ }
599
+ }
600
+ } else if (alignRow === All) {
601
+ for (offset = 0, i = ncols; i < n; ++i) {
602
+ if (offset < yOffset[i]) offset = yOffset[i];
603
+ }
604
+ for (i = ncols; i < n; ++i) {
605
+ yOffset[i] = offset + yMax;
606
+ }
607
+ } else {
608
+ for (alignRow = false, r = 1; r < nrows; ++r) {
609
+ for (i = r * ncols, m = i + ncols; i < m; ++i) {
610
+ yOffset[i] += yExtent[r - 1];
611
+ }
612
+ }
613
+ }
614
+
615
+ // perform horizontal grid layout
616
+ for (x = 0, i = 0; i < n; ++i) {
617
+ x = xOffset[i] + (i % ncols ? x : 0);
618
+ dx[i] += x - groups[i].x;
619
+ }
620
+
621
+ // perform vertical grid layout
622
+ for (c = 0; c < ncols; ++c) {
623
+ for (y = 0, i = c; i < n; i += ncols) {
624
+ y += yOffset[i];
625
+ dy[i] += y - groups[i].y;
626
+ }
627
+ }
628
+
629
+ // perform horizontal centering
630
+ if (alignCol && get(opt.center, Column) && nrows > 1) {
631
+ for (i = 0; i < n; ++i) {
632
+ b = alignCol === All ? xMax : xExtent[i % ncols];
633
+ x = b - boxes[i].x2 - groups[i].x - dx[i];
634
+ if (x > 0) dx[i] += x / 2;
635
+ }
636
+ }
637
+
638
+ // perform vertical centering
639
+ if (alignRow && get(opt.center, Row) && ncols !== 1) {
640
+ for (i = 0; i < n; ++i) {
641
+ b = alignRow === All ? yMax : yExtent[~~(i / ncols)];
642
+ y = b - boxes[i].y2 - groups[i].y - dy[i];
643
+ if (y > 0) dy[i] += y / 2;
644
+ }
645
+ }
646
+
647
+ // position grid relative to anchor
648
+ for (i = 0; i < n; ++i) {
649
+ bounds.union(boxes[i].translate(dx[i], dy[i]));
650
+ }
651
+ x = get(opt.anchor, X);
652
+ y = get(opt.anchor, Y);
653
+ switch (get(opt.anchor, Column)) {
654
+ case End:
655
+ x -= bounds.width();
656
+ break;
657
+ case Middle:
658
+ x -= bounds.width() / 2;
659
+ }
660
+ switch (get(opt.anchor, Row)) {
661
+ case End:
662
+ y -= bounds.height();
663
+ break;
664
+ case Middle:
665
+ y -= bounds.height() / 2;
666
+ }
667
+ x = Math.round(x);
668
+ y = Math.round(y);
669
+
670
+ // update mark positions, bounds, dirty
671
+ bounds.clear();
672
+ for (i = 0; i < n; ++i) {
673
+ groups[i].mark.bounds.clear();
674
+ }
675
+ for (i = 0; i < n; ++i) {
676
+ g = groups[i];
677
+ g.x += dx[i] += x;
678
+ g.y += dy[i] += y;
679
+ bounds.union(g.mark.bounds.union(g.bounds.translate(dx[i], dy[i])));
680
+ if (dirty) view.dirty(g);
681
+ }
682
+ return bounds;
683
+ }
684
+ function trellisLayout(view, group, opt) {
685
+ var views = gridLayoutGroups(group),
686
+ groups = views.marks,
687
+ bbox = opt.bounds === Flush ? boundFlush : boundFull,
688
+ off = opt.offset,
689
+ ncols = opt.columns || groups.length,
690
+ nrows = ncols <= 0 ? 1 : Math.ceil(groups.length / ncols),
691
+ cells = nrows * ncols,
692
+ x,
693
+ y,
694
+ x2,
695
+ y2,
696
+ anchor,
697
+ band,
698
+ offset;
699
+
700
+ // -- initial grid layout
701
+ const bounds = gridLayout(view, groups, opt);
702
+ if (bounds.empty()) bounds.set(0, 0, 0, 0); // empty grid
703
+
704
+ // -- layout grid headers and footers --
705
+
706
+ // perform row header layout
707
+ if (views.rowheaders) {
708
+ band = get(opt.headerBand, Row, null);
709
+ x = layoutHeaders(view, views.rowheaders, groups, ncols, nrows, -get(off, 'rowHeader'), min, 0, bbox, 'x1', 0, ncols, 1, band);
710
+ }
711
+
712
+ // perform column header layout
713
+ if (views.colheaders) {
714
+ band = get(opt.headerBand, Column, null);
715
+ y = layoutHeaders(view, views.colheaders, groups, ncols, ncols, -get(off, 'columnHeader'), min, 1, bbox, 'y1', 0, 1, ncols, band);
716
+ }
717
+
718
+ // perform row footer layout
719
+ if (views.rowfooters) {
720
+ band = get(opt.footerBand, Row, null);
721
+ x2 = layoutHeaders(view, views.rowfooters, groups, ncols, nrows, get(off, 'rowFooter'), max, 0, bbox, 'x2', ncols - 1, ncols, 1, band);
722
+ }
723
+
724
+ // perform column footer layout
725
+ if (views.colfooters) {
726
+ band = get(opt.footerBand, Column, null);
727
+ y2 = layoutHeaders(view, views.colfooters, groups, ncols, ncols, get(off, 'columnFooter'), max, 1, bbox, 'y2', cells - ncols, 1, ncols, band);
728
+ }
729
+
730
+ // perform row title layout
731
+ if (views.rowtitle) {
732
+ anchor = get(opt.titleAnchor, Row);
733
+ offset = get(off, 'rowTitle');
734
+ offset = anchor === End ? x2 + offset : x - offset;
735
+ band = get(opt.titleBand, Row, 0.5);
736
+ layoutTitle(view, views.rowtitle, offset, 0, bounds, band);
737
+ }
738
+
739
+ // perform column title layout
740
+ if (views.coltitle) {
741
+ anchor = get(opt.titleAnchor, Column);
742
+ offset = get(off, 'columnTitle');
743
+ offset = anchor === End ? y2 + offset : y - offset;
744
+ band = get(opt.titleBand, Column, 0.5);
745
+ layoutTitle(view, views.coltitle, offset, 1, bounds, band);
746
+ }
747
+ }
748
+ function boundFlush(item, field) {
749
+ return field === 'x1' ? item.x || 0 : field === 'y1' ? item.y || 0 : field === 'x2' ? (item.x || 0) + (item.width || 0) : field === 'y2' ? (item.y || 0) + (item.height || 0) : undefined;
750
+ }
751
+ function boundFull(item, field) {
752
+ return item.bounds[field];
753
+ }
754
+ function layoutHeaders(view, headers, groups, ncols, limit, offset, agg, isX, bound, bf, start, stride, back, band) {
755
+ var n = groups.length,
756
+ init = 0,
757
+ edge = 0,
758
+ i,
759
+ j,
760
+ k,
761
+ m,
762
+ b,
763
+ h,
764
+ g,
765
+ x,
766
+ y;
767
+
768
+ // if no groups, early exit and return 0
769
+ if (!n) return init;
770
+
771
+ // compute margin
772
+ for (i = start; i < n; i += stride) {
773
+ if (groups[i]) init = agg(init, bound(groups[i], bf));
774
+ }
775
+
776
+ // if no headers, return margin calculation
777
+ if (!headers.length) return init;
778
+
779
+ // check if number of headers exceeds number of rows or columns
780
+ if (headers.length > limit) {
781
+ view.warn('Grid headers exceed limit: ' + limit);
782
+ headers = headers.slice(0, limit);
783
+ }
784
+
785
+ // apply offset
786
+ init += offset;
787
+
788
+ // clear mark bounds for all headers
789
+ for (j = 0, m = headers.length; j < m; ++j) {
790
+ view.dirty(headers[j]);
791
+ headers[j].mark.bounds.clear();
792
+ }
793
+
794
+ // layout each header
795
+ for (i = start, j = 0, m = headers.length; j < m; ++j, i += stride) {
796
+ h = headers[j];
797
+ b = h.mark.bounds;
798
+
799
+ // search for nearest group to align to
800
+ // necessary if table has empty cells
801
+ for (k = i; k >= 0 && (g = groups[k]) == null; k -= back);
802
+
803
+ // assign coordinates and update bounds
804
+ if (isX) {
805
+ x = band == null ? g.x : Math.round(g.bounds.x1 + band * g.bounds.width());
806
+ y = init;
807
+ } else {
808
+ x = init;
809
+ y = band == null ? g.y : Math.round(g.bounds.y1 + band * g.bounds.height());
810
+ }
811
+ b.union(h.bounds.translate(x - (h.x || 0), y - (h.y || 0)));
812
+ h.x = x;
813
+ h.y = y;
814
+ view.dirty(h);
815
+
816
+ // update current edge of layout bounds
817
+ edge = agg(edge, b[bf]);
818
+ }
819
+ return edge;
820
+ }
821
+ function layoutTitle(view, g, offset, isX, bounds, band) {
822
+ if (!g) return;
823
+ view.dirty(g);
824
+
825
+ // compute title coordinates
826
+ var x = offset,
827
+ y = offset;
828
+ isX ? x = Math.round(bounds.x1 + band * bounds.width()) : y = Math.round(bounds.y1 + band * bounds.height());
829
+
830
+ // assign coordinates and update bounds
831
+ g.bounds.translate(x - (g.x || 0), y - (g.y || 0));
832
+ g.mark.bounds.clear().union(g.bounds);
833
+ g.x = x;
834
+ g.y = y;
835
+
836
+ // queue title for redraw
837
+ view.dirty(g);
838
+ }
839
+
840
+ // utility for looking up legend layout configuration
841
+ function lookup(config, orient) {
842
+ const opt = config[orient] || {};
843
+ return (key, d) => opt[key] != null ? opt[key] : config[key] != null ? config[key] : d;
844
+ }
845
+
846
+ // if legends specify offset directly, use the maximum specified value
847
+ function offsets(legends, value) {
848
+ let max = -Infinity;
849
+ legends.forEach(item => {
850
+ if (item.offset != null) max = Math.max(max, item.offset);
851
+ });
852
+ return max > -Infinity ? max : value;
853
+ }
854
+ function legendParams(g, orient, config, xb, yb, w, h) {
855
+ const _ = lookup(config, orient),
856
+ offset = offsets(g, _('offset', 0)),
857
+ anchor = _('anchor', Start),
858
+ mult = anchor === End ? 1 : anchor === Middle ? 0.5 : 0;
859
+ const p = {
860
+ align: Each,
861
+ bounds: _('bounds', Flush),
862
+ columns: _('direction') === 'vertical' ? 1 : g.length,
863
+ padding: _('margin', 8),
864
+ center: _('center'),
865
+ nodirty: true
866
+ };
867
+ switch (orient) {
868
+ case Left:
869
+ p.anchor = {
870
+ x: Math.floor(xb.x1) - offset,
871
+ column: End,
872
+ y: mult * (h || xb.height() + 2 * xb.y1),
873
+ row: anchor
874
+ };
875
+ break;
876
+ case Right:
877
+ p.anchor = {
878
+ x: Math.ceil(xb.x2) + offset,
879
+ y: mult * (h || xb.height() + 2 * xb.y1),
880
+ row: anchor
881
+ };
882
+ break;
883
+ case Top:
884
+ p.anchor = {
885
+ y: Math.floor(yb.y1) - offset,
886
+ row: End,
887
+ x: mult * (w || yb.width() + 2 * yb.x1),
888
+ column: anchor
889
+ };
890
+ break;
891
+ case Bottom:
892
+ p.anchor = {
893
+ y: Math.ceil(yb.y2) + offset,
894
+ x: mult * (w || yb.width() + 2 * yb.x1),
895
+ column: anchor
896
+ };
897
+ break;
898
+ case TopLeft:
899
+ p.anchor = {
900
+ x: offset,
901
+ y: offset
902
+ };
903
+ break;
904
+ case TopRight:
905
+ p.anchor = {
906
+ x: w - offset,
907
+ y: offset,
908
+ column: End
909
+ };
910
+ break;
911
+ case BottomLeft:
912
+ p.anchor = {
913
+ x: offset,
914
+ y: h - offset,
915
+ row: End
916
+ };
917
+ break;
918
+ case BottomRight:
919
+ p.anchor = {
920
+ x: w - offset,
921
+ y: h - offset,
922
+ column: End,
923
+ row: End
924
+ };
925
+ break;
926
+ }
927
+ return p;
928
+ }
929
+ function legendLayout(view, legend) {
930
+ var item = legend.items[0],
931
+ datum = item.datum,
932
+ orient = item.orient,
933
+ bounds = item.bounds,
934
+ x = item.x,
935
+ y = item.y,
936
+ w,
937
+ h;
938
+
939
+ // cache current bounds for later comparison
940
+ item._bounds ? item._bounds.clear().union(bounds) : item._bounds = bounds.clone();
941
+ bounds.clear();
942
+
943
+ // adjust legend to accommodate padding and title
944
+ legendGroupLayout(view, item, item.items[0].items[0]);
945
+
946
+ // aggregate bounds to determine size, and include origin
947
+ bounds = legendBounds(item, bounds);
948
+ w = 2 * item.padding;
949
+ h = 2 * item.padding;
950
+ if (!bounds.empty()) {
951
+ w = Math.ceil(bounds.width() + w);
952
+ h = Math.ceil(bounds.height() + h);
953
+ }
954
+ if (datum.type === Symbols) {
955
+ legendEntryLayout(item.items[0].items[0].items[0].items);
956
+ }
957
+ if (orient !== None) {
958
+ item.x = x = 0;
959
+ item.y = y = 0;
960
+ }
961
+ item.width = w;
962
+ item.height = h;
963
+ boundStroke(bounds.set(x, y, x + w, y + h), item);
964
+ item.mark.bounds.clear().union(bounds);
965
+ return item;
966
+ }
967
+ function legendBounds(item, b) {
968
+ // aggregate item bounds
969
+ item.items.forEach(_ => b.union(_.bounds));
970
+
971
+ // anchor to legend origin
972
+ b.x1 = item.padding;
973
+ b.y1 = item.padding;
974
+ return b;
975
+ }
976
+ function legendGroupLayout(view, item, entry) {
977
+ var pad = item.padding,
978
+ ex = pad - entry.x,
979
+ ey = pad - entry.y;
980
+ if (!item.datum.title) {
981
+ if (ex || ey) translate(view, entry, ex, ey);
982
+ } else {
983
+ var title = item.items[1].items[0],
984
+ anchor = title.anchor,
985
+ tpad = item.titlePadding || 0,
986
+ tx = pad - title.x,
987
+ ty = pad - title.y;
988
+ switch (title.orient) {
989
+ case Left:
990
+ ex += Math.ceil(title.bounds.width()) + tpad;
991
+ break;
992
+ case Right:
993
+ case Bottom:
994
+ break;
995
+ default:
996
+ ey += title.bounds.height() + tpad;
997
+ }
998
+ if (ex || ey) translate(view, entry, ex, ey);
999
+ switch (title.orient) {
1000
+ case Left:
1001
+ ty += legendTitleOffset(item, entry, title, anchor, 1, 1);
1002
+ break;
1003
+ case Right:
1004
+ tx += legendTitleOffset(item, entry, title, End, 0, 0) + tpad;
1005
+ ty += legendTitleOffset(item, entry, title, anchor, 1, 1);
1006
+ break;
1007
+ case Bottom:
1008
+ tx += legendTitleOffset(item, entry, title, anchor, 0, 0);
1009
+ ty += legendTitleOffset(item, entry, title, End, -1, 0, 1) + tpad;
1010
+ break;
1011
+ default:
1012
+ tx += legendTitleOffset(item, entry, title, anchor, 0, 0);
1013
+ }
1014
+ if (tx || ty) translate(view, title, tx, ty);
1015
+
1016
+ // translate legend if title pushes into negative coordinates
1017
+ if ((tx = Math.round(title.bounds.x1 - pad)) < 0) {
1018
+ translate(view, entry, -tx, 0);
1019
+ translate(view, title, -tx, 0);
1020
+ }
1021
+ }
1022
+ }
1023
+ function legendTitleOffset(item, entry, title, anchor, y, lr, noBar) {
1024
+ const grad = item.datum.type !== 'symbol',
1025
+ vgrad = title.datum.vgrad,
1026
+ e = grad && (lr || !vgrad) && !noBar ? entry.items[0] : entry,
1027
+ s = e.bounds[y ? 'y2' : 'x2'] - item.padding,
1028
+ u = vgrad && lr ? s : 0,
1029
+ v = vgrad && lr ? 0 : s,
1030
+ o = y <= 0 ? 0 : multiLineOffset(title);
1031
+ return Math.round(anchor === Start ? u : anchor === End ? v - o : 0.5 * (s - o));
1032
+ }
1033
+ function translate(view, item, dx, dy) {
1034
+ item.x += dx;
1035
+ item.y += dy;
1036
+ item.bounds.translate(dx, dy);
1037
+ item.mark.bounds.translate(dx, dy);
1038
+ view.dirty(item);
1039
+ }
1040
+ function legendEntryLayout(entries) {
1041
+ // get max widths for each column
1042
+ const widths = entries.reduce((w, g) => {
1043
+ w[g.column] = Math.max(g.bounds.x2 - g.x, w[g.column] || 0);
1044
+ return w;
1045
+ }, {});
1046
+
1047
+ // set dimensions of legend entry groups
1048
+ entries.forEach(g => {
1049
+ g.width = widths[g.column];
1050
+ g.height = g.bounds.y2 - g.y;
1051
+ });
1052
+ }
1053
+
1054
+ function titleLayout(view, mark, width, height, viewBounds) {
1055
+ var group = mark.items[0],
1056
+ frame = group.frame,
1057
+ orient = group.orient,
1058
+ anchor = group.anchor,
1059
+ offset = group.offset,
1060
+ padding = group.padding,
1061
+ title = group.items[0].items[0],
1062
+ subtitle = group.items[1] && group.items[1].items[0],
1063
+ end = orient === Left || orient === Right ? height : width,
1064
+ start = 0,
1065
+ x = 0,
1066
+ y = 0,
1067
+ sx = 0,
1068
+ sy = 0,
1069
+ pos;
1070
+ if (frame !== Group) {
1071
+ orient === Left ? (start = viewBounds.y2, end = viewBounds.y1) : orient === Right ? (start = viewBounds.y1, end = viewBounds.y2) : (start = viewBounds.x1, end = viewBounds.x2);
1072
+ } else if (orient === Left) {
1073
+ start = height, end = 0;
1074
+ }
1075
+ pos = anchor === Start ? start : anchor === End ? end : (start + end) / 2;
1076
+ if (subtitle && subtitle.text) {
1077
+ // position subtitle
1078
+ switch (orient) {
1079
+ case Top:
1080
+ case Bottom:
1081
+ sy = title.bounds.height() + padding;
1082
+ break;
1083
+ case Left:
1084
+ sx = title.bounds.width() + padding;
1085
+ break;
1086
+ case Right:
1087
+ sx = -title.bounds.width() - padding;
1088
+ break;
1089
+ }
1090
+ tempBounds.clear().union(subtitle.bounds);
1091
+ tempBounds.translate(sx - (subtitle.x || 0), sy - (subtitle.y || 0));
1092
+ if (set(subtitle, 'x', sx) | set(subtitle, 'y', sy)) {
1093
+ view.dirty(subtitle);
1094
+ subtitle.bounds.clear().union(tempBounds);
1095
+ subtitle.mark.bounds.clear().union(tempBounds);
1096
+ view.dirty(subtitle);
1097
+ }
1098
+ tempBounds.clear().union(subtitle.bounds);
1099
+ } else {
1100
+ tempBounds.clear();
1101
+ }
1102
+ tempBounds.union(title.bounds);
1103
+
1104
+ // position title group
1105
+ switch (orient) {
1106
+ case Top:
1107
+ x = pos;
1108
+ y = viewBounds.y1 - tempBounds.height() - offset;
1109
+ break;
1110
+ case Left:
1111
+ x = viewBounds.x1 - tempBounds.width() - offset;
1112
+ y = pos;
1113
+ break;
1114
+ case Right:
1115
+ x = viewBounds.x2 + tempBounds.width() + offset;
1116
+ y = pos;
1117
+ break;
1118
+ case Bottom:
1119
+ x = pos;
1120
+ y = viewBounds.y2 + offset;
1121
+ break;
1122
+ default:
1123
+ x = group.x;
1124
+ y = group.y;
1125
+ }
1126
+ if (set(group, 'x', x) | set(group, 'y', y)) {
1127
+ tempBounds.translate(x, y);
1128
+ view.dirty(group);
1129
+ group.bounds.clear().union(tempBounds);
1130
+ mark.bounds.clear().union(tempBounds);
1131
+ view.dirty(group);
1132
+ }
1133
+ return group.bounds;
1134
+ }
1135
+
1136
+ /**
1137
+ * Layout view elements such as axes and legends.
1138
+ * Also performs size adjustments.
1139
+ * @constructor
1140
+ * @param {object} params - The parameters for this operator.
1141
+ * @param {object} params.mark - Scenegraph mark of groups to layout.
1142
+ */
1143
+ function ViewLayout(params) {
1144
+ Transform.call(this, null, params);
1145
+ }
1146
+ inherits(ViewLayout, Transform, {
1147
+ transform(_, pulse) {
1148
+ const view = pulse.dataflow;
1149
+ _.mark.items.forEach(group => {
1150
+ if (_.layout) trellisLayout(view, group, _.layout);
1151
+ layoutGroup(view, group, _);
1152
+ });
1153
+ return shouldReflow(_.mark.group) ? pulse.reflow() : pulse;
1154
+ }
1155
+ });
1156
+ function shouldReflow(group) {
1157
+ // We typically should reflow if layout is invoked (#2568), as child items
1158
+ // may have resized and reflow ensures group bounds are re-calculated.
1159
+ // However, legend entries have a special exception to avoid instability.
1160
+ // For example, if a selected legend symbol gains a stroke on hover,
1161
+ // we don't want to re-position subsequent elements in the legend.
1162
+ return group && group.mark.role !== 'legend-entry';
1163
+ }
1164
+ function layoutGroup(view, group, _) {
1165
+ var items = group.items,
1166
+ width = Math.max(0, group.width || 0),
1167
+ height = Math.max(0, group.height || 0),
1168
+ viewBounds = new Bounds().set(0, 0, width, height),
1169
+ xBounds = viewBounds.clone(),
1170
+ yBounds = viewBounds.clone(),
1171
+ legends = [],
1172
+ title,
1173
+ mark,
1174
+ orient,
1175
+ b,
1176
+ i,
1177
+ n;
1178
+
1179
+ // layout axes, gather legends, collect bounds
1180
+ for (i = 0, n = items.length; i < n; ++i) {
1181
+ mark = items[i];
1182
+ switch (mark.role) {
1183
+ case AxisRole:
1184
+ b = isYAxis(mark) ? xBounds : yBounds;
1185
+ b.union(axisLayout(view, mark, width, height));
1186
+ break;
1187
+ case TitleRole:
1188
+ title = mark;
1189
+ break;
1190
+ case LegendRole:
1191
+ legends.push(legendLayout(view, mark));
1192
+ break;
1193
+ case FrameRole:
1194
+ case ScopeRole:
1195
+ case RowHeader:
1196
+ case RowFooter:
1197
+ case RowTitle:
1198
+ case ColHeader:
1199
+ case ColFooter:
1200
+ case ColTitle:
1201
+ xBounds.union(mark.bounds);
1202
+ yBounds.union(mark.bounds);
1203
+ break;
1204
+ default:
1205
+ viewBounds.union(mark.bounds);
1206
+ }
1207
+ }
1208
+
1209
+ // layout legends, adjust viewBounds
1210
+ if (legends.length) {
1211
+ // group legends by orient
1212
+ const l = {};
1213
+ legends.forEach(item => {
1214
+ orient = item.orient || Right;
1215
+ if (orient !== None) (l[orient] || (l[orient] = [])).push(item);
1216
+ });
1217
+
1218
+ // perform grid layout for each orient group
1219
+ for (const orient in l) {
1220
+ const g = l[orient];
1221
+ gridLayout(view, g, legendParams(g, orient, _.legends, xBounds, yBounds, width, height));
1222
+ }
1223
+
1224
+ // update view bounds
1225
+ legends.forEach(item => {
1226
+ const b = item.bounds;
1227
+ if (!b.equals(item._bounds)) {
1228
+ item.bounds = item._bounds;
1229
+ view.dirty(item); // dirty previous location
1230
+ item.bounds = b;
1231
+ view.dirty(item);
1232
+ }
1233
+ if (_.autosize && (_.autosize.type === Fit || _.autosize.type === FitX || _.autosize.type === FitY)) {
1234
+ // For autosize fit, incorporate the orthogonal dimension only.
1235
+ // Legends that overrun the chart area will then be clipped;
1236
+ // otherwise the chart area gets reduced to nothing!
1237
+ switch (item.orient) {
1238
+ case Left:
1239
+ case Right:
1240
+ viewBounds.add(b.x1, 0).add(b.x2, 0);
1241
+ break;
1242
+ case Top:
1243
+ case Bottom:
1244
+ viewBounds.add(0, b.y1).add(0, b.y2);
1245
+ }
1246
+ } else {
1247
+ viewBounds.union(b);
1248
+ }
1249
+ });
1250
+ }
1251
+
1252
+ // combine bounding boxes
1253
+ viewBounds.union(xBounds).union(yBounds);
1254
+
1255
+ // layout title, adjust bounds
1256
+ if (title) {
1257
+ viewBounds.union(titleLayout(view, title, width, height, viewBounds));
1258
+ }
1259
+
1260
+ // override aggregated view bounds if content is clipped
1261
+ if (group.clip) {
1262
+ viewBounds.set(0, 0, group.width || 0, group.height || 0);
1263
+ }
1264
+
1265
+ // perform size adjustment
1266
+ viewSizeLayout(view, group, viewBounds, _);
1267
+ }
1268
+ function viewSizeLayout(view, group, viewBounds, _) {
1269
+ const auto = _.autosize || {},
1270
+ type = auto.type;
1271
+ if (view._autosize < 1 || !type) return;
1272
+ let viewWidth = view._width,
1273
+ viewHeight = view._height,
1274
+ width = Math.max(0, group.width || 0),
1275
+ left = Math.max(0, Math.ceil(-viewBounds.x1)),
1276
+ height = Math.max(0, group.height || 0),
1277
+ top = Math.max(0, Math.ceil(-viewBounds.y1));
1278
+ const right = Math.max(0, Math.ceil(viewBounds.x2 - width)),
1279
+ bottom = Math.max(0, Math.ceil(viewBounds.y2 - height));
1280
+ if (auto.contains === Padding) {
1281
+ const padding = view.padding();
1282
+ viewWidth -= padding.left + padding.right;
1283
+ viewHeight -= padding.top + padding.bottom;
1284
+ }
1285
+ if (type === None) {
1286
+ left = 0;
1287
+ top = 0;
1288
+ width = viewWidth;
1289
+ height = viewHeight;
1290
+ } else if (type === Fit) {
1291
+ width = Math.max(0, viewWidth - left - right);
1292
+ height = Math.max(0, viewHeight - top - bottom);
1293
+ } else if (type === FitX) {
1294
+ width = Math.max(0, viewWidth - left - right);
1295
+ viewHeight = height + top + bottom;
1296
+ } else if (type === FitY) {
1297
+ viewWidth = width + left + right;
1298
+ height = Math.max(0, viewHeight - top - bottom);
1299
+ } else if (type === Pad) {
1300
+ viewWidth = width + left + right;
1301
+ viewHeight = height + top + bottom;
1302
+ }
1303
+ view._resizeView(viewWidth, viewHeight, width, height, [left, top], auto.resize);
1304
+ }
1305
+
1306
+ export { Bound as bound, Identifier as identifier, Mark as mark, Overlap as overlap, Render as render, ViewLayout as viewlayout };