victory-core 36.4.1 → 36.5.2

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 (368) hide show
  1. package/dist/victory-core.js +14463 -11478
  2. package/dist/victory-core.min.js +1 -1
  3. package/dist/victory-core.min.js.LICENSE.txt +19 -0
  4. package/es/index.d.ts +18 -941
  5. package/es/index.js +18 -73
  6. package/es/types/callbacks.d.ts +37 -0
  7. package/es/types/callbacks.js +2 -0
  8. package/es/types/prop-types.d.ts +130 -0
  9. package/es/types/prop-types.js +2 -0
  10. package/es/victory-accessible-group/victory-accessible-group.d.ts +26 -0
  11. package/es/victory-accessible-group/victory-accessible-group.js +9 -16
  12. package/es/victory-animation/util.d.ts +67 -0
  13. package/es/victory-animation/util.js +7 -4
  14. package/es/victory-animation/victory-animation.d.ts +70 -0
  15. package/es/victory-animation/victory-animation.js +60 -67
  16. package/es/victory-clip-container/victory-clip-container.d.ts +77 -0
  17. package/es/victory-clip-container/victory-clip-container.js +16 -21
  18. package/es/victory-container/victory-container.d.ts +100 -0
  19. package/es/victory-container/victory-container.js +32 -31
  20. package/es/victory-label/victory-label.d.ts +62 -0
  21. package/es/victory-label/victory-label.js +14 -9
  22. package/es/victory-portal/portal-context.d.ts +12 -0
  23. package/es/victory-portal/portal-context.js +3 -3
  24. package/es/victory-portal/portal.d.ts +29 -0
  25. package/es/victory-portal/portal.js +26 -33
  26. package/es/victory-portal/victory-portal.d.ts +32 -0
  27. package/es/victory-portal/victory-portal.js +24 -22
  28. package/es/victory-primitives/arc.d.ts +50 -0
  29. package/es/victory-primitives/arc.js +4 -5
  30. package/es/victory-primitives/background.d.ts +51 -0
  31. package/es/victory-primitives/background.js +5 -6
  32. package/es/victory-primitives/border.d.ts +44 -0
  33. package/es/victory-primitives/border.js +4 -5
  34. package/es/victory-primitives/circle.d.ts +3 -0
  35. package/es/victory-primitives/circle.js +11 -7
  36. package/es/victory-primitives/clip-path.d.ts +15 -0
  37. package/es/victory-primitives/clip-path.js +6 -5
  38. package/es/victory-primitives/index.d.ts +15 -0
  39. package/es/victory-primitives/index.js +15 -0
  40. package/es/victory-primitives/line-segment.d.ts +46 -0
  41. package/es/victory-primitives/line-segment.js +4 -5
  42. package/es/victory-primitives/line.d.ts +3 -0
  43. package/es/victory-primitives/line.js +11 -7
  44. package/es/victory-primitives/path.d.ts +3 -0
  45. package/es/victory-primitives/path.js +9 -5
  46. package/es/victory-primitives/point.d.ts +49 -0
  47. package/es/victory-primitives/point.js +10 -19
  48. package/es/victory-primitives/rect.d.ts +3 -0
  49. package/es/victory-primitives/rect.js +11 -7
  50. package/es/victory-primitives/text.d.ts +17 -0
  51. package/es/victory-primitives/text.js +7 -5
  52. package/es/victory-primitives/tspan.d.ts +3 -0
  53. package/es/victory-primitives/tspan.js +7 -5
  54. package/es/victory-primitives/types.d.ts +8 -0
  55. package/es/victory-primitives/types.js +2 -0
  56. package/es/victory-primitives/whisker.d.ts +59 -0
  57. package/es/victory-primitives/whisker.js +4 -5
  58. package/es/victory-state/defaults.d.ts +3 -0
  59. package/es/victory-state/defaults.js +3 -0
  60. package/es/victory-state/helpers/get-axis-data.d.ts +3 -0
  61. package/es/victory-state/helpers/get-axis-data.js +15 -0
  62. package/es/victory-state/helpers/get-data.d.ts +15 -0
  63. package/es/victory-state/helpers/get-data.js +88 -0
  64. package/es/victory-state/helpers/get-domain.d.ts +6 -0
  65. package/es/victory-state/helpers/get-domain.js +68 -0
  66. package/es/victory-state/helpers/get-range.d.ts +6 -0
  67. package/es/victory-state/helpers/get-range.js +37 -0
  68. package/es/victory-state/helpers/get-scale.d.ts +6 -0
  69. package/es/victory-state/helpers/get-scale.js +59 -0
  70. package/es/victory-state/index.d.ts +3 -0
  71. package/es/victory-state/index.js +3 -0
  72. package/es/victory-state/types.d.ts +24 -0
  73. package/es/victory-state/types.js +2 -0
  74. package/es/victory-state/victory-provider.d.ts +19 -0
  75. package/es/victory-state/victory-provider.js +118 -0
  76. package/es/victory-theme/grayscale.d.ts +3 -0
  77. package/es/victory-theme/grayscale.js +3 -2
  78. package/es/victory-theme/material.d.ts +3 -0
  79. package/es/victory-theme/material.js +3 -2
  80. package/es/victory-theme/types.d.ts +239 -0
  81. package/es/victory-theme/types.js +2 -0
  82. package/es/victory-theme/victory-theme.d.ts +6 -0
  83. package/es/victory-theme/victory-theme.js +8 -6
  84. package/es/victory-transition/victory-transition.d.ts +60 -0
  85. package/es/victory-transition/victory-transition.js +20 -23
  86. package/es/victory-util/add-events.d.ts +106 -0
  87. package/es/victory-util/add-events.js +44 -34
  88. package/es/victory-util/axis.d.ts +51 -0
  89. package/es/victory-util/axis.js +9 -8
  90. package/es/victory-util/collection.d.ts +9 -0
  91. package/es/victory-util/collection.js +6 -6
  92. package/es/victory-util/common-props.d.ts +84 -0
  93. package/es/victory-util/common-props.js +29 -12
  94. package/es/victory-util/data.d.ts +75 -0
  95. package/es/victory-util/data.js +2 -3
  96. package/es/victory-util/default-transitions.d.ts +5 -0
  97. package/es/victory-util/default-transitions.js +2 -2
  98. package/es/victory-util/domain.d.ts +91 -0
  99. package/es/victory-util/domain.js +6 -4
  100. package/es/victory-util/events.d.ts +65 -0
  101. package/es/victory-util/events.js +13 -8
  102. package/es/victory-util/helpers.d.ts +61 -0
  103. package/es/victory-util/helpers.js +8 -6
  104. package/es/victory-util/hooks/index.d.ts +3 -0
  105. package/es/victory-util/hooks/index.js +2 -1
  106. package/es/victory-util/hooks/use-animation-state.js +2 -1
  107. package/es/victory-util/hooks/use-previous-props.d.ts +2 -0
  108. package/es/victory-util/hooks/use-previous-props.js +4 -3
  109. package/es/victory-util/immutable.d.ts +12 -0
  110. package/es/victory-util/immutable.js +5 -5
  111. package/es/victory-util/index.d.ts +29 -0
  112. package/es/victory-util/index.js +48 -0
  113. package/es/victory-util/label-helpers.d.ts +27 -0
  114. package/es/victory-util/label-helpers.js +2 -3
  115. package/es/victory-util/line-helpers.d.ts +5 -0
  116. package/es/victory-util/line-helpers.js +24 -6
  117. package/es/victory-util/log.d.ts +2 -0
  118. package/es/victory-util/log.js +2 -2
  119. package/es/victory-util/point-path-helpers.d.ts +10 -0
  120. package/es/victory-util/point-path-helpers.js +60 -61
  121. package/es/victory-util/prop-types.d.ts +51 -0
  122. package/es/victory-util/prop-types.js +35 -44
  123. package/es/victory-util/scale.d.ts +10 -0
  124. package/es/victory-util/scale.js +14 -6
  125. package/es/victory-util/selection.d.ts +25 -0
  126. package/es/victory-util/selection.js +25 -16
  127. package/es/victory-util/style.d.ts +19 -0
  128. package/es/victory-util/style.js +2 -3
  129. package/es/victory-util/textsize.d.ts +37 -0
  130. package/es/victory-util/textsize.js +9 -6
  131. package/es/victory-util/timer-context.d.ts +12 -0
  132. package/es/victory-util/timer-context.js +2 -1
  133. package/es/victory-util/timer.d.ts +17 -0
  134. package/es/victory-util/timer.js +15 -9
  135. package/es/victory-util/transitions.d.ts +49 -0
  136. package/es/victory-util/transitions.js +5 -4
  137. package/es/victory-util/type-helpers.d.ts +10 -0
  138. package/es/victory-util/type-helpers.js +28 -0
  139. package/es/victory-util/user-props.d.ts +21 -0
  140. package/es/victory-util/user-props.js +6 -5
  141. package/es/victory-util/with-container.d.ts +5 -0
  142. package/es/victory-util/with-container.js +32 -0
  143. package/es/victory-util/wrapper.d.ts +38 -0
  144. package/es/victory-util/wrapper.js +4 -3
  145. package/lib/index.d.ts +18 -941
  146. package/lib/index.js +224 -311
  147. package/lib/types/callbacks.d.ts +37 -0
  148. package/lib/types/callbacks.js +2 -0
  149. package/lib/types/prop-types.d.ts +130 -0
  150. package/lib/types/prop-types.js +2 -0
  151. package/lib/victory-accessible-group/victory-accessible-group.d.ts +26 -0
  152. package/lib/victory-accessible-group/victory-accessible-group.js +10 -15
  153. package/lib/victory-animation/util.d.ts +67 -0
  154. package/lib/victory-animation/util.js +7 -4
  155. package/lib/victory-animation/victory-animation.d.ts +70 -0
  156. package/lib/victory-animation/victory-animation.js +61 -65
  157. package/lib/victory-clip-container/victory-clip-container.d.ts +77 -0
  158. package/lib/victory-clip-container/victory-clip-container.js +20 -22
  159. package/lib/victory-container/victory-container.d.ts +100 -0
  160. package/lib/victory-container/victory-container.js +35 -31
  161. package/lib/victory-label/victory-label.d.ts +62 -0
  162. package/lib/victory-label/victory-label.js +20 -14
  163. package/lib/victory-portal/portal-context.d.ts +12 -0
  164. package/lib/victory-portal/portal-context.js +3 -3
  165. package/lib/victory-portal/portal.d.ts +29 -0
  166. package/lib/victory-portal/portal.js +27 -31
  167. package/lib/victory-portal/victory-portal.d.ts +32 -0
  168. package/lib/victory-portal/victory-portal.js +25 -20
  169. package/lib/victory-primitives/arc.d.ts +50 -0
  170. package/lib/victory-primitives/arc.js +7 -7
  171. package/lib/victory-primitives/background.d.ts +51 -0
  172. package/lib/victory-primitives/background.js +9 -9
  173. package/lib/victory-primitives/border.d.ts +44 -0
  174. package/lib/victory-primitives/border.js +7 -7
  175. package/lib/victory-primitives/circle.d.ts +3 -0
  176. package/lib/victory-primitives/circle.js +12 -6
  177. package/lib/victory-primitives/clip-path.d.ts +15 -0
  178. package/lib/victory-primitives/clip-path.js +7 -4
  179. package/lib/victory-primitives/index.d.ts +15 -0
  180. package/lib/victory-primitives/index.js +188 -0
  181. package/lib/victory-primitives/line-segment.d.ts +46 -0
  182. package/lib/victory-primitives/line-segment.js +7 -7
  183. package/lib/victory-primitives/line.d.ts +3 -0
  184. package/lib/victory-primitives/line.js +12 -6
  185. package/lib/victory-primitives/path.d.ts +3 -0
  186. package/lib/victory-primitives/path.js +10 -4
  187. package/lib/victory-primitives/point.d.ts +49 -0
  188. package/lib/victory-primitives/point.js +15 -22
  189. package/lib/victory-primitives/rect.d.ts +3 -0
  190. package/lib/victory-primitives/rect.js +12 -6
  191. package/lib/victory-primitives/text.d.ts +17 -0
  192. package/lib/victory-primitives/text.js +8 -4
  193. package/lib/victory-primitives/tspan.d.ts +3 -0
  194. package/lib/victory-primitives/tspan.js +8 -4
  195. package/lib/victory-primitives/types.d.ts +8 -0
  196. package/lib/victory-primitives/types.js +2 -0
  197. package/lib/victory-primitives/whisker.d.ts +59 -0
  198. package/lib/victory-primitives/whisker.js +7 -7
  199. package/lib/victory-state/defaults.d.ts +3 -0
  200. package/lib/victory-state/defaults.js +11 -0
  201. package/lib/victory-state/helpers/get-axis-data.d.ts +3 -0
  202. package/lib/victory-state/helpers/get-axis-data.js +23 -0
  203. package/lib/victory-state/helpers/get-data.d.ts +15 -0
  204. package/lib/victory-state/helpers/get-data.js +99 -0
  205. package/lib/victory-state/helpers/get-domain.d.ts +6 -0
  206. package/lib/victory-state/helpers/get-domain.js +82 -0
  207. package/lib/victory-state/helpers/get-range.d.ts +6 -0
  208. package/lib/victory-state/helpers/get-range.js +46 -0
  209. package/lib/victory-state/helpers/get-scale.d.ts +6 -0
  210. package/lib/victory-state/helpers/get-scale.js +74 -0
  211. package/lib/victory-state/index.d.ts +3 -0
  212. package/lib/victory-state/index.js +32 -0
  213. package/lib/victory-state/types.d.ts +24 -0
  214. package/lib/victory-state/types.js +2 -0
  215. package/lib/victory-state/victory-provider.d.ts +19 -0
  216. package/lib/victory-state/victory-provider.js +144 -0
  217. package/lib/victory-theme/grayscale.d.ts +3 -0
  218. package/lib/victory-theme/grayscale.js +4 -3
  219. package/lib/victory-theme/material.d.ts +3 -0
  220. package/lib/victory-theme/material.js +4 -3
  221. package/lib/victory-theme/types.d.ts +239 -0
  222. package/lib/victory-theme/types.js +2 -0
  223. package/lib/victory-theme/victory-theme.d.ts +6 -0
  224. package/lib/victory-theme/victory-theme.js +23 -8
  225. package/lib/victory-transition/victory-transition.d.ts +60 -0
  226. package/lib/victory-transition/victory-transition.js +22 -23
  227. package/lib/victory-util/add-events.d.ts +106 -0
  228. package/lib/victory-util/add-events.js +48 -40
  229. package/lib/victory-util/axis.d.ts +51 -0
  230. package/lib/victory-util/axis.js +8 -6
  231. package/lib/victory-util/collection.d.ts +9 -0
  232. package/lib/victory-util/collection.js +6 -6
  233. package/lib/victory-util/common-props.d.ts +84 -0
  234. package/lib/victory-util/common-props.js +27 -12
  235. package/lib/victory-util/data.d.ts +75 -0
  236. package/lib/victory-util/data.js +2 -1
  237. package/lib/victory-util/default-transitions.d.ts +5 -0
  238. package/lib/victory-util/default-transitions.js +2 -2
  239. package/lib/victory-util/domain.d.ts +91 -0
  240. package/lib/victory-util/domain.js +6 -2
  241. package/lib/victory-util/events.d.ts +65 -0
  242. package/lib/victory-util/events.js +13 -9
  243. package/lib/victory-util/helpers.d.ts +61 -0
  244. package/lib/victory-util/helpers.js +8 -6
  245. package/lib/victory-util/hooks/index.d.ts +3 -0
  246. package/lib/victory-util/hooks/index.js +2 -1
  247. package/lib/victory-util/hooks/use-animation-state.js +2 -1
  248. package/lib/victory-util/hooks/use-previous-props.d.ts +2 -0
  249. package/lib/victory-util/hooks/use-previous-props.js +5 -6
  250. package/lib/victory-util/immutable.d.ts +12 -0
  251. package/lib/victory-util/immutable.js +5 -6
  252. package/lib/victory-util/index.d.ts +29 -0
  253. package/lib/victory-util/index.js +181 -0
  254. package/lib/victory-util/label-helpers.d.ts +27 -0
  255. package/lib/victory-util/label-helpers.js +2 -3
  256. package/lib/victory-util/line-helpers.d.ts +5 -0
  257. package/lib/victory-util/line-helpers.js +28 -7
  258. package/lib/victory-util/log.d.ts +2 -0
  259. package/lib/victory-util/log.js +2 -2
  260. package/lib/victory-util/point-path-helpers.d.ts +10 -0
  261. package/lib/victory-util/point-path-helpers.js +87 -73
  262. package/lib/victory-util/prop-types.d.ts +51 -0
  263. package/lib/victory-util/prop-types.js +36 -44
  264. package/lib/victory-util/scale.d.ts +10 -0
  265. package/lib/victory-util/scale.js +14 -5
  266. package/lib/victory-util/selection.d.ts +25 -0
  267. package/lib/victory-util/selection.js +25 -21
  268. package/lib/victory-util/style.d.ts +19 -0
  269. package/lib/victory-util/style.js +2 -3
  270. package/lib/victory-util/textsize.d.ts +37 -0
  271. package/lib/victory-util/textsize.js +9 -6
  272. package/lib/victory-util/timer-context.d.ts +12 -0
  273. package/lib/victory-util/timer-context.js +2 -1
  274. package/lib/victory-util/timer.d.ts +17 -0
  275. package/lib/victory-util/timer.js +15 -9
  276. package/lib/victory-util/transitions.d.ts +49 -0
  277. package/lib/victory-util/transitions.js +5 -4
  278. package/lib/victory-util/type-helpers.d.ts +10 -0
  279. package/lib/victory-util/type-helpers.js +45 -0
  280. package/lib/victory-util/user-props.d.ts +21 -0
  281. package/lib/victory-util/user-props.js +6 -5
  282. package/lib/victory-util/with-container.d.ts +5 -0
  283. package/lib/victory-util/with-container.js +44 -0
  284. package/lib/victory-util/wrapper.d.ts +38 -0
  285. package/lib/victory-util/wrapper.js +4 -3
  286. package/package.json +4 -4
  287. package/src/index.ts +17 -0
  288. package/src/types/callbacks.ts +53 -0
  289. package/src/types/prop-types.ts +195 -0
  290. package/src/victory-accessible-group/{victory-accessible-group.js → victory-accessible-group.tsx} +13 -6
  291. package/src/victory-animation/{util.js → util.ts} +6 -4
  292. package/src/victory-animation/{victory-animation.js → victory-animation.tsx} +100 -23
  293. package/src/victory-clip-container/{victory-clip-container.js → victory-clip-container.tsx} +52 -28
  294. package/src/victory-container/{victory-container.js → victory-container.tsx} +86 -42
  295. package/src/victory-label/{victory-label.js → victory-label.tsx} +108 -49
  296. package/src/victory-portal/portal-context.ts +14 -0
  297. package/src/victory-portal/{portal.js → portal.tsx} +24 -13
  298. package/src/victory-portal/{victory-portal.js → victory-portal.tsx} +24 -9
  299. package/src/victory-primitives/{arc.js → arc.tsx} +22 -10
  300. package/src/victory-primitives/{background.js → background.tsx} +24 -12
  301. package/src/victory-primitives/{border.js → border.tsx} +19 -10
  302. package/src/victory-primitives/{circle.js → circle.tsx} +4 -3
  303. package/src/victory-primitives/clip-path.tsx +25 -0
  304. package/src/victory-primitives/index.ts +14 -0
  305. package/src/victory-primitives/{line-segment.js → line-segment.tsx} +20 -10
  306. package/src/victory-primitives/{line.js → line.tsx} +4 -3
  307. package/src/victory-primitives/{path.js → path.tsx} +4 -3
  308. package/src/victory-primitives/{point.js → point.tsx} +33 -26
  309. package/src/victory-primitives/{rect.js → rect.tsx} +4 -2
  310. package/src/victory-primitives/{text.js → text.tsx} +10 -4
  311. package/src/victory-primitives/tspan.tsx +7 -0
  312. package/src/victory-primitives/types.ts +19 -0
  313. package/src/victory-primitives/{whisker.js → whisker.tsx} +34 -19
  314. package/src/victory-state/defaults.ts +2 -0
  315. package/src/victory-state/helpers/get-axis-data.ts +14 -0
  316. package/src/victory-state/helpers/get-data.ts +79 -0
  317. package/src/victory-state/helpers/get-domain.ts +62 -0
  318. package/src/victory-state/helpers/get-range.ts +39 -0
  319. package/src/victory-state/helpers/get-scale.ts +64 -0
  320. package/src/victory-state/index.ts +2 -0
  321. package/src/victory-state/types.ts +32 -0
  322. package/src/victory-state/victory-provider.tsx +116 -0
  323. package/src/victory-theme/{grayscale.js → grayscale.tsx} +63 -62
  324. package/src/victory-theme/{material.js → material.tsx} +68 -67
  325. package/src/victory-theme/types.ts +257 -0
  326. package/src/victory-theme/victory-theme.tsx +5 -0
  327. package/src/victory-transition/{victory-transition.js → victory-transition.tsx} +82 -33
  328. package/src/victory-util/{add-events.js → add-events.tsx} +142 -60
  329. package/src/victory-util/{axis.js → axis.tsx} +17 -19
  330. package/src/victory-util/{collection.js → collection.tsx} +14 -11
  331. package/src/victory-util/common-props.tsx +307 -0
  332. package/src/victory-util/{data.js → data.ts} +14 -11
  333. package/src/victory-util/{default-transitions.js → default-transitions.ts} +20 -19
  334. package/src/victory-util/{domain.js → domain.ts} +26 -24
  335. package/src/victory-util/{events.js → events.ts} +83 -32
  336. package/src/victory-util/{helpers.js → helpers.ts} +41 -23
  337. package/src/victory-util/hooks/{index.js → index.ts} +0 -0
  338. package/src/victory-util/hooks/use-animation-state.js +10 -10
  339. package/src/victory-util/hooks/use-previous-props.ts +9 -0
  340. package/src/victory-util/{immutable.js → immutable.ts} +14 -11
  341. package/src/victory-util/index.ts +28 -0
  342. package/src/victory-util/{label-helpers.js → label-helpers.ts} +7 -8
  343. package/src/victory-util/line-helpers.ts +104 -0
  344. package/src/victory-util/{log.js → log.ts} +1 -2
  345. package/src/victory-util/point-path-helpers.ts +119 -0
  346. package/src/victory-util/{prop-types.js → prop-types.ts} +103 -102
  347. package/src/victory-util/{scale.js → scale.ts} +29 -17
  348. package/src/victory-util/selection.ts +158 -0
  349. package/src/victory-util/{style.js → style.ts} +3 -4
  350. package/src/victory-util/{textsize.js → textsize.ts} +32 -17
  351. package/src/victory-util/{timer-context.js → timer-context.ts} +1 -1
  352. package/src/victory-util/{timer.js → timer.ts} +16 -6
  353. package/src/victory-util/{transitions.js → transitions.ts} +50 -23
  354. package/src/victory-util/type-helpers.ts +50 -0
  355. package/src/victory-util/{user-props.js → user-props.ts} +16 -11
  356. package/src/victory-util/with-container.tsx +41 -0
  357. package/src/victory-util/{wrapper.js → wrapper.tsx} +38 -34
  358. package/src/index.d.ts +0 -941
  359. package/src/index.js +0 -51
  360. package/src/victory-portal/portal-context.js +0 -10
  361. package/src/victory-primitives/clip-path.js +0 -18
  362. package/src/victory-primitives/tspan.js +0 -5
  363. package/src/victory-theme/victory-theme.js +0 -7
  364. package/src/victory-util/common-props.js +0 -197
  365. package/src/victory-util/hooks/use-previous-props.js +0 -9
  366. package/src/victory-util/line-helpers.js +0 -54
  367. package/src/victory-util/point-path-helpers.js +0 -121
  368. package/src/victory-util/selection.js +0 -99
