@mui/x-charts-vendor 7.12.0

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 (312) hide show
  1. package/README.md +76 -0
  2. package/d3-color.d.ts +5 -0
  3. package/d3-color.js +7 -0
  4. package/d3-delaunay.d.ts +5 -0
  5. package/d3-delaunay.js +7 -0
  6. package/d3-interpolate.d.ts +5 -0
  7. package/d3-interpolate.js +7 -0
  8. package/d3-scale.d.ts +5 -0
  9. package/d3-scale.js +7 -0
  10. package/d3-shape.d.ts +5 -0
  11. package/d3-shape.js +7 -0
  12. package/d3-time.d.ts +5 -0
  13. package/d3-time.js +7 -0
  14. package/es/d3-array.js +6 -0
  15. package/es/d3-color.js +6 -0
  16. package/es/d3-delaunay.js +6 -0
  17. package/es/d3-format.js +6 -0
  18. package/es/d3-interpolate.js +6 -0
  19. package/es/d3-path.js +6 -0
  20. package/es/d3-scale.js +6 -0
  21. package/es/d3-shape.js +6 -0
  22. package/es/d3-time-format.js +6 -0
  23. package/es/d3-time.js +6 -0
  24. package/es/delaunator.js +6 -0
  25. package/es/internmap.js +6 -0
  26. package/es/robust-predicates.js +6 -0
  27. package/lib/d3-array.js +6 -0
  28. package/lib/d3-color.js +6 -0
  29. package/lib/d3-delaunay.js +6 -0
  30. package/lib/d3-format.js +6 -0
  31. package/lib/d3-interpolate.js +6 -0
  32. package/lib/d3-path.js +6 -0
  33. package/lib/d3-scale.js +6 -0
  34. package/lib/d3-shape.js +6 -0
  35. package/lib/d3-time-format.js +6 -0
  36. package/lib/d3-time.js +6 -0
  37. package/lib/delaunator.js +6 -0
  38. package/lib/internmap.js +6 -0
  39. package/lib/robust-predicates.js +6 -0
  40. package/lib-vendor/d3-array/LICENSE +13 -0
  41. package/lib-vendor/d3-array/dist/d3-array.js +1349 -0
  42. package/lib-vendor/d3-array/dist/d3-array.min.js +777 -0
  43. package/lib-vendor/d3-array/src/array.js +9 -0
  44. package/lib-vendor/d3-array/src/ascending.js +9 -0
  45. package/lib-vendor/d3-array/src/bin.js +126 -0
  46. package/lib-vendor/d3-array/src/bisect.js +15 -0
  47. package/lib-vendor/d3-array/src/bisector.js +59 -0
  48. package/lib-vendor/d3-array/src/blur.js +122 -0
  49. package/lib-vendor/d3-array/src/constant.js +9 -0
  50. package/lib-vendor/d3-array/src/count.js +24 -0
  51. package/lib-vendor/d3-array/src/cross.js +35 -0
  52. package/lib-vendor/d3-array/src/cumsum.js +11 -0
  53. package/lib-vendor/d3-array/src/descending.js +9 -0
  54. package/lib-vendor/d3-array/src/deviation.js +12 -0
  55. package/lib-vendor/d3-array/src/difference.js +16 -0
  56. package/lib-vendor/d3-array/src/disjoint.js +24 -0
  57. package/lib-vendor/d3-array/src/every.js +16 -0
  58. package/lib-vendor/d3-array/src/extent.js +35 -0
  59. package/lib-vendor/d3-array/src/filter.js +17 -0
  60. package/lib-vendor/d3-array/src/fsum.js +77 -0
  61. package/lib-vendor/d3-array/src/greatest.js +31 -0
  62. package/lib-vendor/d3-array/src/greatestIndex.js +23 -0
  63. package/lib-vendor/d3-array/src/group.js +67 -0
  64. package/lib-vendor/d3-array/src/groupSort.js +15 -0
  65. package/lib-vendor/d3-array/src/identity.js +9 -0
  66. package/lib-vendor/d3-array/src/index.js +539 -0
  67. package/lib-vendor/d3-array/src/intersection.js +23 -0
  68. package/lib-vendor/d3-array/src/least.js +31 -0
  69. package/lib-vendor/d3-array/src/leastIndex.js +23 -0
  70. package/lib-vendor/d3-array/src/map.js +11 -0
  71. package/lib-vendor/d3-array/src/max.js +24 -0
  72. package/lib-vendor/d3-array/src/maxIndex.js +26 -0
  73. package/lib-vendor/d3-array/src/mean.js +25 -0
  74. package/lib-vendor/d3-array/src/median.js +16 -0
  75. package/lib-vendor/d3-array/src/merge.js +14 -0
  76. package/lib-vendor/d3-array/src/min.js +24 -0
  77. package/lib-vendor/d3-array/src/minIndex.js +26 -0
  78. package/lib-vendor/d3-array/src/mode.js +33 -0
  79. package/lib-vendor/d3-array/src/nice.js +23 -0
  80. package/lib-vendor/d3-array/src/number.js +26 -0
  81. package/lib-vendor/d3-array/src/pairs.js +21 -0
  82. package/lib-vendor/d3-array/src/permute.js +9 -0
  83. package/lib-vendor/d3-array/src/quantile.js +55 -0
  84. package/lib-vendor/d3-array/src/quickselect.js +47 -0
  85. package/lib-vendor/d3-array/src/range.js +16 -0
  86. package/lib-vendor/d3-array/src/rank.js +30 -0
  87. package/lib-vendor/d3-array/src/reduce.js +28 -0
  88. package/lib-vendor/d3-array/src/reverse.js +10 -0
  89. package/lib-vendor/d3-array/src/scan.js +12 -0
  90. package/lib-vendor/d3-array/src/shuffle.js +20 -0
  91. package/lib-vendor/d3-array/src/some.js +16 -0
  92. package/lib-vendor/d3-array/src/sort.js +45 -0
  93. package/lib-vendor/d3-array/src/subset.js +11 -0
  94. package/lib-vendor/d3-array/src/sum.js +24 -0
  95. package/lib-vendor/d3-array/src/superset.js +28 -0
  96. package/lib-vendor/d3-array/src/threshold/freedmanDiaconis.js +14 -0
  97. package/lib-vendor/d3-array/src/threshold/scott.js +14 -0
  98. package/lib-vendor/d3-array/src/threshold/sturges.js +11 -0
  99. package/lib-vendor/d3-array/src/ticks.js +60 -0
  100. package/lib-vendor/d3-array/src/transpose.js +20 -0
  101. package/lib-vendor/d3-array/src/union.js +16 -0
  102. package/lib-vendor/d3-array/src/variance.js +31 -0
  103. package/lib-vendor/d3-array/src/zip.js +11 -0
  104. package/lib-vendor/d3-color/LICENSE +13 -0
  105. package/lib-vendor/d3-color/dist/d3-color.js +532 -0
  106. package/lib-vendor/d3-color/dist/d3-color.min.js +446 -0
  107. package/lib-vendor/d3-color/src/color.js +366 -0
  108. package/lib-vendor/d3-color/src/cubehelix.js +61 -0
  109. package/lib-vendor/d3-color/src/define.js +16 -0
  110. package/lib-vendor/d3-color/src/index.js +59 -0
  111. package/lib-vendor/d3-color/src/lab.js +117 -0
  112. package/lib-vendor/d3-color/src/math.js +8 -0
  113. package/lib-vendor/d3-delaunay/LICENSE +14 -0
  114. package/lib-vendor/d3-delaunay/dist/d3-delaunay.js +1398 -0
  115. package/lib-vendor/d3-delaunay/dist/d3-delaunay.min.js +853 -0
  116. package/lib-vendor/d3-delaunay/src/delaunay.js +282 -0
  117. package/lib-vendor/d3-delaunay/src/index.js +20 -0
  118. package/lib-vendor/d3-delaunay/src/path.js +43 -0
  119. package/lib-vendor/d3-delaunay/src/polygon.js +24 -0
  120. package/lib-vendor/d3-delaunay/src/voronoi.js +390 -0
  121. package/lib-vendor/d3-format/LICENSE +13 -0
  122. package/lib-vendor/d3-format/dist/d3-format.js +313 -0
  123. package/lib-vendor/d3-format/dist/d3-format.min.js +193 -0
  124. package/lib-vendor/d3-format/src/defaultLocale.js +23 -0
  125. package/lib-vendor/d3-format/src/exponent.js +10 -0
  126. package/lib-vendor/d3-format/src/formatDecimal.js +23 -0
  127. package/lib-vendor/d3-format/src/formatGroup.js +22 -0
  128. package/lib-vendor/d3-format/src/formatNumerals.js +13 -0
  129. package/lib-vendor/d3-format/src/formatPrefixAuto.js +18 -0
  130. package/lib-vendor/d3-format/src/formatRounded.js +14 -0
  131. package/lib-vendor/d3-format/src/formatSpecifier.js +42 -0
  132. package/lib-vendor/d3-format/src/formatTrim.js +25 -0
  133. package/lib-vendor/d3-format/src/formatTypes.js +25 -0
  134. package/lib-vendor/d3-format/src/identity.js +9 -0
  135. package/lib-vendor/d3-format/src/index.js +68 -0
  136. package/lib-vendor/d3-format/src/locale.js +152 -0
  137. package/lib-vendor/d3-format/src/precisionFixed.js +11 -0
  138. package/lib-vendor/d3-format/src/precisionPrefix.js +11 -0
  139. package/lib-vendor/d3-format/src/precisionRound.js +12 -0
  140. package/lib-vendor/d3-interpolate/LICENSE +13 -0
  141. package/lib-vendor/d3-interpolate/dist/d3-interpolate.js +543 -0
  142. package/lib-vendor/d3-interpolate/dist/d3-interpolate.min.js +362 -0
  143. package/lib-vendor/d3-interpolate/src/array.js +28 -0
  144. package/lib-vendor/d3-interpolate/src/basis.js +23 -0
  145. package/lib-vendor/d3-interpolate/src/basisClosed.js +18 -0
  146. package/lib-vendor/d3-interpolate/src/color.js +33 -0
  147. package/lib-vendor/d3-interpolate/src/constant.js +8 -0
  148. package/lib-vendor/d3-interpolate/src/cubehelix.js +32 -0
  149. package/lib-vendor/d3-interpolate/src/date.js +12 -0
  150. package/lib-vendor/d3-interpolate/src/discrete.js +12 -0
  151. package/lib-vendor/d3-interpolate/src/hcl.js +27 -0
  152. package/lib-vendor/d3-interpolate/src/hsl.js +27 -0
  153. package/lib-vendor/d3-interpolate/src/hue.js +14 -0
  154. package/lib-vendor/d3-interpolate/src/index.js +191 -0
  155. package/lib-vendor/d3-interpolate/src/lab.js +22 -0
  156. package/lib-vendor/d3-interpolate/src/number.js +11 -0
  157. package/lib-vendor/d3-interpolate/src/numberArray.js +20 -0
  158. package/lib-vendor/d3-interpolate/src/object.js +26 -0
  159. package/lib-vendor/d3-interpolate/src/piecewise.js +20 -0
  160. package/lib-vendor/d3-interpolate/src/quantize.js +11 -0
  161. package/lib-vendor/d3-interpolate/src/rgb.js +59 -0
  162. package/lib-vendor/d3-interpolate/src/round.js +11 -0
  163. package/lib-vendor/d3-interpolate/src/string.js +75 -0
  164. package/lib-vendor/d3-interpolate/src/transform/decompose.js +31 -0
  165. package/lib-vendor/d3-interpolate/src/transform/index.js +83 -0
  166. package/lib-vendor/d3-interpolate/src/transform/parse.js +25 -0
  167. package/lib-vendor/d3-interpolate/src/value.js +23 -0
  168. package/lib-vendor/d3-interpolate/src/zoom.js +66 -0
  169. package/lib-vendor/d3-path/LICENSE +13 -0
  170. package/lib-vendor/d3-path/dist/d3-path.js +161 -0
  171. package/lib-vendor/d3-path/dist/d3-path.min.js +92 -0
  172. package/lib-vendor/d3-path/src/index.js +24 -0
  173. package/lib-vendor/d3-path/src/path.js +158 -0
  174. package/lib-vendor/d3-scale/LICENSE +13 -0
  175. package/lib-vendor/d3-scale/dist/d3-scale.js +944 -0
  176. package/lib-vendor/d3-scale/dist/d3-scale.min.js +690 -0
  177. package/lib-vendor/d3-scale/src/band.js +87 -0
  178. package/lib-vendor/d3-scale/src/colors.js +11 -0
  179. package/lib-vendor/d3-scale/src/constant.js +11 -0
  180. package/lib-vendor/d3-scale/src/continuous.js +116 -0
  181. package/lib-vendor/d3-scale/src/diverging.js +91 -0
  182. package/lib-vendor/d3-scale/src/identity.js +27 -0
  183. package/lib-vendor/d3-scale/src/index.js +193 -0
  184. package/lib-vendor/d3-scale/src/init.js +38 -0
  185. package/lib-vendor/d3-scale/src/linear.js +67 -0
  186. package/lib-vendor/d3-scale/src/log.js +123 -0
  187. package/lib-vendor/d3-scale/src/nice.js +21 -0
  188. package/lib-vendor/d3-scale/src/number.js +9 -0
  189. package/lib-vendor/d3-scale/src/ordinal.js +44 -0
  190. package/lib-vendor/d3-scale/src/pow.js +44 -0
  191. package/lib-vendor/d3-scale/src/quantile.js +48 -0
  192. package/lib-vendor/d3-scale/src/quantize.js +46 -0
  193. package/lib-vendor/d3-scale/src/radial.js +53 -0
  194. package/lib-vendor/d3-scale/src/sequential.js +90 -0
  195. package/lib-vendor/d3-scale/src/sequentialQuantile.js +38 -0
  196. package/lib-vendor/d3-scale/src/symlog.js +35 -0
  197. package/lib-vendor/d3-scale/src/threshold.js +34 -0
  198. package/lib-vendor/d3-scale/src/tickFormat.js +37 -0
  199. package/lib-vendor/d3-scale/src/time.js +62 -0
  200. package/lib-vendor/d3-scale/src/utcTime.js +13 -0
  201. package/lib-vendor/d3-shape/LICENSE +13 -0
  202. package/lib-vendor/d3-shape/dist/d3-shape.js +2004 -0
  203. package/lib-vendor/d3-shape/dist/d3-shape.min.js +1389 -0
  204. package/lib-vendor/d3-shape/src/arc.js +250 -0
  205. package/lib-vendor/d3-shape/src/area.js +98 -0
  206. package/lib-vendor/d3-shape/src/areaRadial.js +42 -0
  207. package/lib-vendor/d3-shape/src/array.js +12 -0
  208. package/lib-vendor/d3-shape/src/constant.js +11 -0
  209. package/lib-vendor/d3-shape/src/curve/basis.js +62 -0
  210. package/lib-vendor/d3-shape/src/curve/basisClosed.js +70 -0
  211. package/lib-vendor/d3-shape/src/curve/basisOpen.js +54 -0
  212. package/lib-vendor/d3-shape/src/curve/bump.js +81 -0
  213. package/lib-vendor/d3-shape/src/curve/bundle.js +50 -0
  214. package/lib-vendor/d3-shape/src/curve/cardinal.js +69 -0
  215. package/lib-vendor/d3-shape/src/curve/cardinalClosed.js +76 -0
  216. package/lib-vendor/d3-shape/src/curve/cardinalOpen.js +60 -0
  217. package/lib-vendor/d3-shape/src/curve/catmullRom.js +92 -0
  218. package/lib-vendor/d3-shape/src/curve/catmullRomClosed.js +83 -0
  219. package/lib-vendor/d3-shape/src/curve/catmullRomOpen.js +67 -0
  220. package/lib-vendor/d3-shape/src/curve/linear.js +42 -0
  221. package/lib-vendor/d3-shape/src/curve/linearClosed.js +28 -0
  222. package/lib-vendor/d3-shape/src/curve/monotone.js +121 -0
  223. package/lib-vendor/d3-shape/src/curve/natural.js +67 -0
  224. package/lib-vendor/d3-shape/src/curve/radial.js +37 -0
  225. package/lib-vendor/d3-shape/src/curve/step.js +63 -0
  226. package/lib-vendor/d3-shape/src/descending.js +9 -0
  227. package/lib-vendor/d3-shape/src/identity.js +9 -0
  228. package/lib-vendor/d3-shape/src/index.js +436 -0
  229. package/lib-vendor/d3-shape/src/line.js +52 -0
  230. package/lib-vendor/d3-shape/src/lineRadial.js +24 -0
  231. package/lib-vendor/d3-shape/src/link.js +70 -0
  232. package/lib-vendor/d3-shape/src/math.js +26 -0
  233. package/lib-vendor/d3-shape/src/noop.js +7 -0
  234. package/lib-vendor/d3-shape/src/offset/diverging.js +20 -0
  235. package/lib-vendor/d3-shape/src/offset/expand.js +16 -0
  236. package/lib-vendor/d3-shape/src/offset/none.js +15 -0
  237. package/lib-vendor/d3-shape/src/offset/silhouette.js +16 -0
  238. package/lib-vendor/d3-shape/src/offset/wiggle.js +30 -0
  239. package/lib-vendor/d3-shape/src/order/appearance.js +23 -0
  240. package/lib-vendor/d3-shape/src/order/ascending.js +23 -0
  241. package/lib-vendor/d3-shape/src/order/descending.js +11 -0
  242. package/lib-vendor/d3-shape/src/order/insideOut.js +31 -0
  243. package/lib-vendor/d3-shape/src/order/none.js +12 -0
  244. package/lib-vendor/d3-shape/src/order/reverse.js +11 -0
  245. package/lib-vendor/d3-shape/src/path.js +22 -0
  246. package/lib-vendor/d3-shape/src/pie.js +79 -0
  247. package/lib-vendor/d3-shape/src/point.js +13 -0
  248. package/lib-vendor/d3-shape/src/pointRadial.js +9 -0
  249. package/lib-vendor/d3-shape/src/stack.js +55 -0
  250. package/lib-vendor/d3-shape/src/symbol/asterisk.js +21 -0
  251. package/lib-vendor/d3-shape/src/symbol/circle.js +14 -0
  252. package/lib-vendor/d3-shape/src/symbol/cross.js +25 -0
  253. package/lib-vendor/d3-shape/src/symbol/diamond.js +20 -0
  254. package/lib-vendor/d3-shape/src/symbol/diamond2.js +17 -0
  255. package/lib-vendor/d3-shape/src/symbol/plus.js +16 -0
  256. package/lib-vendor/d3-shape/src/symbol/square.js +14 -0
  257. package/lib-vendor/d3-shape/src/symbol/square2.js +17 -0
  258. package/lib-vendor/d3-shape/src/symbol/star.js +28 -0
  259. package/lib-vendor/d3-shape/src/symbol/times.js +16 -0
  260. package/lib-vendor/d3-shape/src/symbol/triangle.js +17 -0
  261. package/lib-vendor/d3-shape/src/symbol/triangle2.js +19 -0
  262. package/lib-vendor/d3-shape/src/symbol/wye.js +32 -0
  263. package/lib-vendor/d3-shape/src/symbol.js +50 -0
  264. package/lib-vendor/d3-time/LICENSE +13 -0
  265. package/lib-vendor/d3-time/dist/d3-time.js +367 -0
  266. package/lib-vendor/d3-time/dist/d3-time.min.js +190 -0
  267. package/lib-vendor/d3-time/src/day.js +30 -0
  268. package/lib-vendor/d3-time/src/duration.js +13 -0
  269. package/lib-vendor/d3-time/src/hour.js +28 -0
  270. package/lib-vendor/d3-time/src/index.js +417 -0
  271. package/lib-vendor/d3-time/src/interval.js +61 -0
  272. package/lib-vendor/d3-time/src/millisecond.js +29 -0
  273. package/lib-vendor/d3-time/src/minute.js +28 -0
  274. package/lib-vendor/d3-time/src/month.js +29 -0
  275. package/lib-vendor/d3-time/src/second.js +18 -0
  276. package/lib-vendor/d3-time/src/ticks.js +41 -0
  277. package/lib-vendor/d3-time/src/week.js +56 -0
  278. package/lib-vendor/d3-time/src/year.js +51 -0
  279. package/lib-vendor/d3-time-format/LICENSE +13 -0
  280. package/lib-vendor/d3-time-format/dist/d3-time-format.js +648 -0
  281. package/lib-vendor/d3-time-format/dist/d3-time-format.min.js +528 -0
  282. package/lib-vendor/d3-time-format/src/defaultLocale.js +32 -0
  283. package/lib-vendor/d3-time-format/src/index.js +60 -0
  284. package/lib-vendor/d3-time-format/src/isoFormat.js +13 -0
  285. package/lib-vendor/d3-time-format/src/isoParse.js +14 -0
  286. package/lib-vendor/d3-time-format/src/locale.js +606 -0
  287. package/lib-vendor/delaunator/LICENSE +15 -0
  288. package/lib-vendor/delaunator/delaunator.js +688 -0
  289. package/lib-vendor/delaunator/delaunator.min.js +316 -0
  290. package/lib-vendor/delaunator/index.js +440 -0
  291. package/lib-vendor/internmap/LICENSE +13 -0
  292. package/lib-vendor/internmap/dist/internmap.js +93 -0
  293. package/lib-vendor/internmap/dist/internmap.min.js +81 -0
  294. package/lib-vendor/internmap/src/index.js +87 -0
  295. package/lib-vendor/robust-predicates/LICENSE +24 -0
  296. package/lib-vendor/robust-predicates/esm/incircle.js +667 -0
  297. package/lib-vendor/robust-predicates/esm/insphere.js +693 -0
  298. package/lib-vendor/robust-predicates/esm/orient2d.js +174 -0
  299. package/lib-vendor/robust-predicates/esm/orient3d.js +422 -0
  300. package/lib-vendor/robust-predicates/esm/util.js +147 -0
  301. package/lib-vendor/robust-predicates/index.js +57 -0
  302. package/lib-vendor/robust-predicates/umd/incircle.js +798 -0
  303. package/lib-vendor/robust-predicates/umd/incircle.min.js +170 -0
  304. package/lib-vendor/robust-predicates/umd/insphere.js +828 -0
  305. package/lib-vendor/robust-predicates/umd/insphere.min.js +223 -0
  306. package/lib-vendor/robust-predicates/umd/orient2d.js +260 -0
  307. package/lib-vendor/robust-predicates/umd/orient2d.min.js +69 -0
  308. package/lib-vendor/robust-predicates/umd/orient3d.js +550 -0
  309. package/lib-vendor/robust-predicates/umd/orient3d.min.js +133 -0
  310. package/lib-vendor/robust-predicates/umd/predicates.js +2073 -0
  311. package/lib-vendor/robust-predicates/umd/predicates.min.js +468 -0
  312. package/package.json +63 -0
