victory-core 36.5.0 → 36.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/dist/victory-core.js +13817 -10827
  2. package/dist/victory-core.min.js +1 -1
  3. package/es/index.d.ts +7 -27
  4. package/es/index.js +7 -53
  5. package/es/{types.d.ts → types/callbacks.d.ts} +12 -8
  6. package/es/types/callbacks.js +2 -0
  7. package/es/types/prop-types.d.ts +130 -0
  8. package/es/types/prop-types.js +2 -0
  9. package/es/victory-accessible-group/victory-accessible-group.d.ts +1 -0
  10. package/es/victory-accessible-group/victory-accessible-group.js +2 -1
  11. package/es/victory-animation/util.d.ts +2 -1
  12. package/es/victory-animation/util.js +6 -4
  13. package/es/victory-animation/victory-animation.d.ts +1 -0
  14. package/es/victory-animation/victory-animation.js +2 -1
  15. package/es/victory-clip-container/victory-clip-container.d.ts +6 -5
  16. package/es/victory-clip-container/victory-clip-container.js +2 -1
  17. package/es/victory-container/victory-container.d.ts +8 -7
  18. package/es/victory-container/victory-container.js +2 -1
  19. package/es/victory-label/victory-label.d.ts +3 -2
  20. package/es/victory-label/victory-label.js +4 -4
  21. package/es/victory-portal/portal-context.d.ts +1 -0
  22. package/es/victory-portal/portal-context.js +2 -1
  23. package/es/victory-portal/portal.d.ts +3 -2
  24. package/es/victory-portal/portal.js +2 -1
  25. package/es/victory-portal/victory-portal.d.ts +1 -0
  26. package/es/victory-portal/victory-portal.js +2 -1
  27. package/es/victory-primitives/arc.d.ts +31 -2
  28. package/es/victory-primitives/arc.js +3 -2
  29. package/es/victory-primitives/background.d.ts +31 -2
  30. package/es/victory-primitives/background.js +3 -2
  31. package/es/victory-primitives/border.d.ts +28 -2
  32. package/es/victory-primitives/border.js +3 -2
  33. package/es/victory-primitives/circle.d.ts +1 -0
  34. package/es/victory-primitives/circle.js +2 -1
  35. package/es/victory-primitives/clip-path.d.ts +2 -1
  36. package/es/victory-primitives/clip-path.js +2 -1
  37. package/es/victory-primitives/index.d.ts +1 -0
  38. package/es/victory-primitives/index.js +2 -1
  39. package/es/victory-primitives/line-segment.d.ts +29 -2
  40. package/es/victory-primitives/line-segment.js +3 -2
  41. package/es/victory-primitives/line.d.ts +1 -0
  42. package/es/victory-primitives/line.js +2 -1
  43. package/es/victory-primitives/path.d.ts +1 -0
  44. package/es/victory-primitives/path.js +2 -1
  45. package/es/victory-primitives/point.d.ts +30 -2
  46. package/es/victory-primitives/point.js +3 -2
  47. package/es/victory-primitives/rect.d.ts +1 -0
  48. package/es/victory-primitives/rect.js +2 -1
  49. package/es/victory-primitives/text.d.ts +2 -1
  50. package/es/victory-primitives/text.js +2 -1
  51. package/es/victory-primitives/tspan.d.ts +2 -1
  52. package/es/victory-primitives/tspan.js +2 -1
  53. package/es/victory-primitives/types.d.ts +2 -1
  54. package/es/victory-primitives/types.js +2 -1
  55. package/es/victory-primitives/whisker.d.ts +37 -2
  56. package/es/victory-primitives/whisker.js +3 -2
  57. package/es/victory-state/defaults.d.ts +3 -0
  58. package/es/victory-state/defaults.js +3 -0
  59. package/es/victory-state/helpers/get-axis-data.d.ts +3 -0
  60. package/es/victory-state/helpers/get-axis-data.js +15 -0
  61. package/es/victory-state/helpers/get-data.d.ts +15 -0
  62. package/es/victory-state/helpers/get-data.js +88 -0
  63. package/es/victory-state/helpers/get-domain.d.ts +6 -0
  64. package/es/victory-state/helpers/get-domain.js +68 -0
  65. package/es/victory-state/helpers/get-range.d.ts +6 -0
  66. package/es/victory-state/helpers/get-range.js +37 -0
  67. package/es/victory-state/helpers/get-scale.d.ts +6 -0
  68. package/es/victory-state/helpers/get-scale.js +59 -0
  69. package/es/victory-state/index.d.ts +3 -0
  70. package/es/victory-state/index.js +3 -0
  71. package/es/victory-state/types.d.ts +24 -0
  72. package/es/victory-state/types.js +2 -0
  73. package/es/victory-state/victory-provider.d.ts +19 -0
  74. package/es/victory-state/victory-provider.js +118 -0
  75. package/es/victory-theme/grayscale.d.ts +2 -1
  76. package/es/victory-theme/grayscale.js +2 -1
  77. package/es/victory-theme/material.d.ts +2 -1
  78. package/es/victory-theme/material.js +2 -1
  79. package/{lib/victory-theme/victory-theme-definition.d.ts → es/victory-theme/types.d.ts} +3 -8
  80. package/es/victory-theme/types.js +2 -0
  81. package/es/victory-theme/victory-theme.d.ts +4 -3
  82. package/es/victory-theme/victory-theme.js +3 -2
  83. package/es/victory-transition/victory-transition.d.ts +1 -0
  84. package/es/victory-transition/victory-transition.js +2 -1
  85. package/es/victory-util/add-events.d.ts +106 -0
  86. package/es/victory-util/add-events.js +40 -33
  87. package/es/victory-util/axis.d.ts +51 -0
  88. package/es/victory-util/axis.js +9 -7
  89. package/es/victory-util/collection.d.ts +9 -0
  90. package/es/victory-util/collection.js +6 -4
  91. package/es/victory-util/common-props.d.ts +84 -0
  92. package/es/victory-util/common-props.js +29 -12
  93. package/es/victory-util/data.d.ts +75 -0
  94. package/es/victory-util/data.js +2 -1
  95. package/es/victory-util/default-transitions.d.ts +5 -0
  96. package/es/victory-util/default-transitions.js +2 -1
  97. package/es/victory-util/domain.d.ts +91 -0
  98. package/es/victory-util/domain.js +6 -2
  99. package/es/victory-util/events.d.ts +65 -0
  100. package/es/victory-util/events.js +13 -8
  101. package/es/victory-util/helpers.d.ts +61 -0
  102. package/es/victory-util/helpers.js +8 -4
  103. package/es/victory-util/hooks/index.d.ts +3 -0
  104. package/es/victory-util/hooks/index.js +2 -1
  105. package/es/victory-util/hooks/use-animation-state.js +4 -3
  106. package/es/victory-util/hooks/use-previous-props.d.ts +2 -0
  107. package/es/victory-util/hooks/use-previous-props.js +4 -3
  108. package/es/victory-util/immutable.d.ts +12 -0
  109. package/es/victory-util/immutable.js +5 -4
  110. package/es/victory-util/index.d.ts +29 -0
  111. package/es/victory-util/index.js +48 -0
  112. package/es/victory-util/label-helpers.d.ts +27 -0
  113. package/es/victory-util/label-helpers.js +2 -1
  114. package/es/victory-util/line-helpers.d.ts +5 -0
  115. package/es/victory-util/line-helpers.js +24 -6
  116. package/es/victory-util/log.d.ts +2 -0
  117. package/es/victory-util/log.js +2 -1
  118. package/es/victory-util/point-path-helpers.d.ts +1 -0
  119. package/es/victory-util/point-path-helpers.js +2 -1
  120. package/es/victory-util/prop-types.d.ts +51 -0
  121. package/es/victory-util/prop-types.js +35 -44
  122. package/es/victory-util/scale.d.ts +10 -0
  123. package/es/victory-util/scale.js +14 -6
  124. package/es/victory-util/selection.d.ts +25 -23
  125. package/es/victory-util/selection.js +25 -14
  126. package/es/victory-util/style.d.ts +19 -0
  127. package/es/victory-util/style.js +2 -1
  128. package/es/victory-util/textsize.d.ts +37 -8
  129. package/es/victory-util/textsize.js +9 -6
  130. package/es/victory-util/timer-context.d.ts +1 -0
  131. package/es/victory-util/timer-context.js +2 -1
  132. package/es/victory-util/timer.d.ts +3 -2
  133. package/es/victory-util/timer.js +2 -1
  134. package/es/victory-util/transitions.d.ts +49 -0
  135. package/es/victory-util/transitions.js +5 -4
  136. package/es/victory-util/type-helpers.d.ts +10 -0
  137. package/es/victory-util/type-helpers.js +28 -0
  138. package/es/victory-util/user-props.d.ts +21 -0
  139. package/es/victory-util/user-props.js +6 -5
  140. package/es/victory-util/with-container.d.ts +5 -0
  141. package/es/victory-util/with-container.js +32 -0
  142. package/es/victory-util/wrapper.d.ts +38 -0
  143. package/es/victory-util/wrapper.js +4 -3
  144. package/lib/index.d.ts +7 -27
  145. package/lib/index.js +58 -147
  146. package/lib/{types.d.ts → types/callbacks.d.ts} +12 -8
  147. package/lib/types/callbacks.js +2 -0
  148. package/lib/types/prop-types.d.ts +130 -0
  149. package/lib/types/prop-types.js +2 -0
  150. package/lib/victory-accessible-group/victory-accessible-group.d.ts +1 -0
  151. package/lib/victory-accessible-group/victory-accessible-group.js +2 -1
  152. package/lib/victory-animation/util.d.ts +2 -1
  153. package/lib/victory-animation/util.js +6 -4
  154. package/lib/victory-animation/victory-animation.d.ts +1 -0
  155. package/lib/victory-animation/victory-animation.js +2 -1
  156. package/lib/victory-clip-container/victory-clip-container.d.ts +6 -5
  157. package/lib/victory-clip-container/victory-clip-container.js +2 -1
  158. package/lib/victory-container/victory-container.d.ts +8 -7
  159. package/lib/victory-container/victory-container.js +2 -1
  160. package/lib/victory-label/victory-label.d.ts +3 -2
  161. package/lib/victory-label/victory-label.js +4 -4
  162. package/lib/victory-portal/portal-context.d.ts +1 -0
  163. package/lib/victory-portal/portal-context.js +2 -1
  164. package/lib/victory-portal/portal.d.ts +3 -2
  165. package/lib/victory-portal/portal.js +2 -1
  166. package/lib/victory-portal/victory-portal.d.ts +1 -0
  167. package/lib/victory-portal/victory-portal.js +2 -1
  168. package/lib/victory-primitives/arc.d.ts +31 -2
  169. package/lib/victory-primitives/arc.js +4 -3
  170. package/lib/victory-primitives/background.d.ts +31 -2
  171. package/lib/victory-primitives/background.js +4 -3
  172. package/lib/victory-primitives/border.d.ts +28 -2
  173. package/lib/victory-primitives/border.js +4 -3
  174. package/lib/victory-primitives/circle.d.ts +1 -0
  175. package/lib/victory-primitives/circle.js +2 -1
  176. package/lib/victory-primitives/clip-path.d.ts +2 -1
  177. package/lib/victory-primitives/clip-path.js +2 -1
  178. package/lib/victory-primitives/index.d.ts +1 -0
  179. package/lib/victory-primitives/index.js +2 -1
  180. package/lib/victory-primitives/line-segment.d.ts +29 -2
  181. package/lib/victory-primitives/line-segment.js +4 -3
  182. package/lib/victory-primitives/line.d.ts +1 -0
  183. package/lib/victory-primitives/line.js +2 -1
  184. package/lib/victory-primitives/path.d.ts +1 -0
  185. package/lib/victory-primitives/path.js +2 -1
  186. package/lib/victory-primitives/point.d.ts +30 -2
  187. package/lib/victory-primitives/point.js +4 -3
  188. package/lib/victory-primitives/rect.d.ts +1 -0
  189. package/lib/victory-primitives/rect.js +2 -1
  190. package/lib/victory-primitives/text.d.ts +2 -1
  191. package/lib/victory-primitives/text.js +2 -1
  192. package/lib/victory-primitives/tspan.d.ts +2 -1
  193. package/lib/victory-primitives/tspan.js +2 -1
  194. package/lib/victory-primitives/types.d.ts +2 -1
  195. package/lib/victory-primitives/types.js +2 -1
  196. package/lib/victory-primitives/whisker.d.ts +37 -2
  197. package/lib/victory-primitives/whisker.js +4 -3
  198. package/lib/victory-state/defaults.d.ts +3 -0
  199. package/lib/victory-state/defaults.js +11 -0
  200. package/lib/victory-state/helpers/get-axis-data.d.ts +3 -0
  201. package/lib/victory-state/helpers/get-axis-data.js +23 -0
  202. package/lib/victory-state/helpers/get-data.d.ts +15 -0
  203. package/lib/victory-state/helpers/get-data.js +99 -0
  204. package/lib/victory-state/helpers/get-domain.d.ts +6 -0
  205. package/lib/victory-state/helpers/get-domain.js +82 -0
  206. package/lib/victory-state/helpers/get-range.d.ts +6 -0
  207. package/lib/victory-state/helpers/get-range.js +46 -0
  208. package/lib/victory-state/helpers/get-scale.d.ts +6 -0
  209. package/lib/victory-state/helpers/get-scale.js +74 -0
  210. package/lib/victory-state/index.d.ts +3 -0
  211. package/lib/victory-state/index.js +32 -0
  212. package/lib/victory-state/types.d.ts +24 -0
  213. package/lib/victory-state/types.js +2 -0
  214. package/lib/victory-state/victory-provider.d.ts +19 -0
  215. package/lib/victory-state/victory-provider.js +144 -0
  216. package/lib/victory-theme/grayscale.d.ts +2 -1
  217. package/lib/victory-theme/grayscale.js +2 -1
  218. package/lib/victory-theme/material.d.ts +2 -1
  219. package/lib/victory-theme/material.js +2 -1
  220. package/{es/victory-theme/victory-theme-definition.d.ts → lib/victory-theme/types.d.ts} +3 -8
  221. package/lib/victory-theme/types.js +2 -0
  222. package/lib/victory-theme/victory-theme.d.ts +4 -3
  223. package/lib/victory-theme/victory-theme.js +6 -5
  224. package/lib/victory-transition/victory-transition.d.ts +1 -0
  225. package/lib/victory-transition/victory-transition.js +2 -1
  226. package/lib/victory-util/add-events.d.ts +106 -0
  227. package/lib/victory-util/add-events.js +40 -36
  228. package/lib/victory-util/axis.d.ts +51 -0
  229. package/lib/victory-util/axis.js +8 -6
  230. package/lib/victory-util/collection.d.ts +9 -0
  231. package/lib/victory-util/collection.js +6 -4
  232. package/lib/victory-util/common-props.d.ts +84 -0
  233. package/lib/victory-util/common-props.js +27 -12
  234. package/lib/victory-util/data.d.ts +75 -0
  235. package/lib/victory-util/data.js +2 -1
  236. package/lib/victory-util/default-transitions.d.ts +5 -0
  237. package/lib/victory-util/default-transitions.js +2 -1
  238. package/lib/victory-util/domain.d.ts +91 -0
  239. package/lib/victory-util/domain.js +6 -2
  240. package/lib/victory-util/events.d.ts +65 -0
  241. package/lib/victory-util/events.js +13 -9
  242. package/lib/victory-util/helpers.d.ts +61 -0
  243. package/lib/victory-util/helpers.js +8 -4
  244. package/lib/victory-util/hooks/index.d.ts +3 -0
  245. package/lib/victory-util/hooks/index.js +2 -1
  246. package/lib/victory-util/hooks/use-animation-state.js +4 -3
  247. package/lib/victory-util/hooks/use-previous-props.d.ts +2 -0
  248. package/lib/victory-util/hooks/use-previous-props.js +5 -6
  249. package/lib/victory-util/immutable.d.ts +12 -0
  250. package/lib/victory-util/immutable.js +5 -4
  251. package/lib/victory-util/index.d.ts +29 -0
  252. package/lib/victory-util/index.js +181 -0
  253. package/lib/victory-util/label-helpers.d.ts +27 -0
  254. package/lib/victory-util/label-helpers.js +2 -1
  255. package/lib/victory-util/line-helpers.d.ts +5 -0
  256. package/lib/victory-util/line-helpers.js +28 -7
  257. package/lib/victory-util/log.d.ts +2 -0
  258. package/lib/victory-util/log.js +2 -1
  259. package/lib/victory-util/point-path-helpers.d.ts +1 -0
  260. package/lib/victory-util/point-path-helpers.js +2 -1
  261. package/lib/victory-util/prop-types.d.ts +51 -0
  262. package/lib/victory-util/prop-types.js +36 -44
  263. package/lib/victory-util/scale.d.ts +10 -0
  264. package/lib/victory-util/scale.js +14 -5
  265. package/lib/victory-util/selection.d.ts +25 -23
  266. package/lib/victory-util/selection.js +25 -19
  267. package/lib/victory-util/style.d.ts +19 -0
  268. package/lib/victory-util/style.js +2 -1
  269. package/lib/victory-util/textsize.d.ts +37 -8
  270. package/lib/victory-util/textsize.js +9 -6
  271. package/lib/victory-util/timer-context.d.ts +1 -0
  272. package/lib/victory-util/timer-context.js +2 -1
  273. package/lib/victory-util/timer.d.ts +3 -2
  274. package/lib/victory-util/timer.js +2 -1
  275. package/lib/victory-util/transitions.d.ts +49 -0
  276. package/lib/victory-util/transitions.js +5 -4
  277. package/lib/victory-util/type-helpers.d.ts +10 -0
  278. package/lib/victory-util/type-helpers.js +45 -0
  279. package/lib/victory-util/user-props.d.ts +21 -0
  280. package/lib/victory-util/user-props.js +6 -5
  281. package/lib/victory-util/with-container.d.ts +5 -0
  282. package/lib/victory-util/with-container.js +44 -0
  283. package/lib/victory-util/wrapper.d.ts +38 -0
  284. package/lib/victory-util/wrapper.js +4 -3
  285. package/package.json +3 -3
  286. package/src/index.ts +9 -31
  287. package/src/{types.ts → types/callbacks.ts} +21 -13
  288. package/src/types/prop-types.ts +195 -0
  289. package/src/victory-accessible-group/victory-accessible-group.tsx +3 -3
  290. package/src/victory-animation/util.ts +3 -2
  291. package/src/victory-animation/victory-animation.tsx +13 -13
  292. package/src/victory-clip-container/victory-clip-container.tsx +23 -23
  293. package/src/victory-container/victory-container.tsx +19 -19
  294. package/src/victory-label/victory-label.tsx +41 -39
  295. package/src/victory-portal/portal.tsx +1 -1
  296. package/src/victory-portal/victory-portal.tsx +3 -3
  297. package/src/victory-primitives/arc.tsx +8 -6
  298. package/src/victory-primitives/background.tsx +8 -6
  299. package/src/victory-primitives/border.tsx +8 -6
  300. package/src/victory-primitives/clip-path.tsx +3 -3
  301. package/src/victory-primitives/line-segment.tsx +8 -6
  302. package/src/victory-primitives/point.tsx +10 -8
  303. package/src/victory-primitives/text.tsx +2 -2
  304. package/src/victory-primitives/tspan.tsx +1 -1
  305. package/src/victory-primitives/types.ts +1 -1
  306. package/src/victory-primitives/whisker.tsx +15 -13
  307. package/src/victory-state/defaults.ts +2 -0
  308. package/src/victory-state/helpers/get-axis-data.ts +14 -0
  309. package/src/victory-state/helpers/get-data.ts +79 -0
  310. package/src/victory-state/helpers/get-domain.ts +62 -0
  311. package/src/victory-state/helpers/get-range.ts +39 -0
  312. package/src/victory-state/helpers/get-scale.ts +64 -0
  313. package/src/victory-state/index.ts +2 -0
  314. package/src/victory-state/types.ts +32 -0
  315. package/src/victory-state/victory-provider.tsx +116 -0
  316. package/src/victory-theme/grayscale.tsx +62 -62
  317. package/src/victory-theme/material.tsx +67 -67
  318. package/src/victory-theme/{victory-theme-definition.ts → types.ts} +10 -14
  319. package/src/victory-theme/victory-theme.tsx +1 -1
  320. package/src/victory-transition/victory-transition.tsx +19 -19
  321. package/src/victory-util/{add-events.js → add-events.tsx} +136 -59
  322. package/src/victory-util/{axis.js → axis.tsx} +17 -18
  323. package/src/victory-util/{collection.js → collection.tsx} +14 -10
  324. package/src/victory-util/common-props.tsx +307 -0
  325. package/src/victory-util/{data.js → data.ts} +14 -10
  326. package/src/victory-util/{default-transitions.js → default-transitions.ts} +20 -18
  327. package/src/victory-util/{domain.js → domain.ts} +26 -23
  328. package/src/victory-util/{events.js → events.ts} +82 -31
  329. package/src/victory-util/{helpers.js → helpers.ts} +41 -22
  330. package/src/victory-util/hooks/{index.js → index.ts} +0 -0
  331. package/src/victory-util/hooks/use-animation-state.js +12 -12
  332. package/src/victory-util/hooks/use-previous-props.ts +9 -0
  333. package/src/victory-util/{immutable.js → immutable.ts} +14 -10
  334. package/src/victory-util/index.ts +28 -0
  335. package/src/victory-util/{label-helpers.js → label-helpers.ts} +7 -7
  336. package/src/victory-util/line-helpers.ts +104 -0
  337. package/src/victory-util/{log.js → log.ts} +1 -1
  338. package/src/victory-util/{prop-types.js → prop-types.ts} +103 -101
  339. package/src/victory-util/{scale.js → scale.ts} +29 -16
  340. package/src/victory-util/selection.ts +158 -0
  341. package/src/victory-util/{style.js → style.ts} +3 -3
  342. package/src/victory-util/{textsize.js → textsize.ts} +32 -17
  343. package/src/victory-util/timer-context.ts +1 -1
  344. package/src/victory-util/timer.ts +5 -10
  345. package/src/victory-util/{transitions.js → transitions.ts} +50 -22
  346. package/src/victory-util/type-helpers.ts +50 -0
  347. package/src/victory-util/{user-props.js → user-props.ts} +16 -11
  348. package/src/victory-util/with-container.tsx +41 -0
  349. package/src/victory-util/{wrapper.js → wrapper.tsx} +38 -33
  350. package/es/types.js +0 -1
  351. package/es/victory-theme/victory-theme-definition.js +0 -1
  352. package/es/victory-util/types.d.ts +0 -188
  353. package/es/victory-util/types.js +0 -1
  354. package/lib/types.js +0 -1
  355. package/lib/victory-theme/victory-theme-definition.js +0 -1
  356. package/lib/victory-util/types.d.ts +0 -188
  357. package/lib/victory-util/types.js +0 -1
  358. package/src/victory-util/common-props.js +0 -197
  359. package/src/victory-util/hooks/use-previous-props.js +0 -9
  360. package/src/victory-util/line-helpers.js +0 -54
  361. package/src/victory-util/selection.d.ts +0 -23
  362. package/src/victory-util/selection.js +0 -98
  363. package/src/victory-util/textsize.d.ts +0 -8
  364. package/src/victory-util/types.ts +0 -247