@@ -1,4 +1,3 @@
1
- /* eslint-disable func-style */
2
1
  import {
3
2
  assign,
4
3
  defaults,
@@ -8,7 +7,7 @@ import {
8
7
  groupBy,
9
8
  uniqBy,
10
9
  values,
11
- isPlainObject
10
+ isPlainObject,
12
11
  } from "lodash";
13
12
  import React from "react";
14
13
  import * as Axis from "./axis";
@@ -25,7 +24,7 @@ export function addBinsToParentPropsIfHistogram({
25
24
  children,
26
25
  props,
27
26
  childComponents,
28
- parentProps
27
+ parentProps,
29
28
  }) {
30
29
  const someChildrenAreHistograms = children.some((child) => {
31
30
  return child.type && child.type.role === "histogram";
@@ -40,7 +39,7 @@ export function addBinsToParentPropsIfHistogram({
40
39
 
41
40
  if (someChildrenAreHistograms && !allChildrenAreHistograms) {
42
41
  Log.warn(
43
- "VictoryHistogram only supports being stacked with other VictoryHistogram components. Check to make sure that you are only passing VictoryHistogram components to VictoryStack"
42
+ "VictoryHistogram only supports being stacked with other VictoryHistogram components. Check to make sure that you are only passing VictoryHistogram components to VictoryStack",
44
43
  );
45
44
  }
46
45
 
@@ -57,7 +56,7 @@ export function addBinsToParentPropsIfHistogram({
57
56
  const combinedData = children.reduce((memo, child) => {
58
57
  const xAccessor = Helpers.createAccessor(child.props.x || "x");
59
58
  return memo.concat(
60
- child.props.data.map((datum) => ({ x: xAccessor(datum) }))
59
+ child.props.data.map((datum) => ({ x: xAccessor(datum) })),
61
60
  );
62
61
  }, []);
63
62
 
@@ -66,11 +65,11 @@ export function addBinsToParentPropsIfHistogram({
66
65
  const getFormattedHistogramData = children[0].type.getFormattedData;
67
66
  childBins = getFormattedHistogramData({
68
67
  data: combinedData,
69
- bins: childBins
68
+ bins: childBins,
70
69
  }).reduce(
71
70
  (memo, { x0, x1 }, index) =>
72
71
  index === 0 ? memo.concat([x0, x1]) : memo.concat(x1),
73
- []
72
+ [],
74
73
  );
75
74
  }
76
75
 
@@ -86,7 +85,7 @@ export function getDataFromChildren(props, childComponents) {
86
85
  endAngle,
87
86
  categories,
88
87
  minDomain,
89
- maxDomain
88
+ maxDomain,
90
89
  };
91
90
  let stack = 0;
92
91
  const children = childComponents
@@ -97,7 +96,7 @@ export function getDataFromChildren(props, childComponents) {
97
96
  children,
98
97
  props,
99
98
  childComponents,
100
- parentProps
99
+ parentProps,
101
100
  });
102
101
 
103
102
  const iteratee = (child, childName, parent) => {
@@ -113,12 +112,12 @@ export function getDataFromChildren(props, childComponents) {
113
112
  }
114
113
  stack += 1;
115
114
  return childData.map((datum, index) =>
116
- assign({ _stack: stack, _group: index }, datum)
115
+ assign({ _stack: stack, _group: index }, datum),
117
116
  );
118
117
  };
119
118
 
120
119
  const stacked = children.filter(
121
- (c) => c.type && c.type.role === "stack"
120
+ (c) => c.type && c.type.role === "stack",
122
121
  ).length;
123
122
  const combine = (memo, val) => memo.concat(uniqBy(val, "_group"));
124
123
  const datasets = Helpers.reduceChildren(
@@ -126,7 +125,7 @@ export function getDataFromChildren(props, childComponents) {
126
125
  iteratee,
127
126
  props,
128
127
  [],
129
- combine
128
+ combine,
130
129
  );
131
130
  const group = stacked ? "_group" : "_stack";
132
131
  return values(groupBy(datasets, group));
@@ -137,10 +136,10 @@ export function getData(props, childComponents) {
137
136
  return Data.getData(props);
138
137
  }
139
138
  childComponents = childComponents || React.Children.toArray(props.children);
140
- return getDataFromChildren(childComponents);
139
+ return getDataFromChildren(props, childComponents);
141
140
  }
142
141
 
143
- export function getWidth(props, groupLength, seriesLength) {
142
+ export function getWidth(props, groupLength?, seriesLength?) {
144
143
  const { datasets, horizontal } = props;
145
144
  const range = horizontal
146
145
  ? Helpers.getRange(props, "y")
@@ -191,7 +190,7 @@ export function getDefaultDomainPadding(props, axis, childComponents) {
191
190
  return {
192
191
  x:
193
192
  (width * children.length) / 2 +
194
- (offset - width * ((children.length - 1) / 2))
193
+ (offset - width * ((children.length - 1) / 2)),
195
194
  };
196
195
  }
197
196
 
@@ -200,7 +199,7 @@ export function getDomainFromChildren(props, axis, childComponents) {
200
199
  const children = childComponents
201
200
  ? childComponents.slice(0)
202
201
  : React.Children.toArray(props.children);
203
- const parentData = props.data ? Data.getData(props, axis) : undefined;
202
+ const parentData = props.data ? Data.getData(props) : undefined;
204
203
  const {
205
204
  polar,
206
205
  startAngle,
@@ -208,7 +207,7 @@ export function getDomainFromChildren(props, axis, childComponents) {
208
207
  categories,
209
208
  minDomain,
210
209
  maxDomain,
211
- horizontal
210
+ horizontal,
212
211
  } = props;
213
212
  const baseParentProps = {
214
213
  horizontal,
@@ -217,7 +216,7 @@ export function getDomainFromChildren(props, axis, childComponents) {
217
216
  endAngle,
218
217
  minDomain,
219
218
  maxDomain,
220
- categories
219
+ categories,
221
220
  };
222
221
  const parentProps = parentData
223
222
  ? assign(baseParentProps, { data: parentData })
@@ -256,7 +255,7 @@ export function getDomain(props, axis, childComponents) {
256
255
  const maxDomain = Domain.getMaxFromProps(props, axis);
257
256
  const dataset = (props.data || props.y) && Data.getData(props);
258
257
  const dataDomain = dataset
259
- ? Domain.getDomainFromData(props, axis, dataset)
258
+ ? Domain.getDomainFromData(props, axis, dataset)!
260
259
  : [];
261
260
  const childDomain = getDomainFromChildren(props, axis, childComponents);
262
261
  const min =
@@ -268,7 +267,7 @@ export function getDomain(props, axis, childComponents) {
268
267
  return Domain.formatDomain(domain, assign({ domainPadding }, props), axis);
269
268
  }
270
269
 
271
- export function getScale(props, axis, childComponents) {
270
+ export function getScale(props, axis, childComponents?) {
272
271
  if (props.data) {
273
272
  return Scale.getBaseScale(props, axis);
274
273
  }
@@ -277,13 +276,15 @@ export function getScale(props, axis, childComponents) {
277
276
  : React.Children.toArray(props.children);
278
277
  const iteratee = (child) => {
279
278
  const sharedProps = assign({}, child.props, {
280
- horizontal: props.horizontal
279
+ horizontal: props.horizontal,
281
280
  });
282
281
  return Scale.getScaleType(sharedProps, axis);
283
282
  };
284
- const childScale = uniq(Helpers.reduceChildren(children, iteratee, props));
285
- // default to linear scale if more than one uniq scale type is given by children
283
+ const childScale: string[] = uniq(
284
+ Helpers.reduceChildren(children, iteratee, props),
285
+ );
286
286
 
287
+ // default to linear scale if more than one uniq scale type is given by children
287
288
  return childScale.length > 1
288
289
  ? Scale.getScaleFromName("linear")
289
290
  : Scale.getScaleFromName(childScale[0]);
@@ -344,13 +345,13 @@ export function getChildStyle(child, index, calculatedProps) {
344
345
  const dataStyle = defaults(
345
346
  {},
346
347
  childStyle.data,
347
- assign({}, dataWidth, style.data, defaultColor)
348
+ assign({}, dataWidth, style.data, defaultColor),
348
349
  );
349
350
  const labelsStyle = defaults({}, childStyle.labels, style.labels);
350
351
  return {
351
352
  parent: style.parent,
352
353
  data: dataStyle,
353
- labels: labelsStyle
354
+ labels: labelsStyle,
354
355
  };
355
356
  }
356
357
 
@@ -386,8 +387,11 @@ export function getStringsFromData(childComponents) {
386
387
  return data.map((d) => ({ x: d.xName, y: d.yName }));
387
388
  };
388
389
 
389
- const initialMemo = { x: [], y: [] };
390
- const combine = (memo, datum) => {
390
+ const initialMemo = { x: [] as number[], y: [] as number[] };
391
+ const combine = (
392
+ memo: typeof initialMemo,
393
+ datum: NonNullable<ReturnType<typeof iteratee>>,
394
+ ) => {
391
395
  const x = Array.isArray(datum)
392
396
  ? datum.map((d) => d.x).filter(Boolean)
393
397
  : datum.x;
@@ -396,7 +400,7 @@ export function getStringsFromData(childComponents) {
396
400
  : datum.y;
397
401
  return {
398
402
  x: x !== undefined ? memo.x.concat(x) : memo.x,
399
- y: y !== undefined ? memo.y.concat(y) : memo.y
403
+ y: y !== undefined ? memo.y.concat(y) : memo.y,
400
404
  };
401
405
  };
402
406
  return Helpers.reduceChildren(
@@ -404,14 +408,14 @@ export function getStringsFromData(childComponents) {
404
408
  iteratee,
405
409
  {},
406
410
  initialMemo,
407
- combine
411
+ combine,
408
412
  );
409
413
  }
410
414
 
411
415
  export function getCategoryAndAxisStringsFromChildren(
412
416
  props,
413
417
  axis,
414
- childComponents
418
+ childComponents,
415
419
  ) {
416
420
  const categories = isPlainObject(props.categories)
417
421
  ? props.categories[axis]
@@ -431,19 +435,19 @@ export function getStringsFromChildren(props, childComponents) {
431
435
  const xStrings = getCategoryAndAxisStringsFromChildren(
432
436
  props,
433
437
  "x",
434
- childComponents
438
+ childComponents,
435
439
  );
436
440
  const yStrings = getCategoryAndAxisStringsFromChildren(
437
441
  props,
438
442
  "y",
439
- childComponents
443
+ childComponents,
440
444
  );
441
445
 
442
446
  const dataStrings = getStringsFromData(childComponents);
443
447
 
444
448
  return {
445
449
  x: uniq(flatten([...xStrings, ...dataStrings.x])),
446
- y: uniq(flatten([...yStrings, ...dataStrings.y]))
450
+ y: uniq(flatten([...yStrings, ...dataStrings.y])),
447
451
  };
448
452
  }
449
453
 
@@ -469,6 +473,6 @@ export function getCategories(props, childComponents, allStrings) {
469
473
 
470
474
  return {
471
475
  x: xCategories.length > 0 ? xCategories : undefined,
472
- y: yCategories.length > 0 ? yCategories : undefined
476
+ y: yCategories.length > 0 ? yCategories : undefined,
473
477
  };
474
478
  }