@@ -0,0 +1,944 @@
1
+ "use strict";
2
+
3
+ // https://d3js.org/d3-scale/ v4.0.2 Copyright 2010-2021 Mike Bostock
4
+ (function (global, factory) {
5
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require("../../../lib-vendor/d3-array/src/index.js"), require("../../../lib-vendor/d3-interpolate/src/index.js"), require("../../../lib-vendor/d3-format/src/index.js"), require("../../../lib-vendor/d3-time/src/index.js"), require("../../../lib-vendor/d3-time-format/src/index.js")) : typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-interpolate', 'd3-format', 'd3-time', 'd3-time-format'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.d3 = global.d3 || {}, global.d3, global.d3, global.d3, global.d3, global.d3));
6
+ })(this, function (exports, d3Array, d3Interpolate, d3Format, d3Time, d3TimeFormat) {
7
+ 'use strict';
8
+
9
+ function initRange(domain, range) {
10
+ switch (arguments.length) {
11
+ case 0:
12
+ break;
13
+ case 1:
14
+ this.range(domain);
15
+ break;
16
+ default:
17
+ this.range(range).domain(domain);
18
+ break;
19
+ }
20
+ return this;
21
+ }
22
+ function initInterpolator(domain, interpolator) {
23
+ switch (arguments.length) {
24
+ case 0:
25
+ break;
26
+ case 1:
27
+ {
28
+ if (typeof domain === "function") this.interpolator(domain);else this.range(domain);
29
+ break;
30
+ }
31
+ default:
32
+ {
33
+ this.domain(domain);
34
+ if (typeof interpolator === "function") this.interpolator(interpolator);else this.range(interpolator);
35
+ break;
36
+ }
37
+ }
38
+ return this;
39
+ }
40
+ const implicit = Symbol("implicit");
41
+ function ordinal() {
42
+ var index = new d3Array.InternMap(),
43
+ domain = [],
44
+ range = [],
45
+ unknown = implicit;
46
+ function scale(d) {
47
+ let i = index.get(d);
48
+ if (i === undefined) {
49
+ if (unknown !== implicit) return unknown;
50
+ index.set(d, i = domain.push(d) - 1);
51
+ }
52
+ return range[i % range.length];
53
+ }
54
+ scale.domain = function (_) {
55
+ if (!arguments.length) return domain.slice();
56
+ domain = [], index = new d3Array.InternMap();
57
+ for (const value of _) {
58
+ if (index.has(value)) continue;
59
+ index.set(value, domain.push(value) - 1);
60
+ }
61
+ return scale;
62
+ };
63
+ scale.range = function (_) {
64
+ return arguments.length ? (range = Array.from(_), scale) : range.slice();
65
+ };
66
+ scale.unknown = function (_) {
67
+ return arguments.length ? (unknown = _, scale) : unknown;
68
+ };
69
+ scale.copy = function () {
70
+ return ordinal(domain, range).unknown(unknown);
71
+ };
72
+ initRange.apply(scale, arguments);
73
+ return scale;
74
+ }
75
+ function band() {
76
+ var scale = ordinal().unknown(undefined),
77
+ domain = scale.domain,
78
+ ordinalRange = scale.range,
79
+ r0 = 0,
80
+ r1 = 1,
81
+ step,
82
+ bandwidth,
83
+ round = false,
84
+ paddingInner = 0,
85
+ paddingOuter = 0,
86
+ align = 0.5;
87
+ delete scale.unknown;
88
+ function rescale() {
89
+ var n = domain().length,
90
+ reverse = r1 < r0,
91
+ start = reverse ? r1 : r0,
92
+ stop = reverse ? r0 : r1;
93
+ step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);
94
+ if (round) step = Math.floor(step);
95
+ start += (stop - start - step * (n - paddingInner)) * align;
96
+ bandwidth = step * (1 - paddingInner);
97
+ if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);
98
+ var values = d3Array.range(n).map(function (i) {
99
+ return start + step * i;
100
+ });
101
+ return ordinalRange(reverse ? values.reverse() : values);
102
+ }
103
+ scale.domain = function (_) {
104
+ return arguments.length ? (domain(_), rescale()) : domain();
105
+ };
106
+ scale.range = function (_) {
107
+ return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];
108
+ };
109
+ scale.rangeRound = function (_) {
110
+ return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();
111
+ };
112
+ scale.bandwidth = function () {
113
+ return bandwidth;
114
+ };
115
+ scale.step = function () {
116
+ return step;
117
+ };
118
+ scale.round = function (_) {
119
+ return arguments.length ? (round = !!_, rescale()) : round;
120
+ };
121
+ scale.padding = function (_) {
122
+ return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;
123
+ };
124
+ scale.paddingInner = function (_) {
125
+ return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;
126
+ };
127
+ scale.paddingOuter = function (_) {
128
+ return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;
129
+ };
130
+ scale.align = function (_) {
131
+ return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
132
+ };
133
+ scale.copy = function () {
134
+ return band(domain(), [r0, r1]).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align);
135
+ };
136
+ return initRange.apply(rescale(), arguments);
137
+ }
138
+ function pointish(scale) {
139
+ var copy = scale.copy;
140
+ scale.padding = scale.paddingOuter;
141
+ delete scale.paddingInner;
142
+ delete scale.paddingOuter;
143
+ scale.copy = function () {
144
+ return pointish(copy());
145
+ };
146
+ return scale;
147
+ }
148
+ function point() {
149
+ return pointish(band.apply(null, arguments).paddingInner(1));
150
+ }
151
+ function constants(x) {
152
+ return function () {
153
+ return x;
154
+ };
155
+ }
156
+ function number$1(x) {
157
+ return +x;
158
+ }
159
+ var unit = [0, 1];
160
+ function identity$1(x) {
161
+ return x;
162
+ }
163
+ function normalize(a, b) {
164
+ return (b -= a = +a) ? function (x) {
165
+ return (x - a) / b;
166
+ } : constants(isNaN(b) ? NaN : 0.5);
167
+ }
168
+ function clamper(a, b) {
169
+ var t;
170
+ if (a > b) t = a, a = b, b = t;
171
+ return function (x) {
172
+ return Math.max(a, Math.min(b, x));
173
+ };
174
+ }
175
+
176
+ // normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
177
+ // interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].
178
+ function bimap(domain, range, interpolate) {
179
+ var d0 = domain[0],
180
+ d1 = domain[1],
181
+ r0 = range[0],
182
+ r1 = range[1];
183
+ if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);
184
+ return function (x) {
185
+ return r0(d0(x));
186
+ };
187
+ }
188
+ function polymap(domain, range, interpolate) {
189
+ var j = Math.min(domain.length, range.length) - 1,
190
+ d = new Array(j),
191
+ r = new Array(j),
192
+ i = -1;
193
+
194
+ // Reverse descending domains.
195
+ if (domain[j] < domain[0]) {
196
+ domain = domain.slice().reverse();
197
+ range = range.slice().reverse();
198
+ }
199
+ while (++i < j) {
200
+ d[i] = normalize(domain[i], domain[i + 1]);
201
+ r[i] = interpolate(range[i], range[i + 1]);
202
+ }
203
+ return function (x) {
204
+ var i = d3Array.bisect(domain, x, 1, j) - 1;
205
+ return r[i](d[i](x));
206
+ };
207
+ }
208
+ function copy$1(source, target) {
209
+ return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());
210
+ }
211
+ function transformer$2() {
212
+ var domain = unit,
213
+ range = unit,
214
+ interpolate = d3Interpolate.interpolate,
215
+ transform,
216
+ untransform,
217
+ unknown,
218
+ clamp = identity$1,
219
+ piecewise,
220
+ output,
221
+ input;
222
+ function rescale() {
223
+ var n = Math.min(domain.length, range.length);
224
+ if (clamp !== identity$1) clamp = clamper(domain[0], domain[n - 1]);
225
+ piecewise = n > 2 ? polymap : bimap;
226
+ output = input = null;
227
+ return scale;
228
+ }
229
+ function scale(x) {
230
+ return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));
231
+ }
232
+ scale.invert = function (y) {
233
+ return clamp(untransform((input || (input = piecewise(range, domain.map(transform), d3Interpolate.interpolateNumber)))(y)));
234
+ };
235
+ scale.domain = function (_) {
236
+ return arguments.length ? (domain = Array.from(_, number$1), rescale()) : domain.slice();
237
+ };
238
+ scale.range = function (_) {
239
+ return arguments.length ? (range = Array.from(_), rescale()) : range.slice();
240
+ };
241
+ scale.rangeRound = function (_) {
242
+ return range = Array.from(_), interpolate = d3Interpolate.interpolateRound, rescale();
243
+ };
244
+ scale.clamp = function (_) {
245
+ return arguments.length ? (clamp = _ ? true : identity$1, rescale()) : clamp !== identity$1;
246
+ };
247
+ scale.interpolate = function (_) {
248
+ return arguments.length ? (interpolate = _, rescale()) : interpolate;
249
+ };
250
+ scale.unknown = function (_) {
251
+ return arguments.length ? (unknown = _, scale) : unknown;
252
+ };
253
+ return function (t, u) {
254
+ transform = t, untransform = u;
255
+ return rescale();
256
+ };
257
+ }
258
+ function continuous() {
259
+ return transformer$2()(identity$1, identity$1);
260
+ }
261
+ function tickFormat(start, stop, count, specifier) {
262
+ var step = d3Array.tickStep(start, stop, count),
263
+ precision;
264
+ specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier);
265
+ switch (specifier.type) {
266
+ case "s":
267
+ {
268
+ var value = Math.max(Math.abs(start), Math.abs(stop));
269
+ if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision;
270
+ return d3Format.formatPrefix(specifier, value);
271
+ }
272
+ case "":
273
+ case "e":
274
+ case "g":
275
+ case "p":
276
+ case "r":
277
+ {
278
+ if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
279
+ break;
280
+ }
281
+ case "f":
282
+ case "%":
283
+ {
284
+ if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
285
+ break;
286
+ }
287
+ }
288
+ return d3Format.format(specifier);
289
+ }
290
+ function linearish(scale) {
291
+ var domain = scale.domain;
292
+ scale.ticks = function (count) {
293
+ var d = domain();
294
+ return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count);
295
+ };
296
+ scale.tickFormat = function (count, specifier) {
297
+ var d = domain();
298
+ return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);
299
+ };
300
+ scale.nice = function (count) {
301
+ if (count == null) count = 10;
302
+ var d = domain();
303
+ var i0 = 0;
304
+ var i1 = d.length - 1;
305
+ var start = d[i0];
306
+ var stop = d[i1];
307
+ var prestep;
308
+ var step;
309
+ var maxIter = 10;
310
+ if (stop < start) {
311
+ step = start, start = stop, stop = step;
312
+ step = i0, i0 = i1, i1 = step;
313
+ }
314
+ while (maxIter-- > 0) {
315
+ step = d3Array.tickIncrement(start, stop, count);
316
+ if (step === prestep) {
317
+ d[i0] = start;
318
+ d[i1] = stop;
319
+ return domain(d);
320
+ } else if (step > 0) {
321
+ start = Math.floor(start / step) * step;
322
+ stop = Math.ceil(stop / step) * step;
323
+ } else if (step < 0) {
324
+ start = Math.ceil(start * step) / step;
325
+ stop = Math.floor(stop * step) / step;
326
+ } else {
327
+ break;
328
+ }
329
+ prestep = step;
330
+ }
331
+ return scale;
332
+ };
333
+ return scale;
334
+ }
335
+ function linear() {
336
+ var scale = continuous();
337
+ scale.copy = function () {
338
+ return copy$1(scale, linear());
339
+ };
340
+ initRange.apply(scale, arguments);
341
+ return linearish(scale);
342
+ }
343
+ function identity(domain) {
344
+ var unknown;
345
+ function scale(x) {
346
+ return x == null || isNaN(x = +x) ? unknown : x;
347
+ }
348
+ scale.invert = scale;
349
+ scale.domain = scale.range = function (_) {
350
+ return arguments.length ? (domain = Array.from(_, number$1), scale) : domain.slice();
351
+ };
352
+ scale.unknown = function (_) {
353
+ return arguments.length ? (unknown = _, scale) : unknown;
354
+ };
355
+ scale.copy = function () {
356
+ return identity(domain).unknown(unknown);
357
+ };
358
+ domain = arguments.length ? Array.from(domain, number$1) : [0, 1];
359
+ return linearish(scale);
360
+ }
361
+ function nice(domain, interval) {
362
+ domain = domain.slice();
363
+ var i0 = 0,
364
+ i1 = domain.length - 1,
365
+ x0 = domain[i0],
366
+ x1 = domain[i1],
367
+ t;
368
+ if (x1 < x0) {
369
+ t = i0, i0 = i1, i1 = t;
370
+ t = x0, x0 = x1, x1 = t;
371
+ }
372
+ domain[i0] = interval.floor(x0);
373
+ domain[i1] = interval.ceil(x1);
374
+ return domain;
375
+ }
376
+ function transformLog(x) {
377
+ return Math.log(x);
378
+ }
379
+ function transformExp(x) {
380
+ return Math.exp(x);
381
+ }
382
+ function transformLogn(x) {
383
+ return -Math.log(-x);
384
+ }
385
+ function transformExpn(x) {
386
+ return -Math.exp(-x);
387
+ }
388
+ function pow10(x) {
389
+ return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x;
390
+ }
391
+ function powp(base) {
392
+ return base === 10 ? pow10 : base === Math.E ? Math.exp : x => Math.pow(base, x);
393
+ }
394
+ function logp(base) {
395
+ return base === Math.E ? Math.log : base === 10 && Math.log10 || base === 2 && Math.log2 || (base = Math.log(base), x => Math.log(x) / base);
396
+ }
397
+ function reflect(f) {
398
+ return (x, k) => -f(-x, k);
399
+ }
400
+ function loggish(transform) {
401
+ const scale = transform(transformLog, transformExp);
402
+ const domain = scale.domain;
403
+ let base = 10;
404
+ let logs;
405
+ let pows;
406
+ function rescale() {
407
+ logs = logp(base), pows = powp(base);
408
+ if (domain()[0] < 0) {
409
+ logs = reflect(logs), pows = reflect(pows);
410
+ transform(transformLogn, transformExpn);
411
+ } else {
412
+ transform(transformLog, transformExp);
413
+ }
414
+ return scale;
415
+ }
416
+ scale.base = function (_) {
417
+ return arguments.length ? (base = +_, rescale()) : base;
418
+ };
419
+ scale.domain = function (_) {
420
+ return arguments.length ? (domain(_), rescale()) : domain();
421
+ };
422
+ scale.ticks = count => {
423
+ const d = domain();
424
+ let u = d[0];
425
+ let v = d[d.length - 1];
426
+ const r = v < u;
427
+ if (r) [u, v] = [v, u];
428
+ let i = logs(u);
429
+ let j = logs(v);
430
+ let k;
431
+ let t;
432
+ const n = count == null ? 10 : +count;
433
+ let z = [];
434
+ if (!(base % 1) && j - i < n) {
435
+ i = Math.floor(i), j = Math.ceil(j);
436
+ if (u > 0) for (; i <= j; ++i) {
437
+ for (k = 1; k < base; ++k) {
438
+ t = i < 0 ? k / pows(-i) : k * pows(i);
439
+ if (t < u) continue;
440
+ if (t > v) break;
441
+ z.push(t);
442
+ }
443
+ } else for (; i <= j; ++i) {
444
+ for (k = base - 1; k >= 1; --k) {
445
+ t = i > 0 ? k / pows(-i) : k * pows(i);
446
+ if (t < u) continue;
447
+ if (t > v) break;
448
+ z.push(t);
449
+ }
450
+ }
451
+ if (z.length * 2 < n) z = d3Array.ticks(u, v, n);
452
+ } else {
453
+ z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows);
454
+ }
455
+ return r ? z.reverse() : z;
456
+ };
457
+ scale.tickFormat = (count, specifier) => {
458
+ if (count == null) count = 10;
459
+ if (specifier == null) specifier = base === 10 ? "s" : ",";
460
+ if (typeof specifier !== "function") {
461
+ if (!(base % 1) && (specifier = d3Format.formatSpecifier(specifier)).precision == null) specifier.trim = true;
462
+ specifier = d3Format.format(specifier);
463
+ }
464
+ if (count === Infinity) return specifier;
465
+ const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?
466
+ return d => {
467
+ let i = d / pows(Math.round(logs(d)));
468
+ if (i * base < base - 0.5) i *= base;
469
+ return i <= k ? specifier(d) : "";
470
+ };
471
+ };
472
+ scale.nice = () => {
473
+ return domain(nice(domain(), {
474
+ floor: x => pows(Math.floor(logs(x))),
475
+ ceil: x => pows(Math.ceil(logs(x)))
476
+ }));
477
+ };
478
+ return scale;
479
+ }
480
+ function log() {
481
+ const scale = loggish(transformer$2()).domain([1, 10]);
482
+ scale.copy = () => copy$1(scale, log()).base(scale.base());
483
+ initRange.apply(scale, arguments);
484
+ return scale;
485
+ }
486
+ function transformSymlog(c) {
487
+ return function (x) {
488
+ return Math.sign(x) * Math.log1p(Math.abs(x / c));
489
+ };
490
+ }
491
+ function transformSymexp(c) {
492
+ return function (x) {
493
+ return Math.sign(x) * Math.expm1(Math.abs(x)) * c;
494
+ };
495
+ }
496
+ function symlogish(transform) {
497
+ var c = 1,
498
+ scale = transform(transformSymlog(c), transformSymexp(c));
499
+ scale.constant = function (_) {
500
+ return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;
501
+ };
502
+ return linearish(scale);
503
+ }
504
+ function symlog() {
505
+ var scale = symlogish(transformer$2());
506
+ scale.copy = function () {
507
+ return copy$1(scale, symlog()).constant(scale.constant());
508
+ };
509
+ return initRange.apply(scale, arguments);
510
+ }
511
+ function transformPow(exponent) {
512
+ return function (x) {
513
+ return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
514
+ };
515
+ }
516
+ function transformSqrt(x) {
517
+ return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);
518
+ }
519
+ function transformSquare(x) {
520
+ return x < 0 ? -x * x : x * x;
521
+ }
522
+ function powish(transform) {
523
+ var scale = transform(identity$1, identity$1),
524
+ exponent = 1;
525
+ function rescale() {
526
+ return exponent === 1 ? transform(identity$1, identity$1) : exponent === 0.5 ? transform(transformSqrt, transformSquare) : transform(transformPow(exponent), transformPow(1 / exponent));
527
+ }
528
+ scale.exponent = function (_) {
529
+ return arguments.length ? (exponent = +_, rescale()) : exponent;
530
+ };
531
+ return linearish(scale);
532
+ }
533
+ function pow() {
534
+ var scale = powish(transformer$2());
535
+ scale.copy = function () {
536
+ return copy$1(scale, pow()).exponent(scale.exponent());
537
+ };
538
+ initRange.apply(scale, arguments);
539
+ return scale;
540
+ }
541
+ function sqrt() {
542
+ return pow.apply(null, arguments).exponent(0.5);
543
+ }
544
+ function square(x) {
545
+ return Math.sign(x) * x * x;
546
+ }
547
+ function unsquare(x) {
548
+ return Math.sign(x) * Math.sqrt(Math.abs(x));
549
+ }
550
+ function radial() {
551
+ var squared = continuous(),
552
+ range = [0, 1],
553
+ round = false,
554
+ unknown;
555
+ function scale(x) {
556
+ var y = unsquare(squared(x));
557
+ return isNaN(y) ? unknown : round ? Math.round(y) : y;
558
+ }
559
+ scale.invert = function (y) {
560
+ return squared.invert(square(y));
561
+ };
562
+ scale.domain = function (_) {
563
+ return arguments.length ? (squared.domain(_), scale) : squared.domain();
564
+ };
565
+ scale.range = function (_) {
566
+ return arguments.length ? (squared.range((range = Array.from(_, number$1)).map(square)), scale) : range.slice();
567
+ };
568
+ scale.rangeRound = function (_) {
569
+ return scale.range(_).round(true);
570
+ };
571
+ scale.round = function (_) {
572
+ return arguments.length ? (round = !!_, scale) : round;
573
+ };
574
+ scale.clamp = function (_) {
575
+ return arguments.length ? (squared.clamp(_), scale) : squared.clamp();
576
+ };
577
+ scale.unknown = function (_) {
578
+ return arguments.length ? (unknown = _, scale) : unknown;
579
+ };
580
+ scale.copy = function () {
581
+ return radial(squared.domain(), range).round(round).clamp(squared.clamp()).unknown(unknown);
582
+ };
583
+ initRange.apply(scale, arguments);
584
+ return linearish(scale);
585
+ }
586
+ function quantile() {
587
+ var domain = [],
588
+ range = [],
589
+ thresholds = [],
590
+ unknown;
591
+ function rescale() {
592
+ var i = 0,
593
+ n = Math.max(1, range.length);
594
+ thresholds = new Array(n - 1);
595
+ while (++i < n) thresholds[i - 1] = d3Array.quantileSorted(domain, i / n);
596
+ return scale;
597
+ }
598
+ function scale(x) {
599
+ return x == null || isNaN(x = +x) ? unknown : range[d3Array.bisect(thresholds, x)];
600
+ }
601
+ scale.invertExtent = function (y) {
602
+ var i = range.indexOf(y);
603
+ return i < 0 ? [NaN, NaN] : [i > 0 ? thresholds[i - 1] : domain[0], i < thresholds.length ? thresholds[i] : domain[domain.length - 1]];
604
+ };
605
+ scale.domain = function (_) {
606
+ if (!arguments.length) return domain.slice();
607
+ domain = [];
608
+ for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);
609
+ domain.sort(d3Array.ascending);
610
+ return rescale();
611
+ };
612
+ scale.range = function (_) {
613
+ return arguments.length ? (range = Array.from(_), rescale()) : range.slice();
614
+ };
615
+ scale.unknown = function (_) {
616
+ return arguments.length ? (unknown = _, scale) : unknown;
617
+ };
618
+ scale.quantiles = function () {
619
+ return thresholds.slice();
620
+ };
621
+ scale.copy = function () {
622
+ return quantile().domain(domain).range(range).unknown(unknown);
623
+ };
624
+ return initRange.apply(scale, arguments);
625
+ }
626
+ function quantize() {
627
+ var x0 = 0,
628
+ x1 = 1,
629
+ n = 1,
630
+ domain = [0.5],
631
+ range = [0, 1],
632
+ unknown;
633
+ function scale(x) {
634
+ return x != null && x <= x ? range[d3Array.bisect(domain, x, 0, n)] : unknown;
635
+ }
636
+ function rescale() {
637
+ var i = -1;
638
+ domain = new Array(n);
639
+ while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);
640
+ return scale;
641
+ }
642
+ scale.domain = function (_) {
643
+ return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];
644
+ };
645
+ scale.range = function (_) {
646
+ return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();
647
+ };
648
+ scale.invertExtent = function (y) {
649
+ var i = range.indexOf(y);
650
+ return i < 0 ? [NaN, NaN] : i < 1 ? [x0, domain[0]] : i >= n ? [domain[n - 1], x1] : [domain[i - 1], domain[i]];
651
+ };
652
+ scale.unknown = function (_) {
653
+ return arguments.length ? (unknown = _, scale) : scale;
654
+ };
655
+ scale.thresholds = function () {
656
+ return domain.slice();
657
+ };
658
+ scale.copy = function () {
659
+ return quantize().domain([x0, x1]).range(range).unknown(unknown);
660
+ };
661
+ return initRange.apply(linearish(scale), arguments);
662
+ }
663
+ function threshold() {
664
+ var domain = [0.5],
665
+ range = [0, 1],
666
+ unknown,
667
+ n = 1;
668
+ function scale(x) {
669
+ return x != null && x <= x ? range[d3Array.bisect(domain, x, 0, n)] : unknown;
670
+ }
671
+ scale.domain = function (_) {
672
+ return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();
673
+ };
674
+ scale.range = function (_) {
675
+ return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();
676
+ };
677
+ scale.invertExtent = function (y) {
678
+ var i = range.indexOf(y);
679
+ return [domain[i - 1], domain[i]];
680
+ };
681
+ scale.unknown = function (_) {
682
+ return arguments.length ? (unknown = _, scale) : unknown;
683
+ };
684
+ scale.copy = function () {
685
+ return threshold().domain(domain).range(range).unknown(unknown);
686
+ };
687
+ return initRange.apply(scale, arguments);
688
+ }
689
+ function date(t) {
690
+ return new Date(t);
691
+ }
692
+ function number(t) {
693
+ return t instanceof Date ? +t : +new Date(+t);
694
+ }
695
+ function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {
696
+ var scale = continuous(),
697
+ invert = scale.invert,
698
+ domain = scale.domain;
699
+ var formatMillisecond = format(".%L"),
700
+ formatSecond = format(":%S"),
701
+ formatMinute = format("%I:%M"),
702
+ formatHour = format("%I %p"),
703
+ formatDay = format("%a %d"),
704
+ formatWeek = format("%b %d"),
705
+ formatMonth = format("%B"),
706
+ formatYear = format("%Y");
707
+ function tickFormat(date) {
708
+ return (second(date) < date ? formatMillisecond : minute(date) < date ? formatSecond : hour(date) < date ? formatMinute : day(date) < date ? formatHour : month(date) < date ? week(date) < date ? formatDay : formatWeek : year(date) < date ? formatMonth : formatYear)(date);
709
+ }
710
+ scale.invert = function (y) {
711
+ return new Date(invert(y));
712
+ };
713
+ scale.domain = function (_) {
714
+ return arguments.length ? domain(Array.from(_, number)) : domain().map(date);
715
+ };
716
+ scale.ticks = function (interval) {
717
+ var d = domain();
718
+ return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);
719
+ };
720
+ scale.tickFormat = function (count, specifier) {
721
+ return specifier == null ? tickFormat : format(specifier);
722
+ };
723
+ scale.nice = function (interval) {
724
+ var d = domain();
725
+ if (!interval || typeof interval.range !== "function") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);
726
+ return interval ? domain(nice(d, interval)) : scale;
727
+ };
728
+ scale.copy = function () {
729
+ return copy$1(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));
730
+ };
731
+ return scale;
732
+ }
733
+ function time() {
734
+ return initRange.apply(calendar(d3Time.timeTicks, d3Time.timeTickInterval, d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);
735
+ }
736
+ function utcTime() {
737
+ return initRange.apply(calendar(d3Time.utcTicks, d3Time.utcTickInterval, d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);
738
+ }
739
+ function transformer$1() {
740
+ var x0 = 0,
741
+ x1 = 1,
742
+ t0,
743
+ t1,
744
+ k10,
745
+ transform,
746
+ interpolator = identity$1,
747
+ clamp = false,
748
+ unknown;
749
+ function scale(x) {
750
+ return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));
751
+ }
752
+ scale.domain = function (_) {
753
+ return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];
754
+ };
755
+ scale.clamp = function (_) {
756
+ return arguments.length ? (clamp = !!_, scale) : clamp;
757
+ };
758
+ scale.interpolator = function (_) {
759
+ return arguments.length ? (interpolator = _, scale) : interpolator;
760
+ };
761
+ function range(interpolate) {
762
+ return function (_) {
763
+ var r0, r1;
764
+ return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];
765
+ };
766
+ }
767
+ scale.range = range(d3Interpolate.interpolate);
768
+ scale.rangeRound = range(d3Interpolate.interpolateRound);
769
+ scale.unknown = function (_) {
770
+ return arguments.length ? (unknown = _, scale) : unknown;
771
+ };
772
+ return function (t) {
773
+ transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);
774
+ return scale;
775
+ };
776
+ }
777
+ function copy(source, target) {
778
+ return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown());
779
+ }
780
+ function sequential() {
781
+ var scale = linearish(transformer$1()(identity$1));
782
+ scale.copy = function () {
783
+ return copy(scale, sequential());
784
+ };
785
+ return initInterpolator.apply(scale, arguments);
786
+ }
787
+ function sequentialLog() {
788
+ var scale = loggish(transformer$1()).domain([1, 10]);
789
+ scale.copy = function () {
790
+ return copy(scale, sequentialLog()).base(scale.base());
791
+ };
792
+ return initInterpolator.apply(scale, arguments);
793
+ }
794
+ function sequentialSymlog() {
795
+ var scale = symlogish(transformer$1());
796
+ scale.copy = function () {
797
+ return copy(scale, sequentialSymlog()).constant(scale.constant());
798
+ };
799
+ return initInterpolator.apply(scale, arguments);
800
+ }
801
+ function sequentialPow() {
802
+ var scale = powish(transformer$1());
803
+ scale.copy = function () {
804
+ return copy(scale, sequentialPow()).exponent(scale.exponent());
805
+ };
806
+ return initInterpolator.apply(scale, arguments);
807
+ }
808
+ function sequentialSqrt() {
809
+ return sequentialPow.apply(null, arguments).exponent(0.5);
810
+ }
811
+ function sequentialQuantile() {
812
+ var domain = [],
813
+ interpolator = identity$1;
814
+ function scale(x) {
815
+ if (x != null && !isNaN(x = +x)) return interpolator((d3Array.bisect(domain, x, 1) - 1) / (domain.length - 1));
816
+ }
817
+ scale.domain = function (_) {
818
+ if (!arguments.length) return domain.slice();
819
+ domain = [];
820
+ for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);
821
+ domain.sort(d3Array.ascending);
822
+ return scale;
823
+ };
824
+ scale.interpolator = function (_) {
825
+ return arguments.length ? (interpolator = _, scale) : interpolator;
826
+ };
827
+ scale.range = function () {
828
+ return domain.map((d, i) => interpolator(i / (domain.length - 1)));
829
+ };
830
+ scale.quantiles = function (n) {
831
+ return Array.from({
832
+ length: n + 1
833
+ }, (_, i) => d3Array.quantile(domain, i / n));
834
+ };
835
+ scale.copy = function () {
836
+ return sequentialQuantile(interpolator).domain(domain);
837
+ };
838
+ return initInterpolator.apply(scale, arguments);
839
+ }
840
+ function transformer() {
841
+ var x0 = 0,
842
+ x1 = 0.5,
843
+ x2 = 1,
844
+ s = 1,
845
+ t0,
846
+ t1,
847
+ t2,
848
+ k10,
849
+ k21,
850
+ interpolator = identity$1,
851
+ transform,
852
+ clamp = false,
853
+ unknown;
854
+ function scale(x) {
855
+ return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));
856
+ }
857
+ scale.domain = function (_) {
858
+ return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];
859
+ };
860
+ scale.clamp = function (_) {
861
+ return arguments.length ? (clamp = !!_, scale) : clamp;
862
+ };
863
+ scale.interpolator = function (_) {
864
+ return arguments.length ? (interpolator = _, scale) : interpolator;
865
+ };
866
+ function range(interpolate) {
867
+ return function (_) {
868
+ var r0, r1, r2;
869
+ return arguments.length ? ([r0, r1, r2] = _, interpolator = d3Interpolate.piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];
870
+ };
871
+ }
872
+ scale.range = range(d3Interpolate.interpolate);
873
+ scale.rangeRound = range(d3Interpolate.interpolateRound);
874
+ scale.unknown = function (_) {
875
+ return arguments.length ? (unknown = _, scale) : unknown;
876
+ };
877
+ return function (t) {
878
+ transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;
879
+ return scale;
880
+ };
881
+ }
882
+ function diverging() {
883
+ var scale = linearish(transformer()(identity$1));
884
+ scale.copy = function () {
885
+ return copy(scale, diverging());
886
+ };
887
+ return initInterpolator.apply(scale, arguments);
888
+ }
889
+ function divergingLog() {
890
+ var scale = loggish(transformer()).domain([0.1, 1, 10]);
891
+ scale.copy = function () {
892
+ return copy(scale, divergingLog()).base(scale.base());
893
+ };
894
+ return initInterpolator.apply(scale, arguments);
895
+ }
896
+ function divergingSymlog() {
897
+ var scale = symlogish(transformer());
898
+ scale.copy = function () {
899
+ return copy(scale, divergingSymlog()).constant(scale.constant());
900
+ };
901
+ return initInterpolator.apply(scale, arguments);
902
+ }
903
+ function divergingPow() {
904
+ var scale = powish(transformer());
905
+ scale.copy = function () {
906
+ return copy(scale, divergingPow()).exponent(scale.exponent());
907
+ };
908
+ return initInterpolator.apply(scale, arguments);
909
+ }
910
+ function divergingSqrt() {
911
+ return divergingPow.apply(null, arguments).exponent(0.5);
912
+ }
913
+ exports.scaleBand = band;
914
+ exports.scaleDiverging = diverging;
915
+ exports.scaleDivergingLog = divergingLog;
916
+ exports.scaleDivergingPow = divergingPow;
917
+ exports.scaleDivergingSqrt = divergingSqrt;
918
+ exports.scaleDivergingSymlog = divergingSymlog;
919
+ exports.scaleIdentity = identity;
920
+ exports.scaleImplicit = implicit;
921
+ exports.scaleLinear = linear;
922
+ exports.scaleLog = log;
923
+ exports.scaleOrdinal = ordinal;
924
+ exports.scalePoint = point;
925
+ exports.scalePow = pow;
926
+ exports.scaleQuantile = quantile;
927
+ exports.scaleQuantize = quantize;
928
+ exports.scaleRadial = radial;
929
+ exports.scaleSequential = sequential;
930
+ exports.scaleSequentialLog = sequentialLog;
931
+ exports.scaleSequentialPow = sequentialPow;
932
+ exports.scaleSequentialQuantile = sequentialQuantile;
933
+ exports.scaleSequentialSqrt = sequentialSqrt;
934
+ exports.scaleSequentialSymlog = sequentialSymlog;
935
+ exports.scaleSqrt = sqrt;
936
+ exports.scaleSymlog = symlog;
937
+ exports.scaleThreshold = threshold;
938
+ exports.scaleTime = time;
939
+ exports.scaleUtc = utcTime;
940
+ exports.tickFormat = tickFormat;
941
+ Object.defineProperty(exports, '__esModule', {
942
+ value: true
943
+ });
944
+ });