@@ -8,21 +8,52 @@ import {
8
8
  omitBy,
9
9
  uniq,
10
10
  includes,
11
- keys
11
+ keys,
12
12
  } from "lodash";
13
+ import type { EventMixinCalculatedValues } from "./add-events";
13
14
 
14
15
  const GLOBAL_EVENT_REGEX = /^onGlobal(.*)$/;
15
16
 
17
+ type ComponentEventKey = string | number;
18
+ export interface ComponentEvent {
19
+ target?: "parent" | string;
20
+ eventKey?: ComponentEventKey | ComponentEventKey[];
21
+ eventHandlers: ComponentEventHandlers;
22
+ }
23
+ export type ComponentEventName = `on${Capitalize<string>}`;
24
+ export interface ComponentEventHandlers {
25
+ [k: ComponentEventName]: ComponentEventHandler;
26
+ }
27
+ export type ComponentEventHandler = (
28
+ evt: React.SyntheticEvent,
29
+ childProps: unknown,
30
+ eventKey: ComponentEventKey,
31
+ eventName: ComponentEventName,
32
+ ) => UpdatedProps;
33
+ export type UpdatedProps = any;
34
+
35
+ interface ComponentWithEvents extends EventMixinCalculatedValues {
36
+ state;
37
+ setState;
38
+ }
39
+
16
40
  /* Returns all own and shared events that should be attached to a single target element,
17
41
  * i.e. an individual bar specified by target: "data", eventKey: [index].
18
42
  * Returned events are scoped to the appropriate state. Either that of the component itself
19
43
  * (i.e. VictoryBar) in the case of own events, or that of the parent component
20
44
  * (i.e. VictoryChart) in the case of shared events
21
45
  */
