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
@@ -0,0 +1,10 @@
1
+ import { ForAxes, AxisType, Tuple, Datum, DatumValue } from "../types/prop-types";
2
+ export declare function hasValueForAxis<T = unknown>(value: unknown | ForAxes<T>, axis: AxisType): value is ForAxes<T>;
3
+ export declare function isTuple<T = unknown>(value: unknown): value is Tuple<T>;
4
+ export declare function getValueForAxis<T = unknown>(value: T | ForAxes<T> | undefined, axis: AxisType): T | undefined;
5
+ export declare function isFunction<T = Function>(func?: unknown): func is T;
6
+ export declare function isDate(value: unknown): value is Date;
7
+ export declare function isKeyValueObject(datum: Datum): datum is {
8
+ [key: string]: DatumValue;
9
+ };
10
+ //# sourceMappingURL=type-helpers.d.ts.map
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getValueForAxis = getValueForAxis;
7
+ exports.hasValueForAxis = hasValueForAxis;
8
+ exports.isDate = isDate;
9
+ exports.isFunction = isFunction;
10
+ exports.isKeyValueObject = isKeyValueObject;
11
+ exports.isTuple = isTuple;
12
+
13
+ function hasValueForAxis(value, axis) {
14
+ if (typeof value === "object" && value !== null) {
15
+ return axis in value;
16
+ }
17
+
18
+ return false;
19
+ }
20
+
21
+ function isTuple(value) {
22
+ return Array.isArray(value) && value.length === 2;
23
+ }
24
+
25
+ function getValueForAxis(value, axis) {
26
+ if (hasValueForAxis(value, axis)) {
27
+ return value[axis];
28
+ }
29
+
30
+ return value;
31
+ } // eslint-disable-next-line @typescript-eslint/ban-types
32
+
33
+
34
+ function isFunction(func) {
35
+ return typeof func === "function";
36
+ }
37
+
38
+ function isDate(value) {
39
+ return value instanceof Date;
40
+ }
41
+
42
+ function isKeyValueObject(datum) {
43
+ return typeof datum === "object" && !Array.isArray(datum) && !(datum instanceof Date);
44
+ }
45
+ //# sourceMappingURL=type-helpers.js.map
@@ -0,0 +1,21 @@
1
+ import * as React from "react";
2
+ declare type SafeAttribute = `data-${string}` | `aria-${string}`;
3
+ /**
4
+ * getSafeUserProps - function that takes in a props object and removes any
5
+ * key-value entries that do not match filter strings in the USER_PROPS_SAFELIST
6
+ * object.
7
+ *
8
+ * @param {Object} props: props to be filtered against USER_PROPS_SAFELIST
9
+ * @returns {Object}: object containing remaining acceptable props
10
+ */
11
+ export declare const getSafeUserProps: <T>(props: T) => Record<SafeAttribute, string>;
12
+ /**
13
+ * Wraps a component and adds safe user props
14
+ *
15
+ * @param {ReactElement} component: parent component
16
+ * @param {Object} props: props to be filtered
17
+ * @returns {ReactElement} modified component
18
+ */
19
+ export declare const withSafeUserProps: (component: React.ReactElement, props: any) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
20
+ export {};
21
+ //# sourceMappingURL=user-props.d.ts.map
@@ -31,7 +31,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
31
31
 
32
32
  /*
33
33
  USER_PROPS_SAFELIST is to contain any string deemed safe for user props.
34
- The startsWidth array will contain the start of any accepted user-prop that
34
+ The startsWidth array will contain the start of any accepted user-prop that
35
35
  starts with these characters.
36
36
  The exactMatch will contain a list of exact prop names that are accepted.
37
37
  */
@@ -39,6 +39,7 @@ var USER_PROPS_SAFELIST = {
39
39
  startsWith: ["data-", "aria-"],
40
40
  exactMatch: []
41
41
  };
42
+
42
43
  /**
43
44
  * doesPropStartWith: Function that takes a prop's key and runs it against all
44
45
  * options in the USER_PROPS_SAFELIST and checks to see if it starts with any
@@ -47,7 +48,6 @@ var USER_PROPS_SAFELIST = {
47
48
  * @returns {Boolean}: returns true if the key starts with an option or false if
48
49
  * otherwise
49
50
  */
