Index: node_modules/recharts/lib/util/TickUtils.js
===================================================================
--- node_modules/recharts/lib/util/TickUtils.js	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/recharts/lib/util/TickUtils.js	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,49 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.getAngledTickWidth = getAngledTickWidth;
+exports.getNumberIntervalTicks = getNumberIntervalTicks;
+exports.getTickBoundaries = getTickBoundaries;
+exports.isVisible = isVisible;
+var _CartesianUtils = require("./CartesianUtils");
+var _getEveryNth = require("./getEveryNth");
+function getAngledTickWidth(contentSize, unitSize, angle) {
+  var size = {
+    width: contentSize.width + unitSize.width,
+    height: contentSize.height + unitSize.height
+  };
+  return (0, _CartesianUtils.getAngledRectangleWidth)(size, angle);
+}
+function getTickBoundaries(viewBox, sign, sizeKey) {
+  var isWidth = sizeKey === 'width';
+  var {
+    x,
+    y,
+    width,
+    height
+  } = viewBox;
+  if (sign === 1) {
+    return {
+      start: isWidth ? x : y,
+      end: isWidth ? x + width : y + height
+    };
+  }
+  return {
+    start: isWidth ? x + width : y + height,
+    end: isWidth ? x : y
+  };
+}
+function isVisible(sign, tickPosition, getSize, start, end) {
+  /* Since getSize() is expensive (it reads the ticks' size from the DOM), we do this check first to avoid calculating
+   * the tick's size. */
+  if (sign * tickPosition < sign * start || sign * tickPosition > sign * end) {
+    return false;
+  }
+  var size = getSize();
+  return sign * (tickPosition - sign * size / 2 - start) >= 0 && sign * (tickPosition + sign * size / 2 - end) <= 0;
+}
+function getNumberIntervalTicks(ticks, interval) {
+  return (0, _getEveryNth.getEveryNth)(ticks, interval + 1);
+}