22
- // eslint-disable-next-line max-params,no-shadow
23
- export function getEvents(props, target, eventKey, getScopedEvents) {
46
+ // eslint-disable-next-line max-params
47
+ export function getEvents(
48
+ this: ComponentWithEvents,
49
+ props,
50
+ target,
51
+ eventKey,
52
+ // eslint-disable-next-line no-shadow
53
+ getScopedEvents,
54
+ ) {
24
55
  // Returns all events that apply to a particular target element
25
- const getEventsByTarget = (events) => {
56
+ const getEventsByTarget = (events: Array<ComponentEvent>) => {
26
57
  const getSelectedEvents = () => {
27
58
  const targetEvents = events.reduce((memo, event) => {
28
59
  if (event.target !== undefined) {
@@ -32,7 +63,7 @@ export function getEvents(props, target, eventKey, getScopedEvents) {
32
63
  return matchesTarget ? memo.concat(event) : memo;
33
64
  }
34
65
  return memo.concat(event);
35
- }, []);
66
+ }, [] as ComponentEvent[]);
36
67
 
37
68
  if (eventKey !== undefined && target !== "parent") {
38
69
  return targetEvents.filter((obj) => {
@@ -51,7 +82,7 @@ export function getEvents(props, target, eventKey, getScopedEvents) {
51
82
  Array.isArray(selectedEvents) &&
52
83
  selectedEvents.reduce((memo, event) => {
53
84
  return event ? assign(memo, event.eventHandlers) : memo;
54
- }, {})
85
+ }, {} as ComponentEvent["eventHandlers"])
55
86
  );
56
87
  };
57
88
 
@@ -92,7 +123,13 @@ export function getEvents(props, target, eventKey, getScopedEvents) {
92
123
  * element.
93
124
  */
94
125
  // eslint-disable-next-line max-params
95
- export function getScopedEvents(events, namespace, childType, baseProps) {
126
+ export function getScopedEvents(
127
+ this: ComponentWithEvents,
128
+ events,
129
+ namespace,
130
+ childType,
131
+ baseProps,
132
+ ) {
96
133
  if (isEmpty(events)) {
97
134
  return {};
98
135
  }
@@ -149,15 +186,15 @@ export function getScopedEvents(events, namespace, childType, baseProps) {
149
186
  }
150
187
  const mutationTargetProps = getTargetProps(
151
188
  { childName, key, target },
152
- "props"
189
+ "props",
153
190
  );
154
191
  const mutationTargetState = getTargetProps(
155
192
  { childName, key, target },
156
- "state"
193
+ "state",
157
194
  );
158
195
  const mutatedProps = eventReturn.mutation(
159
196
  assign({}, mutationTargetProps, mutationTargetState),
160
- baseProps
197
+ baseProps,
161
198
  );
162
199
  const childState = baseState[childName] || {};
163
200
 
@@ -175,7 +212,7 @@ export function getScopedEvents(events, namespace, childType, baseProps) {
175
212
  return target === "parent"
176
213
  ? assign(state, { [key]: assign(state[key], mutatedProps) })
177
214
  : assign(state, {
178
- [key]: assign(state[key], { [target]: mutatedProps })
215
+ [key]: assign(state[key], { [target]: mutatedProps }),
179
216
  });
180
217
  };
181
218
 
@@ -249,24 +286,38 @@ export function getScopedEvents(events, namespace, childType, baseProps) {
249
286
  }, {});
250
287
  }
251
288
 
252
- /* Returns a partially applied event handler for a specific target element
289
+ /*
290
+ * Returns a partially applied event handler for a specific target element
253
291
  * This allows event handlers to have access to props controlling each element
254
292
  */
255
- export function getPartialEvents(events, eventKey, childProps) {
256
- return events
257
- ? keys(events).reduce((memo, eventName) => {
258
- const appliedEvent = (evt) =>
259
- events[eventName](evt, childProps, eventKey, eventName);
260
- memo[eventName] = appliedEvent;
261
- return memo;
262
- }, {})
263
- : {};
293
+ export function getPartialEvents(
294
+ events: ComponentEventHandlers,
295
+ eventKey: ComponentEventKey,
296
+ childProps: unknown,
297
+ ): PartialEvents {
298
+ if (!events) return {};
299
+
300
+ return keys(events).reduce((memo, eventName) => {
301
+ const appliedEvent = (evt) =>
302
+ events[eventName](evt, childProps, eventKey, eventName);
303
+ memo[eventName] = appliedEvent;
304
+ return memo;
305
+ }, {} as PartialEvents);
306
+ }
307
+ export interface PartialEvents {
308
+ [eventName: ComponentEventName]: (evt: React.SyntheticEvent) => UpdatedProps;
264
309
  }
265
310
 
266
311
  /* Returns the property of the state object corresponding to event changes for
267
312
  * a particular element
268
313
  */
269
- export function getEventState(eventKey, namespace, childType) {
314
+ // eslint-disable-next-line max-params
315
+ export function getEventState(
316
+ this: ComponentWithEvents,
317
+ eventKey: ComponentEventKey,
318
+ namespace: string,
319
+ childType?: string,
320
+ ) {
270
321
  // Mandatory usage: `getEventState.bind(this)`
271
322
  // eslint-disable-next-line no-invalid-this
272
323
  const state = this.state || {};
@@ -297,7 +348,7 @@ export function getExternalMutationsWithChildren(
297
348
  mutations,
298
349
  baseProps,
299
350
  baseState,
300
- childNames
351
+ childNames,
301
352
  ) {
302
353
  baseProps = baseProps || {};
303
354
  baseState = baseState || {};
@@ -308,7 +359,7 @@ export function getExternalMutationsWithChildren(
308
359
  mutations,
309
360
  baseProps[childName],
310
361
  baseState[childName],
311
- childName
362
+ childName,
312
363
  );
313
364
  memo[childName] = mutation ? mutation : childState;
314
365
  return pickBy(memo, (v) => !isEmpty(v));
@@ -330,7 +381,7 @@ export function getExternalMutations(
330
381
  mutations,
331
382
  baseProps,
332
383
  baseState,
333
- childName
384
+ childName?,
334
385
  ) {
335
386
  baseProps = baseProps || {};
336
387
  baseState = baseState || {};
@@ -345,7 +396,7 @@ export function getExternalMutations(
345
396
  mutations,
346
397
  keyProps,
347
398
  keyState,
348
- identifier
399
+ identifier,
349
400
  );
350
401
  memo[eventKey] =
351
402
  mutation !== undefined ? assign({}, keyState, mutation) : keyState;
@@ -359,7 +410,7 @@ export function getExternalMutations(
359
410
  mutations,
360
411
  keyProps[target],
361
412
  keyState[target],
362
- identifier
413
+ identifier,
363
414
  );
364
415
  m[target] =
365
416
  mutation !== undefined
@@ -387,7 +438,7 @@ export function getExternalMutation(
387
438
  mutations,
388
439
  baseProps,
389
440
  baseState,
390
- identifier
441
+ identifier,
391
442
  ) {
392
443
  const filterMutations = (mutation, type) => {
393
444
  if (typeof mutation[type] === "string") {
@@ -408,13 +459,13 @@ export function getExternalMutation(
408
459
  }
409
460
  // find any mutation objects that match the target
410
461
  const targetMutations = scopedMutations.filter((m) =>
411
- filterMutations(m, "target")
462
+ filterMutations(m, "target"),
412
463
  );
413
464
  if (isEmpty(targetMutations)) {
414
465
  return undefined;
415
466
  }
416
467
  const keyMutations = targetMutations.filter((m) =>
417
- filterMutations(m, "eventKey")
468
+ filterMutations(m, "eventKey"),
418
469
  );
419
470
  if (isEmpty(keyMutations)) {
420
471
  return undefined;
@@ -444,7 +495,7 @@ export function getComponentEvents(props, components) {
444
495
  ? memo.concat(...componentEvents)
445
496
  : memo;
446
497
  return memo;
447
- }, []);
498
+ }, [] as ComponentEvent[]);
448
499
  return events && events.length ? events : undefined;
449
500
  }
450
501
 
@@ -27,15 +27,19 @@ function getPolarRange(props, axis) {
27
27
 
28
28
  /**
29
29
  * creates an object with some keys excluded
30
- * replacement for lodash.omit for performance. does not mimick the entire lodash.omit api
30
+ * replacement for lodash.omit for performance. does not mimic the entire lodash.omit api
31
31
  * @param {Object} originalObject: created object will be based on this object
32
32
  * @param {Array<String>} ks: an array of keys to omit from the new object
33
33
  * @returns {Object} new object with same properties as originalObject
34
34
  */
35
- export function omit(originalObject, ks = []) {
35
+ export function omit<T, Keys extends keyof T>(
36
+ originalObject: T,
37
+ ks: Array<Keys> = [],
38
+ ): Omit<T, Keys> {
36
39
  // code based on babel's _objectWithoutProperties
37
- const newObject = {};
40
+ const newObject = {} as T;
38
41
  for (const key in originalObject) {
42
+ // @ts-expect-error String is not assignable to Key
39
43
  if (ks.indexOf(key) >= 0) {
40
44
  continue;
41
45
  }
@@ -56,7 +60,7 @@ export function getPoint(datum) {
56
60
  x: exists(_voronoiX) ? _voronoiX : defaultX,
57
61
  x0: exists(_x0) ? _x0 : _x,
58
62
  y: exists(_voronoiY) ? _voronoiY : defaultY,
59
- y0: exists(_y0) ? _y0 : _y
63
+ y0: exists(_y0) ? _y0 : _y,
60
64
  };
61
65
  return defaults({}, point, datum);
62
66
  }
@@ -73,7 +77,7 @@ export function scalePoint(props, datum) {
73
77
  x: polar ? y * Math.cos(x) + origin.x : x,
74
78
  x0: polar ? y0 * Math.cos(x0) + origin.x : x0,
75
79
  y: polar ? -y * Math.sin(x) + origin.y : y,
76
- y0: polar ? -y0 * Math.sin(x0) + origin.x : y0
80
+ y0: polar ? -y0 * Math.sin(x0) + origin.x : y0,
77
81
  };
78
82
  }
79
83
 
@@ -85,7 +89,7 @@ export function getPadding(props, name = "padding") {
85
89
  top: paddingObj.top || paddingVal,
86
90
  bottom: paddingObj.bottom || paddingVal,
87
91
  left: paddingObj.left || paddingVal,
88
- right: paddingObj.right || paddingVal
92
+ right: paddingObj.right || paddingVal,
89
93
  };
90
94
  }
91
95
 
@@ -118,7 +122,7 @@ export function getStyles(style, defaultStyles) {
118
122
  return {
119
123
  parent: defaults({}, parent, defaultParent, { width, height }),
120
124
  labels: defaults({}, labels, defaultLabels),
121
- data: defaults({}, data, defaultData)
125
+ data: defaults({}, data, defaultData),
122
126
  };
123
127
  }
124
128
 
@@ -161,7 +165,7 @@ export function getPolarOrigin(props) {
161
165
  const offsetHeight = height / 2 + top - bottom;
162
166
  return {
163
167
  x: offsetWidth + radius > width ? radius + left - right : offsetWidth,
164
- y: offsetHeight + radius > height ? radius + top - bottom : offsetHeight
168
+ y: offsetHeight + radius > height ? radius + top - bottom : offsetHeight,
165
169
  };
166
170
  }
167
171
 
@@ -189,7 +193,7 @@ export function createAccessor(key) {
189
193
  return property(key);
190
194
  }
191
195
 
192
- export function modifyProps(props, fallbackProps, role) {
196
+ export function modifyProps(props, fallbackProps?, role?) {
193
197
  const theme = props.theme && props.theme[role] ? props.theme[role] : {};
194
198
  const themeProps = omit(theme, ["style"]);
195
199
  const horizontal = isHorizontal(props);
@@ -218,13 +222,24 @@ export function getCurrentAxis(axis, horizontal) {
218
222
  * @returns {Array} returns an array of results from calling the iteratee on all nested children
219
223
  */
220
224
  /* eslint-disable max-params */
221
- export function reduceChildren(
222
- children,
223
- iteratee,
225
+ export function reduceChildren<
226
+ TChildren extends React.ReactNode,
227
+ TItem,
228
+ TResult = TItem[],
229
+ >(
230
+ children: TChildren[],
231
+ iteratee: (
232
+ child: TChildren,
233
+ childName: string,
234
+ parent?: TChildren,
235
+ ) => TItem | null,
224
236
  parentProps = {},
225
- initialMemo = [],
226
- combine = (memo, item) => memo.concat(item)
227
- ) {
237
+ // @ts-expect-error These defaults are hard to type
238
+ initialMemo: TResult = [],
239
+ combine: (memo: TResult, item: TItem) => TResult = (memo, item) =>
240
+ // @ts-expect-error These defaults are hard to type
241
+ memo.concat(item),
242
+ ): TResult {
228
243
  const sharedProps = [
229
244
  "data",
230
245
  "domain",
@@ -234,9 +249,9 @@ export function reduceChildren(
234
249
  "endAngle",
235
250
  "minDomain",
236
251
  "maxDomain",
237
- "horizontal"
252
+ "horizontal",
238
253
  ];
239
- const traverseChildren = (childArray, names, parent) => {
254
+ const traverseChildren = (childArray, names, parent?) => {
240
255
  return childArray.reduce((memo, child, index) => {
241
256
  const childRole = child.type && child.type.role;
242
257
  const childName = child.props.name || `${childRole}-${names[index]}`;
@@ -244,7 +259,7 @@ export function reduceChildren(
244
259
  const childProps = assign(
245
260
  {},
246
261
  child.props,
247
- pick(parentProps, sharedProps)
262
+ pick(parentProps, sharedProps),
248
263
  );
249
264
 
250
265
  const nestedChildren =
@@ -252,11 +267,15 @@ export function reduceChildren(
252
267
  child.type.role === "stack" &&
253
268
  isFunction(child.type.getChildren)
254
269
  ? child.type.getChildren(childProps)
255
- : React.Children.toArray(child.props.children).map((c) => {
270
+ : (
271
+ React.Children.toArray(
272
+ child.props.children,
273
+ ) as Array<React.ReactElement>
274
+ ).map((c) => {
256
275
  const nestedChildProps = assign(
257
276
  {},
258
277
  c.props,
259
- pick(childProps, sharedProps)
278
+ pick(childProps, sharedProps),
260
279
  );
261
280
  return React.cloneElement(c, nestedChildProps);
262
281
  });
@@ -265,7 +284,7 @@ export function reduceChildren(
265
284
  const nestedResults = traverseChildren(
266
285
  nestedChildren,
267
286
  childNames,
268
- child
287
+ child,
269
288
  );
270
289
  memo = combine(memo, nestedResults);
271
290
  } else {
@@ -284,7 +303,7 @@ export function reduceChildren(
284
303
  /**
285
304
  * @param {Object} props: the props object
286
305
  * @returns {Boolean} returns true if the props object contains `horizontal: true` of if any
287
- * children or nested children are hoizontal
306
+ * children or nested children are horizontal
288
307
  */
289
308
  export function isHorizontal(props) {
290
309
  if (props.horizontal !== undefined || !props.children) {
File without changes
@@ -7,7 +7,7 @@ import * as Transitions from "../transitions";
7
7
  const INITIAL_STATE = {
8
8
  nodesShouldLoad: false,
9
9
  nodesDoneLoad: false,
10
- animating: true
10
+ animating: true,
11
11
  };
12
12
 
13
13
  export const useAnimationState = (initialState = INITIAL_STATE) => {
@@ -18,13 +18,13 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
18
18
  (newState) => {
19
19
  _setState((oldState) => ({ ...oldState, ...newState }));
20
20
  },
21
- [_setState]
21
+ [_setState],
22
22
  );
23
23
 
24
24
  // This is a copy of Wrapper.getAnimationProps
25
25
  const getAnimationProps = React.useCallback(
26
26
  (props, child, index) => {
27
- if (!props.animate) {
27
+ if (!props?.animate) {
28
28
  return child.props.animate;
29
29
  }
30
30
  const getFilteredState = () => {
@@ -43,7 +43,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
43
43
  const getTransitionProps = Transitions.getTransitionPropsFactory(
44
44
  props,
45
45
  filteredState,
46
- (newState) => setState(newState)
46
+ (newState) => setState(newState),
47
47
  );
48
48
  getTransitions = (childComponent) =>
49
49
  getTransitionProps(childComponent, index);
@@ -51,16 +51,16 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
51
51
  return defaults(
52
52
  { getTransitions, parentState },
53
53
  props.animate,
54
- child.props.animate
54
+ child.props.animate,
55
55
  );
56
56
  },
57
- [state, setState]
57
+ [state, setState],
58
58
  );
59
59
 
60
60
  // This is a copy of Wrapper.setAnimationState
61
61
  const setAnimationState = React.useCallback(
62
62
  (props, nextProps) => {
63
- if (!props.animate) {
63
+ if (!props || !props.animate) {
64
64
  return;
65
65
  }
66
66
  if (props.animate.parentState) {
@@ -68,7 +68,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
68
68
  const oldProps = nodesWillExit ? props : null;
69
69
  const newState = defaults(
70
70
  { oldProps, nextProps },
71
- props.animate.parentState
71
+ props.animate.parentState,
72
72
  );
73
73
  setState(newState);
74
74
  } else {
@@ -91,7 +91,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
91
91
  nodesWillExit,
92
92
  nodesWillEnter,
93
93
  childrenTransitions,
94
- nodesShouldEnter
94
+ nodesShouldEnter,
95
95
  } = Transitions.getInitialTransitionState(oldChildren, nextChildren);
96
96
 
97
97
  setState({
@@ -103,11 +103,11 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
103
103
  : childrenTransitions,
104
104
  oldProps: nodesWillExit ? props : null,
105
105
  nextProps,
106
- continuous
106
+ continuous,
107
107
  });
108
108
  }
109
109
  },
110
- [setState]
110
+ [setState],
111
111
  );
112
112
 
113
113
  const getProps = React.useCallback(
@@ -116,7 +116,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
116
116
  ? state.oldProps || initialProps
117
117
  : initialProps;
118
118
  },
119
- [state]
119
+ [state],
120
120
  );
121
121
 
122
122
  return { state, setState, getAnimationProps, setAnimationState, getProps };
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+
3
+ export function usePreviousProps<T>(props: T): T | undefined {
4
+ const ref = React.useRef<T>();
5
+ React.useEffect(() => {
6
+ ref.current = props;
7
+ });
8
+ return ref.current;
9
+ }
@@ -1,39 +1,43 @@
1
+ import type { Iterable, Record, List, Map } from "immutable";
2
+
1
3
  export const IMMUTABLE_ITERABLE = "@@__IMMUTABLE_ITERABLE__@@";
2
4
  export const IMMUTABLE_RECORD = "@@__IMMUTABLE_RECORD__@@";
3
5
  export const IMMUTABLE_LIST = "@@__IMMUTABLE_LIST__@@";
4
6
  export const IMMUTABLE_MAP = "@@__IMMUTABLE_MAP__@@";
5
7
 
6
- export function isIterable(x) {
8
+ export function isIterable(x): x is Iterable<unknown, unknown> {
7
9
  return !!(x && x[IMMUTABLE_ITERABLE]);
8
10
  }
9
11
 
10
- export function isRecord(x) {
12
+ export function isRecord(x): x is Record<string, unknown> {
11
13
  return !!(x && x[IMMUTABLE_RECORD]);
12
14
  }
13
15
 
14
- export function isImmutable(x) {
16
+ export function isImmutable(
17
+ x,
18
+ ): x is Iterable<unknown, unknown> | Record<string, unknown> {
15
19
  return isIterable(x) || isRecord(x);
16
20
  }
17
21
 
18
- export function isList(x) {
22
+ export function isList(x): x is List<unknown> {
19
23
  return !!(x && x[IMMUTABLE_LIST]);
20
24
  }
21
25
 
22
- export function isMap(x) {
26
+ export function isMap(x): x is Map<unknown, unknown> {
23
27
  return !!(x && x[IMMUTABLE_MAP]);
24
28
  }
25
29
 
26
- export function shallowToJS(x, whitelist) {
30
+ export function shallowToJS(x, whitelist?: Record<string, boolean | unknown>) {
27
31
  return isIterable(x)
28
32
  ? x.reduce(
29
- (prev, curr, key) => {
33
+ (result: any, curr: any, key: any) => {
30
34
  if (whitelist && whitelist[key]) {
31
35
  curr = shallowToJS(curr);
32
36
  }
33
- prev[key] = curr;
34
- return prev;
37
+ result[key] = curr;
38
+ return result;
35
39
  },
36
- isList(x) ? [] : {}
40
+ isList(x) ? [] : {},
37
41
  )
38
42
  : x;
39
43
  }
@@ -0,0 +1,28 @@
1
+ export * from "./add-events";
2
+ export * as Axis from "./axis";
3
+ export * as Collection from "./collection";
4
+ export * from "./common-props";
5
+ export * as Data from "./data";
6
+ export * as DefaultTransitions from "./default-transitions";
7
+ export * as Domain from "./domain";
8
+ export * as Events from "./events";
9
+ export * as Helpers from "./helpers";
10
+ export * as Hooks from "./hooks";
11
+ export * as Immutable from "./immutable";
12
+ export * as LabelHelpers from "./label-helpers";
13
+ export * as LineHelpers from "./line-helpers";
14
+ export * as Log from "./log";
15
+ export * as PointPathHelpers from "./point-path-helpers";
16
+ export * as PropTypes from "./prop-types";
17
+ export * as Scale from "./scale";
18
+ export * as Selection from "./selection";
19
+ export type { SVGCoordinateType, SVGCoordinateBounds } from "./selection";
20
+ export * as Style from "./style";
21
+ export * as TextSize from "./textsize";
22
+ export type { TextSizeStyleInterface } from "./textsize";
23
+ export { default as Timer } from "./timer";
24
+ export { default as TimerContext } from "./timer-context";
25
+ export * as Transitions from "./transitions";
26
+ export * as UserProps from "./user-props";
27
+ export * as Wrapper from "./wrapper";
28
+ export * from "./with-container";
@@ -45,7 +45,7 @@ function getPadding(props, datum) {
45
45
  const sign = datum._y < 0 ? -1 : 1;
46
46
  return {
47
47
  x: horizontal ? sign * defaultPadding : 0,
48
- y: horizontal ? 0 : -1 * sign * defaultPadding
48
+ y: horizontal ? 0 : -1 * sign * defaultPadding,
49
49
  };
50
50
  }
51
51
 
@@ -57,7 +57,7 @@ function getOffset(props, datum) {
57
57
 
58
58
  return {
59
59
  dx: padding.x,
60
- dy: padding.y
60
+ dy: padding.y,
61
61
  };
62
62
  }
63
63
 
@@ -70,7 +70,7 @@ function getPosition(props, datum) {
70
70
  const polarPadding = getPolarPadding(props, datum);
71
71
  return {
72
72
  x: x + polarPadding.x,
73
- y: y + polarPadding.y
73
+ y: y + polarPadding.y,
74
74
  };
75
75
  }
76
76
  }
@@ -83,7 +83,7 @@ function getPolarPadding(props, datum) {
83
83
  const angle = Helpers.degreesToRadians(degrees);
84
84
  return {
85
85
  x: padding * Math.cos(angle),
86
- y: -padding * Math.sin(angle)
86
+ y: -padding * Math.sin(angle),
87
87
  };
88
88
  }
89
89
 
@@ -145,7 +145,7 @@ export function getPolarVerticalAnchor(props, degrees) {
145
145
  return orientation === "top" ? "end" : "start";
146
146
  }
147
147
 
148
- export function getPolarAngle(props, baseAngle) {
148
+ export function getPolarAngle(props, baseAngle?) {
149
149
  const { labelPlacement, datum } = props;
150
150
  if (!labelPlacement || labelPlacement === "vertical") {
151
151
  return 0;
@@ -181,7 +181,7 @@ export function getProps(props, index) {
181
181
  height,
182
182
  theme,
183
183
  labelComponent,
184
- disableInlineStyles
184
+ disableInlineStyles,
185
185
  } = props;
186
186
  const datum = data[index];
187
187
  const degrees = getDegrees(props, datum);
@@ -215,7 +215,7 @@ export function getProps(props, index) {
215
215
  dy,
216
216
  width,
217
217
  height,
218
- style: style.labels
218
+ style: style.labels,
219
219
  };
220
220
  if (!Helpers.isTooltip(labelComponent)) {
221
221
  return labelProps;