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,40 +1,43 @@
1
- /* eslint-disable func-style */
1
+ import type { Iterable, Record, List, Map } from "immutable";
2
+
2
3
  export const IMMUTABLE_ITERABLE = "@@__IMMUTABLE_ITERABLE__@@";
3
4
  export const IMMUTABLE_RECORD = "@@__IMMUTABLE_RECORD__@@";
4
5
  export const IMMUTABLE_LIST = "@@__IMMUTABLE_LIST__@@";
5
6
  export const IMMUTABLE_MAP = "@@__IMMUTABLE_MAP__@@";
6
7
 
7
- export function isIterable(x) {
8
+ export function isIterable(x): x is Iterable<unknown, unknown> {
8
9
  return !!(x && x[IMMUTABLE_ITERABLE]);
9
10
  }
10
11
 
11
- export function isRecord(x) {
12
+ export function isRecord(x): x is Record<string, unknown> {
12
13
  return !!(x && x[IMMUTABLE_RECORD]);
13
14
  }
14
15
 
15
- export function isImmutable(x) {
16
+ export function isImmutable(
17
+ x,
18
+ ): x is Iterable<unknown, unknown> | Record<string, unknown> {
16
19
  return isIterable(x) || isRecord(x);
17
20
  }
18
21
 
19
- export function isList(x) {
22
+ export function isList(x): x is List<unknown> {
20
23
  return !!(x && x[IMMUTABLE_LIST]);
21
24
  }
22
25
 
23
- export function isMap(x) {
26
+ export function isMap(x): x is Map<unknown, unknown> {
24
27
  return !!(x && x[IMMUTABLE_MAP]);
25
28
  }
26
29
 
27
- export function shallowToJS(x, whitelist) {
30
+ export function shallowToJS(x, whitelist?: Record<string, boolean | unknown>) {
28
31
  return isIterable(x)
29
32
  ? x.reduce(
30
- (prev, curr, key) => {
33
+ (result: any, curr: any, key: any) => {
31
34
  if (whitelist && whitelist[key]) {
32
35
  curr = shallowToJS(curr);
33
36
  }
34
- prev[key] = curr;
35
- return prev;
37
+ result[key] = curr;
38
+ return result;
36
39
  },
37
- isList(x) ? [] : {}
40
+ isList(x) ? [] : {},
38
41
  )
39
42
  : x;
40
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";
@@ -1,4 +1,3 @@
1
- /* eslint-disable func-style */
2
1
  /* eslint-disable no-use-before-define */
3
2
  import * as Helpers from "./helpers";
4
3
  import { defaults } from "lodash";
@@ -46,7 +45,7 @@ function getPadding(props, datum) {
46
45
  const sign = datum._y < 0 ? -1 : 1;
47
46
  return {
48
47
  x: horizontal ? sign * defaultPadding : 0,
49
- y: horizontal ? 0 : -1 * sign * defaultPadding
48
+ y: horizontal ? 0 : -1 * sign * defaultPadding,
50
49
  };
51
50
  }
52
51
 
@@ -58,7 +57,7 @@ function getOffset(props, datum) {
58
57
 
59
58
  return {
60
59
  dx: padding.x,
61
- dy: padding.y
60
+ dy: padding.y,
62
61
  };
63
62
  }
64
63
 
@@ -71,7 +70,7 @@ function getPosition(props, datum) {
71
70
  const polarPadding = getPolarPadding(props, datum);
72
71
  return {
73
72
  x: x + polarPadding.x,
74
- y: y + polarPadding.y
73
+ y: y + polarPadding.y,
75
74
  };
76
75
  }
77
76
  }
@@ -84,7 +83,7 @@ function getPolarPadding(props, datum) {
84
83
  const angle = Helpers.degreesToRadians(degrees);
85
84
  return {
86
85
  x: padding * Math.cos(angle),
87
- y: -padding * Math.sin(angle)
86
+ y: -padding * Math.sin(angle),
88
87
  };
89
88
  }
90
89
 
@@ -146,7 +145,7 @@ export function getPolarVerticalAnchor(props, degrees) {
146
145
  return orientation === "top" ? "end" : "start";
147
146
  }
148
147
 
149
- export function getPolarAngle(props, baseAngle) {
148
+ export function getPolarAngle(props, baseAngle?) {
150
149
  const { labelPlacement, datum } = props;
151
150
  if (!labelPlacement || labelPlacement === "vertical") {
152
151
  return 0;
@@ -182,7 +181,7 @@ export function getProps(props, index) {
182
181
  height,
183
182
  theme,
184
183
  labelComponent,
185
- disableInlineStyles
184
+ disableInlineStyles,
186
185
  } = props;
187
186
  const datum = data[index];
188
187
  const degrees = getDegrees(props, datum);
@@ -216,7 +215,7 @@ export function getProps(props, index) {
216
215
  dy,
217
216
  width,
218
217
  height,
219
- style: style.labels
218
+ style: style.labels,
220
219
  };
221
220
  if (!Helpers.isTooltip(labelComponent)) {
222
221
  return labelProps;
@@ -0,0 +1,104 @@
1
+ import * as d3Shape from "victory-vendor/d3-shape";
2
+
3
+ const defined = (d) => {
4
+ const y = d._y1 !== undefined ? d._y1 : d._y;
5
+ return y !== null && y !== undefined && d._y0 !== null;
6
+ };
7
+
8
+ const getXAccessor = (scale) => {
9
+ return (d) => scale.x(d._x1 !== undefined ? d._x1 : d._x);
10
+ };
11
+
12
+ const getYAccessor = (scale) => {
13
+ return (d) => scale.y(d._y1 !== undefined ? d._y1 : d._y);
14
+ };
15
+
16
+ const getAngleAccessor = (scale) => {
17
+ return (d) => {
18
+ const x = scale.x(d._x1 !== undefined ? d._x1 : d._x);
19
+ return -1 * x + Math.PI / 2;
20
+ };
21
+ };
22
+
23
+ export type CurveName =
24
+ | "basis"
25
+ | "cardinal"
26
+ | "bumpX"
27
+ | "bumpY"
28
+ | "bundle"
29
+ | "catmullRom"
30
+ | "linear"
31
+ | "monotoneX"
32
+ | "monotoneY"
33
+ | "step"
34
+ | "stepAfter"
35
+ | "stepBefore"
36
+ | "natural";
37
+
38
+ type ShapeMethod = keyof Pick<
39
+ typeof d3Shape,
40
+ | "curveBasis"
41
+ | "curveCardinal"
42
+ | "curveBumpX"
43
+ | "curveBumpY"
44
+ | "curveBundle"
45
+ | "curveCatmullRom"
46
+ | "curveLinear"
47
+ | "curveMonotoneX"
48
+ | "curveMonotoneY"
49
+ | "curveStep"
50
+ | "curveStepAfter"
51
+ | "curveStepBefore"
52
+ | "curveNatural"
53
+ >;
54
+ type ShapeMethodClosed = keyof Pick<
55
+ typeof d3Shape,
56
+ | "curveBasisClosed"
57
+ | "curveCardinalClosed"
58
+ | "curveLinearClosed"
59
+ | "curveCatmullRomClosed"
60
+ >;
61
+
62
+ const toNewName = (interpolation: CurveName) => {
63
+ // d3 shape changed the naming scheme for interpolators from "basis" -> "curveBasis" etc.
64
+ const capitalize = (s) => s && s[0].toUpperCase() + s.slice(1);
65
+ return `curve${capitalize(interpolation)}` as ShapeMethod;
66
+ };
67
+ const toNewNameClosed = (interpolation: CurveName) => {
68
+ return `${toNewName(interpolation)}Closed` as ShapeMethodClosed;
69
+ };
70
+
71
+ export const getInterpolationFunction = (props) => {
72
+ const { interpolation } = props;
73
+
74
+ if (typeof interpolation === "function") {
75
+ return interpolation;
76
+ }
77
+ if (typeof interpolation === "string") {
78
+ const { polar, openCurve = !polar } = props;
79
+ const interpolationName = !openCurve
80
+ ? toNewNameClosed(interpolation as CurveName)
81
+ : toNewName(interpolation as CurveName);
82
+
83
+ return d3Shape[interpolationName];
84
+ }
85
+
86
+ return d3Shape.curveLinear;
87
+ };
88
+
89
+ export const getLineFunction = (props) => {
90
+ const { polar, scale, horizontal } = props;
91
+ return polar
92
+ ? d3Shape
93
+ .lineRadial()
94
+ .defined(defined)
95
+ .curve(getInterpolationFunction(props))
96
+ .angle(getAngleAccessor(scale))
97
+ .radius(getYAccessor(scale))
98
+ : d3Shape
99
+ .line()
100
+ .defined(defined)
101
+ .curve(getInterpolationFunction(props))
102
+ .x(horizontal ? getYAccessor(scale) : getXAccessor(scale))
103
+ .y(horizontal ? getXAccessor(scale) : getYAccessor(scale));
104
+ };
@@ -2,8 +2,7 @@
2
2
  /* eslint-disable no-console */
3
3
 
4
4
  // TODO: Use "warning" npm module like React is switching to.
5
- // eslint-disable-next-line func-style
6
- export function warn(message) {
5
+ export function warn(message: string) {
7
6
  if (process.env.NODE_ENV !== "production") {
8
7
  if (console && console.warn) {
9
8
  console.warn(message);
@@ -0,0 +1,119 @@
1
+ /*eslint no-magic-numbers: ["error", { "ignore": [0, 1, 2, 2.5, 3] }]*/
2
+ import { range } from "lodash";
3
+
4
+ export function circle(x: number, y: number, size: number) {
5
+ return `M ${x}, ${y}
6
+ m ${-size}, 0
7
+ a ${size}, ${size} 0 1,0 ${size * 2},0
8
+ a ${size}, ${size} 0 1,0 ${-size * 2},0`;
9
+ }
10
+
11
+ export function square(x: number, y: number, size: number) {
12
+ const baseSize = 0.87 * size; // eslint-disable-line no-magic-numbers
13
+ const x0 = x - baseSize;
14
+ const y1 = y + baseSize;
15
+ const distance = x + baseSize - x0;
16
+ return `M ${x0}, ${y1}
17
+ h${distance}
18
+ v-${distance}
19
+ h-${distance}
20
+ z`;
21
+ }
22
+
23
+ export function diamond(x: number, y: number, size: number) {
24
+ const baseSize = 0.87 * size; // eslint-disable-line no-magic-numbers
25
+ const length = Math.sqrt(2 * (baseSize * baseSize));
26
+ return `M ${x}, ${y + length}
27
+ l ${length}, -${length}
28
+ l -${length}, -${length}
29
+ l -${length}, ${length}
30
+ l ${length}, ${length}
31
+ z`;
32
+ }
33
+
34
+ export function triangleDown(x: number, y: number, size: number) {
35
+ const height = (size / 2) * Math.sqrt(3);
36
+ const x0 = x - size;
37
+ const x1 = x + size;
38
+ const y0 = y - size;
39
+ const y1 = y + height;
40
+ return `M ${x0}, ${y0}
41
+ L ${x1}, ${y0}
42
+ L ${x}, ${y1}
43
+ z`;
44
+ }
45
+
46
+ export function triangleUp(x: number, y: number, size: number) {
47
+ const height = (size / 2) * Math.sqrt(3);
48
+ const x0 = x - size;
49
+ const x1 = x + size;
50
+ const y0 = y - height;
51
+ const y1 = y + size;
52
+ return `M ${x0}, ${y1}
53
+ L ${x1}, ${y1}
54
+ L ${x}, ${y0}
55
+ z`;
56
+ }
57
+
58
+ export function plus(x: number, y: number, size: number) {
59
+ const baseSize = 1.1 * size; // eslint-disable-line no-magic-numbers
60
+ const distance = baseSize / 1.5; // eslint-disable-line no-magic-numbers
61
+ return `
62
+ M ${x - distance / 2}, ${y + baseSize}
63
+ v-${distance}
64
+ h-${distance}
65
+ v-${distance}
66
+ h${distance}
67
+ v-${distance}
68
+ h${distance}
69
+ v${distance}
70
+ h${distance}
71
+ v${distance}
72
+ h-${distance}
73
+ v${distance}
74
+ z`;
75
+ }
76
+
77
+ export function cross(x: number, y: number, size: number) {
78
+ const baseSize = 0.8 * size; // eslint-disable-line no-magic-numbers
79
+ const distance = baseSize / 1.5; // eslint-disable-line no-magic-numbers
80
+ return `
81
+ M ${x - distance / 2}, ${y + baseSize + distance}
82
+ v-${distance * 2}
83
+ h-${distance}
84
+ v-${distance}
85
+ h${distance}
86
+ v-${distance}
87
+ h${distance}
88
+ v${distance}
89
+ h${distance}
90
+ v${distance}
91
+ h-${distance}
92
+ v${distance * 2}
93
+ z`;
94
+ }
95
+
96
+ export function minus(x: number, y: number, size: number) {
97
+ const baseSize = 1.1 * size; // eslint-disable-line no-magic-numbers
98
+ const lineHeight = baseSize - baseSize * 0.3; // eslint-disable-line no-magic-numbers
99
+ const x0 = x - baseSize;
100
+ const y1 = y + lineHeight / 2;
101
+ const distance = x + baseSize - x0;
102
+ return `M ${x0}, ${y1}
103
+ h${distance}
104
+ v-${lineHeight}
105
+ h-${distance}
106
+ z`;
107
+ }
108
+
109
+ export function star(x: number, y: number, size: number) {
110
+ const baseSize = 1.35 * size; // eslint-disable-line no-magic-numbers
111
+ const angle = Math.PI / 5; // eslint-disable-line no-magic-numbers
112
+ // eslint-disable-next-line no-magic-numbers
113
+ const starCoords = range(10).map((index) => {
114
+ const length = index % 2 === 0 ? baseSize : baseSize / 2;
115
+ return `${length * Math.sin(angle * (index + 1)) + x},
116
+ ${length * Math.cos(angle * (index + 1)) + y}`;
117
+ });
118
+ return `M ${starCoords.join("L")} z`;
119
+ }