50
-
51
51
  var doesPropStartWith = function (key) {
52
52
  var startsWith = false;
53
53
  USER_PROPS_SAFELIST.startsWith.forEach(function (starterString) {
@@ -124,9 +124,9 @@ var getSafeUserProps = function (props) {
124
124
  /**
125
125
  * Wraps a component and adds safe user props
126
126
  *
127
- * @param {ReactNode} component: parent component
127
+ * @param {ReactElement} component: parent component
128
128
  * @param {Object} props: props to be filtered
129
- * @returns {ReactNode} modified component
129
+ * @returns {ReactElement} modified component
130
130
  */
131
131
 
132
132
 
@@ -136,4 +136,5 @@ var withSafeUserProps = function (component, props) {
136
136
  return /*#__PURE__*/React.cloneElement(component, getSafeUserProps(props));
137
137
  };
138
138
 
139
- exports.withSafeUserProps = withSafeUserProps;
139
+ exports.withSafeUserProps = withSafeUserProps;
140
+ //# sourceMappingURL=user-props.js.map
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { VictoryProviderProps } from "victory-core";
3
+ import { VictoryCommonProps } from "./common-props";
4
+ export declare function withContainer<Props extends VictoryCommonProps>(WrappedComponent: (props: Props) => React.ReactElement, initialProviderProps?: Partial<VictoryProviderProps>): (props: Props) => JSX.Element;
5
+ //# sourceMappingURL=with-container.d.ts.map
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withContainer = withContainer;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _victoryCore = require("victory-core");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
20
+ var defaultProviderProps = {
21
+ width: 450,
22
+ height: 300,
23
+ padding: 50,
24
+ data: []
25
+ };
26
+
27
+ function withContainer(WrappedComponent) {
28
+ var initialProviderProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
+ return function (props) {
30
+ var providerProps = _objectSpread(_objectSpread(_objectSpread({}, defaultProviderProps), initialProviderProps), props);
31
+
32
+ var _props$standalone = props.standalone,
33
+ standalone = _props$standalone === void 0 ? true : _props$standalone,
34
+ _props$containerCompo = props.containerComponent,
35
+ containerComponent = _props$containerCompo === void 0 ? /*#__PURE__*/_react.default.createElement(_victoryCore.VictoryContainer, null) : _props$containerCompo;
36
+
37
+ if (standalone) {
38
+ return /*#__PURE__*/_react.default.createElement(_victoryCore.VictoryProvider, providerProps, /*#__PURE__*/_react.default.cloneElement(containerComponent, providerProps, /*#__PURE__*/_react.default.createElement(WrappedComponent, props)));
39
+ }
40
+
41
+ return /*#__PURE__*/_react.default.createElement(WrappedComponent, props);
42
+ };
43
+ }
44
+ //# sourceMappingURL=with-container.js.map
@@ -0,0 +1,38 @@
1
+ export declare function addBinsToParentPropsIfHistogram({ children, props, childComponents, parentProps, }: {
2
+ children: any;
3
+ props: any;
4
+ childComponents: any;
5
+ parentProps: any;
6
+ }): any;
7
+ export declare function getDataFromChildren(props: any, childComponents: any): any[][];
8
+ export declare function getData(props: any, childComponents: any): any;
9
+ export declare function getWidth(props: any, groupLength?: any, seriesLength?: any): number;
10
+ export declare function getDefaultDomainPadding(props: any, axis: any, childComponents: any): {
11
+ x: number;
12
+ } | undefined;
13
+ export declare function getDomainFromChildren(props: any, axis: any, childComponents: any): (number | Date)[];
14
+ export declare function getDomain(props: any, axis: any, childComponents: any): any;
15
+ export declare function getScale(props: any, axis: any, childComponents?: any): import("..").D3Scale<any>;
16
+ export declare function getAllEvents(props: any): any;
17
+ export declare function getColor(calculatedProps: any, child: any, index: any): any;
18
+ export declare function getStyle(theme: any, style: any, role: any): any;
19
+ export declare function getChildStyle(child: any, index: any, calculatedProps: any): any[] | {
20
+ parent: any;
21
+ data: any;
22
+ labels: any;
23
+ };
24
+ export declare function getStringsFromCategories(childComponents: any, axis: any): any[];
25
+ export declare function getStringsFromData(childComponents: any): {
26
+ x: number[];
27
+ y: number[];
28
+ };
29
+ export declare function getCategoryAndAxisStringsFromChildren(props: any, axis: any, childComponents: any): any[];
30
+ export declare function getStringsFromChildren(props: any, childComponents: any): {
31
+ x: any[];
32
+ y: any[];
33
+ };
34
+ export declare function getCategories(props: any, childComponents: any, allStrings: any): {
35
+ x: any;
36
+ y: any;
37
+ };
38
+ //# sourceMappingURL=wrapper.d.ts.map
@@ -199,7 +199,7 @@ function getData(props, childComponents) {
199
199
  }
200
200
 
201
201
  childComponents = childComponents || _react.default.Children.toArray(props.children);
202
- return getDataFromChildren(childComponents);
202
+ return getDataFromChildren(props, childComponents);
203
203
  }
204
204
 
205
205
  function getWidth(props, groupLength, seriesLength) {
@@ -264,7 +264,7 @@ function getDefaultDomainPadding(props, axis, childComponents) {
264
264
  function getDomainFromChildren(props, axis, childComponents) {
265
265
  // eslint-disable-line max-statements, complexity, max-len
266
266
  var children = childComponents ? childComponents.slice(0) : _react.default.Children.toArray(props.children);
267
- var parentData = props.data ? Data.getData(props, axis) : undefined;
267
+ var parentData = props.data ? Data.getData(props) : undefined;
268
268
  var polar = props.polar,
269
269
  startAngle = props.startAngle,
270
270
  endAngle = props.endAngle,
@@ -503,4 +503,5 @@ function getCategories(props, childComponents, allStrings) {
503
503
  x: xCategories.length > 0 ? xCategories : undefined,
504
504
  y: yCategories.length > 0 ? yCategories : undefined
505
505
  };
506
- }
506
+ }
507
+ //# sourceMappingURL=wrapper.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "victory-core",
3
- "version": "36.4.1",
3
+ "version": "36.5.2",
4
4
  "description": "Victory Core",
5
5
  "keywords": [
6
6
  "data visualization",
@@ -22,14 +22,14 @@
22
22
  "lodash": "^4.17.21",
23
23
  "prop-types": "^15.8.1",
24
24
  "react-fast-compare": "^3.2.0",
25
- "victory-vendor": "^36.4.0"
25
+ "victory-vendor": "^36.5.1"
26
26
  },
27
27
  "peerDependencies": {
28
- "react": "^16.6.0 || ^17.0.0"
28
+ "react": ">=16.6.0"
29
29
  },
30
30
  "scripts": {
31
31
  "version": "yarn run nps build-libs && nps build-dists"
32
32
  },
33
33
  "sideEffects": false,
34
- "gitHead": "aa44a22e5a93989773a560f765f83ac151f44c46"
34
+ "gitHead": "def218e9749ecafc159ef458dd03a8b92e227666"
35
35
  }
package/src/index.ts ADDED
@@ -0,0 +1,17 @@
1
+ export * from "./types/callbacks";
2
+ export * from "./types/prop-types";
3
+ export * from "./victory-accessible-group/victory-accessible-group";
4
+ export * from "./victory-animation/victory-animation";
5
+ export * from "./victory-container/victory-container";
6
+ export * from "./victory-label/victory-label";
7
+ export * from "./victory-transition/victory-transition";
8
+ export * from "./victory-clip-container/victory-clip-container";
9
+ export * from "./victory-theme/types";
10
+ export * from "./victory-theme/victory-theme";
11
+ export * from "./victory-portal/portal";
12
+ export * from "./victory-portal/portal-context";
13
+ export * from "./victory-portal/victory-portal";
14
+ export * from "./victory-primitives";
15
+ export { Border as Box } from "./victory-primitives";
16
+ export * from "./victory-util";
17
+ export * from "./victory-state";
@@ -0,0 +1,53 @@
1
+ import { D3Scale, Datum, ID } from "./prop-types";
2
+ import { BlockProps, OrientationTypes } from "../victory-theme/types";
3
+
4
+ /**
5
+ * This is the first parameter of a callback when a callback is used to
6
+ * resolve the value of a property instead of a concrete value.
7
+ *
8
+ * Note that additional properties here like `scale`, `x`, `y`, etc are resolved
9
+ * values of properties from the VictoryXXXProps for each component.
10
+ */
11
+ export interface CallbackArgs {
12
+ active?: boolean;
13
+ data?: Datum[];
14
+ datum?: Datum;
15
+ horizontal?: boolean;
16
+ index: ID;
17
+ x?: number;
18
+ y?: number;
19
+ scale?: {
20
+ x?: D3Scale;
21
+ y?: D3Scale;
22
+ };
23
+ tick?: any;
24
+ ticks?: any;
25
+ text?: any;
26
+ }
27
+
28
+ export type VictoryStringOrNumberCallback = (
29
+ args: CallbackArgs,
30
+ ) => string | number;
31
+
32
+ export type VictoryStringCallback = (args: CallbackArgs) => string;
33
+ export type StringOrNumberOrCallback =
34
+ | string
35
+ | number
36
+ | VictoryStringOrNumberCallback;
37
+ export type StringOrCallback = string | VictoryStringCallback;
38
+ export type SliceNumberOrCallback<
39
+ T,
40
+ P extends string | number | symbol = never,
41
+ > = number | ((props: Omit<T, P>) => number);
42
+ export type VictoryNumberCallback = (args: CallbackArgs) => number;
43
+ export type VictoryPaddingCallback = (
44
+ args: CallbackArgs,
45
+ ) => number | BlockProps;
46
+ export type VictoryOrientationCallback = (
47
+ args: CallbackArgs,
48
+ ) => OrientationTypes;
49
+ export type NumberOrCallback = number | VictoryNumberCallback;
50
+ export type PaddingOrCallback = number | BlockProps | VictoryPaddingCallback;
51
+ export type OrientationOrCallback =
52
+ | OrientationTypes
53
+ | VictoryOrientationCallback;
@@ -0,0 +1,195 @@
1
+ import * as React from "react";
2
+ import {
3
+ ScaleLinear,
4
+ ScaleLogarithmic,
5
+ ScalePower,
6
+ ScaleTime,
7
+ } from "victory-vendor/d3-scale";
8
+ import {
9
+ AnimationEasing,
10
+ AnimationStyle,
11
+ } from "../victory-animation/victory-animation";
12
+ import { StringOrNumberOrCallback } from "./callbacks";
13
+
14
+ export type AxisType = "x" | "y";
15
+ export type DatumValue = number | string | Date | null | undefined;
16
+ export type Datum = any;
17
+ export type ForAxes<T> = T | { x?: T; y?: T };
18
+ export type ID = number | string;
19
+ export type ValueOrAccessor<ValueType = unknown, PropsType = object> =
20
+ | ValueType
21
+ | ((props: PropsType) => ValueType);
22
+ export type Tuple<T> = [T, T];
23
+ export type ValueOrAxes<T> = T | ForAxes<T>;
24
+
25
+ export type DomainPaddingPropType = ValueOrAxes<PaddingType>;
26
+ export type DomainPropType = ValueOrAxes<DomainTuple>;
27
+ export type DomainValue = number | Date;
28
+ // This should be a tuple type, but every time we use it, it fails with a type error.
29
+ // type number[] is not assignable to type [number, number] | [Date, Date].
30
+ export type DomainTuple = Tuple<number> | Tuple<Date>;
31
+ export type PaddingType = number | Tuple<number>;
32
+ export type RangePropType = ValueOrAxes<RangeTuple>;
33
+ export type RangeTuple = number[];
34
+ export type StringOrNumberOrList = string | number | (string | number)[];
35
+
36
+ export interface Padding {
37
+ top: number;
38
+ bottom: number;
39
+ left: number;
40
+ right: number;
41
+ }
42
+
43
+ export interface AnimatePropTypeInterface {
44
+ duration?: number;
45
+ onEnd?: () => void;
46
+ onExit?: {
47
+ duration?: number;
48
+ before?: (datum: Datum, index: number, data: Datum[]) => AnimationStyle;
49
+ };
50
+ onEnter?: {
51
+ duration?: number;
52
+ before?: (datum: Datum, index: number, data: Datum[]) => AnimationStyle;
53
+ after?: (datum: Datum, index: number, data: Datum[]) => AnimationStyle;
54
+ };
55
+ onLoad?: {
56
+ duration?: number;
57
+ before?: (datum: Datum, index: number, data: Datum[]) => AnimationStyle;
58
+ after?: (datum: Datum, index: number, data: Datum[]) => AnimationStyle;
59
+ };
60
+ easing?: AnimationEasing;
61
+ animationWhitelist?: string[];
62
+ }
63
+
64
+ export interface EventCallbackInterface<TTarget, TEventKey> {
65
+ childName?: string | string[];
66
+ target?: TTarget;
67
+ eventKey?: TEventKey;
68
+ mutation: (props: any) => any;
69
+ callback?: (props: any) => any;
70
+ }
71
+
72
+ export interface EventPropTypeInterface<TTarget, TEventKey> {
73
+ childName?: string | Array<StringOrNumberOrCallback>;
74
+ target: TTarget;
75
+ eventKey?: TEventKey;
76
+ eventHandlers: {
77
+ [key: string]:
78
+ | {
79
+ (
80
+ event: React.SyntheticEvent<any>,
81
+ props?: any,
82
+ ): EventCallbackInterface<TTarget, TEventKey>;
83
+ }
84
+ | {
85
+ (
86
+ event: React.SyntheticEvent<any>,
87
+ props?: any,
88
+ ): EventCallbackInterface<TTarget, TEventKey>[];
89
+ }
90
+ | {
91
+ (event: React.SyntheticEvent<any>, props?: any): void;
92
+ };
93
+ };
94
+ }
95
+
96
+ type NumberValue = number | { valueOf(): number };
97
+ /**
98
+ * D3 scale function shape. Don't want to introduce typing dependency to d3
99
+ */
100
+ export interface D3Scale<TRange = any> {
101
+ (numberValue: NumberValue): number;
102
+ base?: () => number;
103
+ ticks: (count?: number) => number[];
104
+ tickFormat: (count?: number) => (d: number) => string;
105
+ domain: {
106
+ (): number[];
107
+ (domain: NumberValue[]): D3Scale<TRange>;
108
+ };
109
+ range: {
110
+ (): TRange[];
111
+ (range: TRange): D3Scale<TRange>;
112
+ };
113
+ copy: () => this;
114
+ invert: (value: number) => number;
115
+ }
116
+
117
+ export type D3ScaleFn<TRange = any, TOutput = any> = () =>
118
+ | ScaleLinear<TRange, TOutput, unknown>
119
+ | ScaleLogarithmic<TRange, TOutput, unknown>
120
+ | ScaleTime<TRange, TOutput, unknown>
121
+ | ScalePower<TRange, TOutput, unknown>;
122
+
123
+ export type ScaleName = "linear" | "time" | "log" | "sqrt";
124
+ export type ScalePropType = ScaleName;
125
+ export type ScaleXYPropType = {
126
+ x: D3Scale;
127
+ y: D3Scale;
128
+ };
129
+
130
+ export type CategoryPropType =
131
+ | string[]
132
+ | { x: string[] }
133
+ | { y: string[] }
134
+ | {
135
+ x: string[];
136
+ y: string[];
137
+ };
138
+
139
+ export type DataGetterPropType = ValueOrAccessor<
140
+ string | string[] | number | number[]
141
+ >;
142
+
143
+ export type InterpolationPropType =
144
+ | "basis"
145
+ | "basisClosed"
146
+ | "basisOpen"
147
+ | "bundle"
148
+ | "cardinal"
149
+ | "cardinalClosed"
150
+ | "cardinalOpen"
151
+ | "catmullRom"
152
+ | "catmullRomClosed"
153
+ | "catmullRomOpen"
154
+ | "linear"
155
+ | "linearClosed"
156
+ | "monotoneX"
157
+ | "monotoneY"
158
+ | "natural"
159
+ | "radial"
160
+ | "step"
161
+ | "stepAfter"
162
+ | "stepBefore";
163
+
164
+ export type ColorScalePropType =
165
+ | "grayscale"
166
+ | "qualitative"
167
+ | "heatmap"
168
+ | "warm"
169
+ | "cool"
170
+ | "red"
171
+ | "green"
172
+ | "blue"
173
+ | string[];
174
+
175
+ export type SortOrderPropType = "ascending" | "descending";
176
+
177
+ export interface VictoryLabelableProps {
178
+ labelComponent?: React.ReactElement;
179
+ }
180
+
181
+ export interface VictoryMultiLabelableProps extends VictoryLabelableProps {
182
+ labels?:
183
+ | string[]
184
+ | number[]
185
+ | { (data: any): string | string[] | number | number[] | null };
186
+ }
187
+
188
+ export interface VictorySingleLabelableProps extends VictoryLabelableProps {
189
+ label?: string | { (data: any): string | number | null };
190
+ }
191
+
192
+ export type CoordinatesPropType = {
193
+ x: number;
194
+ y: number;
195
+ };
@@ -1,22 +1,31 @@
1
1
  import React from "react";
2
2
  import PropTypes from "prop-types";
3
3
 
4
- class VictoryAccessibleGroup extends React.Component {
4
+ export interface VictoryAccessibleGroupProps {
5
+ desc?: string;
6
+ "aria-describedby"?: string;
7
+ "aria-label"?: string;
8
+ children?: React.ReactElement | React.ReactElement[];
9
+ className?: string;
10
+ tabIndex?: number;
11
+ }
12
+
13
+ export class VictoryAccessibleGroup extends React.Component<VictoryAccessibleGroupProps> {
5
14
  static displayName = "VictoryAccessibleGroup";
6
15
  static propTypes = {
7
16
  "aria-describedby": PropTypes.string,
8
17
  "aria-label": PropTypes.string,
9
18
  children: PropTypes.oneOfType([
10
19
  PropTypes.arrayOf(PropTypes.node),
11
- PropTypes.node
20
+ PropTypes.node,
12
21
  ]),
13
22
  className: PropTypes.string,
14
23
  desc: PropTypes.string,
15
- tabIndex: PropTypes.number
24
+ tabIndex: PropTypes.number,
16
25
  };
17
26
 
18
27
  static defaultProps = {
19
- className: "VictoryAccessibleGroup"
28
+ className: "VictoryAccessibleGroup",
20
29
  };
21
30
 
22
31
  render() {
@@ -46,5 +55,3 @@ class VictoryAccessibleGroup extends React.Component {
46
55
  );
47
56
  }
48
57
  }
49
-
50
- export default VictoryAccessibleGroup;
@@ -34,7 +34,7 @@ export const isInterpolatable = function (obj) {
34
34
  // component is only going to call the function (in which case it's
35
35
  // safely interpolatable) or if it's going to access special properties
36
36
  // (in which case our function generated from `interpolateFunction` will
37
- // most likely cause an error. We could check for enumerable properties
37
+ // most likely cause an error). We could check for enumerable properties
38
38
  // on the function object here to see if it's a "plain" function, but
39
39
  // let's just require that components prevent such function props from
40
40
  // being animated in the first place.
@@ -82,8 +82,8 @@ export const interpolateFunction = function (a, b) {
82
82
  if (t >= 1) {
83
83
  return b;
84
84
  }
85
- return function () {
86
- /* eslint-disable no-invalid-this */
85
+ return function (this: unknown) {
86
+ /* eslint-disable no-invalid-this, prefer-rest-params */
87
87
  const aval = typeof a === "function" ? a.apply(this, arguments) : a;
88
88
  const bval = typeof b === "function" ? b.apply(this, arguments) : b;
89
89
  return interpolate(aval, bval)(t);
@@ -182,7 +182,7 @@ export const interpolateString = function (a, b) {
182
182
  * @param {any} b - End value.
183
183
  * @returns {Function|undefined} An interpolation function, if necessary.
184
184
  */
185
- export const victoryInterpolator = function (a, b) {
185
+ export const victoryInterpolator = function <T>(a: T, b: T): (t: number) => T {
186
186
  // If the values are strictly equal, or either value is not interpolatable,
187
187
  // just use either the start value `a` or end value `b` at every step, as
188
188
  // there is no reasonable in-between value.
@@ -193,10 +193,12 @@ export const victoryInterpolator = function (a, b) {
193
193
  return interpolateFunction(a, b);
194
194
  }
195
195
  if (isPlainObject(a) || isPlainObject(b)) {
196
+ // @ts-expect-error These generics are tough, but they work :)
196
197
  return interpolateObject(a, b);
197
198
  }
198
199
  if (typeof a === "string" || typeof b === "string") {
199
200
  return interpolateString(a, b);
200
201
  }
202
+ // @ts-expect-error These generics are tough, but they work :)
201
203
  return interpolate(a, b);
202
204
  };