{"version":3,"file":"BarChart-GlY5o0Rr.cjs","sources":["../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/symbol/circle.js","../node_modules/d3-shape/src/symbol/cross.js","../node_modules/d3-shape/src/symbol/diamond.js","../node_modules/d3-shape/src/symbol/square.js","../node_modules/d3-shape/src/symbol/star.js","../node_modules/d3-shape/src/symbol/triangle.js","../node_modules/d3-shape/src/symbol/wye.js","../node_modules/d3-shape/src/symbol.js","../node_modules/recharts/es6/shape/Symbols.js","../node_modules/es-toolkit/dist/function/debounce.js","../node_modules/es-toolkit/dist/compat/function/debounce.js","../node_modules/es-toolkit/dist/compat/function/throttle.js","../node_modules/es-toolkit/compat/throttle.js","../node_modules/recharts/es6/util/LogUtils.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/recharts/es6/component/Cell.js","../node_modules/recharts/es6/util/DOMUtils.js","../node_modules/recharts/es6/util/ReduceCSSCalc.js","../node_modules/recharts/es6/component/Text.js","../node_modules/recharts/es6/component/Label.js","../node_modules/es-toolkit/dist/array/last.js","../node_modules/es-toolkit/dist/compat/_internal/toArray.js","../node_modules/es-toolkit/dist/compat/array/last.js","../node_modules/es-toolkit/compat/last.js","../node_modules/recharts/es6/component/LabelList.js","../node_modules/recharts/es6/state/SetGraphicalItem.js","../node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js","../node_modules/es-toolkit/compat/isPlainObject.js","../node_modules/recharts/es6/shape/Trapezoid.js","../node_modules/recharts/es6/util/ActiveShapeUtils.js","../node_modules/recharts/es6/context/tooltipContext.js","../node_modules/recharts/es6/state/SetLegendPayload.js","../node_modules/recharts/es6/util/useAnimationId.js","../node_modules/recharts/es6/state/ReportBar.js","../node_modules/recharts/es6/context/CartesianGraphicalItemContext.js","../node_modules/recharts/es6/hooks.js","../node_modules/recharts/es6/cartesian/ErrorBar.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/recharts/es6/util/BarUtils.js","../node_modules/recharts/es6/cartesian/GraphicalItemClipPath.js","../node_modules/recharts/es6/cartesian/Bar.js","../node_modules/recharts/es6/state/selectors/barSelectors.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/recharts/es6/container/ClipPathProvider.js","../node_modules/recharts/es6/util/getEveryNthWithCondition.js","../node_modules/recharts/es6/util/TickUtils.js","../node_modules/recharts/es6/cartesian/getEquidistantTicks.js","../node_modules/recharts/es6/cartesian/getTicks.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/util/YAxisUtils.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/recharts/es6/state/ReportMainChartProps.js","../node_modules/recharts/es6/state/ReportChartProps.js","../node_modules/recharts/es6/container/RootSurface.js","../node_modules/recharts/es6/chart/CategoricalChart.js","../node_modules/recharts/es6/chart/CartesianChart.js","../node_modules/recharts/es6/chart/BarChart.js"],"sourcesContent":["export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n  return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n  return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {pi, sqrt, tau} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size / pi);\n    context.moveTo(r, 0);\n    context.arc(0, 0, r, 0, tau);\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size / 5) / 2;\n    context.moveTo(-3 * r, -r);\n    context.lineTo(-r, -r);\n    context.lineTo(-r, -3 * r);\n    context.lineTo(r, -3 * r);\n    context.lineTo(r, -r);\n    context.lineTo(3 * r, -r);\n    context.lineTo(3 * r, r);\n    context.lineTo(r, r);\n    context.lineTo(r, 3 * r);\n    context.lineTo(-r, 3 * r);\n    context.lineTo(-r, r);\n    context.lineTo(-3 * r, r);\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nconst tan30 = sqrt(1 / 3);\nconst tan30_2 = tan30 * 2;\n\nexport default {\n  draw(context, size) {\n    const y = sqrt(size / tan30_2);\n    const x = y * tan30;\n    context.moveTo(0, -y);\n    context.lineTo(x, 0);\n    context.lineTo(0, y);\n    context.lineTo(-x, 0);\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const w = sqrt(size);\n    const x = -w / 2;\n    context.rect(x, x, w, w);\n  }\n};\n","import {sin, cos, sqrt, pi, tau} from \"../math.js\";\n\nconst ka = 0.89081309152928522810;\nconst kr = sin(pi / 10) / sin(7 * pi / 10);\nconst kx = sin(tau / 10) * kr;\nconst ky = -cos(tau / 10) * kr;\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size * ka);\n    const x = kx * r;\n    const y = ky * r;\n    context.moveTo(0, -r);\n    context.lineTo(x, y);\n    for (let i = 1; i < 5; ++i) {\n      const a = tau * i / 5;\n      const c = cos(a);\n      const s = sin(a);\n      context.lineTo(s * r, -c * r);\n      context.lineTo(c * x - s * y, s * x + c * y);\n    }\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n  draw(context, size) {\n    const y = -sqrt(size / (sqrt3 * 3));\n    context.moveTo(0, y * 2);\n    context.lineTo(-sqrt3 * y, -y);\n    context.lineTo(sqrt3 * y, -y);\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size / a);\n    const x0 = r / 2, y0 = r * k;\n    const x1 = x0, y1 = r * k + r;\n    const x2 = -x1, y2 = y1;\n    context.moveTo(x0, y0);\n    context.lineTo(x1, y1);\n    context.lineTo(x2, y2);\n    context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n    context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n    context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n    context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n    context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n    context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n    context.closePath();\n  }\n};\n","import constant from \"./constant.js\";\nimport {withPath} from \"./path.js\";\nimport asterisk from \"./symbol/asterisk.js\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport diamond2 from \"./symbol/diamond2.js\";\nimport plus from \"./symbol/plus.js\";\nimport square from \"./symbol/square.js\";\nimport square2 from \"./symbol/square2.js\";\nimport star from \"./symbol/star.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport triangle2 from \"./symbol/triangle2.js\";\nimport wye from \"./symbol/wye.js\";\nimport times from \"./symbol/times.js\";\n\n// These symbols are designed to be filled.\nexport const symbolsFill = [\n  circle,\n  cross,\n  diamond,\n  square,\n  star,\n  triangle,\n  wye\n];\n\n// These symbols are designed to be stroked (with a width of 1.5px and round caps).\nexport const symbolsStroke = [\n  circle,\n  plus,\n  times,\n  triangle2,\n  asterisk,\n  square2,\n  diamond2\n];\n\nexport default function Symbol(type, size) {\n  let context = null,\n      path = withPath(symbol);\n\n  type = typeof type === \"function\" ? type : constant(type || circle);\n  size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n  function symbol() {\n    let buffer;\n    if (!context) context = buffer = path();\n    type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n    if (buffer) return context = null, buffer + \"\" || null;\n  }\n\n  symbol.type = function(_) {\n    return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n  };\n\n  symbol.size = function(_) {\n    return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n  };\n\n  symbol.context = function(_) {\n    return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n  };\n\n  return symbol;\n}\n","var _excluded = [\"type\", \"size\", \"sizeType\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/**\n * @fileOverview Curve\n */\nimport * as React from 'react';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'victory-vendor/d3-shape';\nimport { clsx } from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nimport { upperFirst } from '../util/DataUtils';\nvar symbolFactories = {\n  symbolCircle,\n  symbolCross,\n  symbolDiamond,\n  symbolSquare,\n  symbolStar,\n  symbolTriangle,\n  symbolWye\n};\nvar RADIAN = Math.PI / 180;\nvar getSymbolFactory = type => {\n  var name = \"symbol\".concat(upperFirst(type));\n  return symbolFactories[name] || symbolCircle;\n};\nvar calculateAreaSize = (size, sizeType, type) => {\n  if (sizeType === 'area') {\n    return size;\n  }\n  switch (type) {\n    case 'cross':\n      return 5 * size * size / 9;\n    case 'diamond':\n      return 0.5 * size * size / Math.sqrt(3);\n    case 'square':\n      return size * size;\n    case 'star':\n      {\n        var angle = 18 * RADIAN;\n        return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.tan(angle) ** 2);\n      }\n    case 'triangle':\n      return Math.sqrt(3) * size * size / 4;\n    case 'wye':\n      return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n    default:\n      return Math.PI * size * size / 4;\n  }\n};\nvar registerSymbol = (key, factory) => {\n  symbolFactories[\"symbol\".concat(upperFirst(key))] = factory;\n};\nexport var Symbols = _ref => {\n  var {\n      type = 'circle',\n      size = 64,\n      sizeType = 'area'\n    } = _ref,\n    rest = _objectWithoutProperties(_ref, _excluded);\n  var props = _objectSpread(_objectSpread({}, rest), {}, {\n    type,\n    size,\n    sizeType\n  });\n\n  /**\n   * Calculate the path of curve\n   * @return {String} path\n   */\n  var getPath = () => {\n    var symbolFactory = getSymbolFactory(type);\n    var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n    return symbol();\n  };\n  var {\n    className,\n    cx,\n    cy\n  } = props;\n  var filteredProps = filterProps(props, true);\n  if (cx === +cx && cy === +cy && size === +size) {\n    return /*#__PURE__*/React.createElement(\"path\", _extends({}, filteredProps, {\n      className: clsx('recharts-symbols', className),\n      transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n      d: getPath()\n    }));\n  }\n  return null;\n};\nSymbols.registerSymbol = registerSymbol;","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction debounce(func, debounceMs, { signal, edges } = {}) {\n    let pendingThis = undefined;\n    let pendingArgs = null;\n    const leading = edges != null && edges.includes('leading');\n    const trailing = edges == null || edges.includes('trailing');\n    const invoke = () => {\n        if (pendingArgs !== null) {\n            func.apply(pendingThis, pendingArgs);\n            pendingThis = undefined;\n            pendingArgs = null;\n        }\n    };\n    const onTimerEnd = () => {\n        if (trailing) {\n            invoke();\n        }\n        cancel();\n    };\n    let timeoutId = null;\n    const schedule = () => {\n        if (timeoutId != null) {\n            clearTimeout(timeoutId);\n        }\n        timeoutId = setTimeout(() => {\n            timeoutId = null;\n            onTimerEnd();\n        }, debounceMs);\n    };\n    const cancelTimer = () => {\n        if (timeoutId !== null) {\n            clearTimeout(timeoutId);\n            timeoutId = null;\n        }\n    };\n    const cancel = () => {\n        cancelTimer();\n        pendingThis = undefined;\n        pendingArgs = null;\n    };\n    const flush = () => {\n        invoke();\n    };\n    const debounced = function (...args) {\n        if (signal?.aborted) {\n            return;\n        }\n        pendingThis = this;\n        pendingArgs = args;\n        const isFirstCall = timeoutId == null;\n        schedule();\n        if (leading && isFirstCall) {\n            invoke();\n        }\n    };\n    debounced.schedule = schedule;\n    debounced.cancel = cancel;\n    debounced.flush = flush;\n    signal?.addEventListener('abort', cancel, { once: true });\n    return debounced;\n}\n\nexports.debounce = debounce;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst debounce$1 = require('../../function/debounce.js');\n\nfunction debounce(func, debounceMs = 0, options = {}) {\n    if (typeof options !== 'object') {\n        options = {};\n    }\n    const { leading = false, trailing = true, maxWait } = options;\n    const edges = Array(2);\n    if (leading) {\n        edges[0] = 'leading';\n    }\n    if (trailing) {\n        edges[1] = 'trailing';\n    }\n    let result = undefined;\n    let pendingAt = null;\n    const _debounced = debounce$1.debounce(function (...args) {\n        result = func.apply(this, args);\n        pendingAt = null;\n    }, debounceMs, { edges });\n    const debounced = function (...args) {\n        if (maxWait != null) {\n            if (pendingAt === null) {\n                pendingAt = Date.now();\n            }\n            if (Date.now() - pendingAt >= maxWait) {\n                result = func.apply(this, args);\n                pendingAt = Date.now();\n                _debounced.cancel();\n                _debounced.schedule();\n                return result;\n            }\n        }\n        _debounced.apply(this, args);\n        return result;\n    };\n    const flush = () => {\n        _debounced.flush();\n        return result;\n    };\n    debounced.cancel = _debounced.cancel;\n    debounced.flush = flush;\n    return debounced;\n}\n\nexports.debounce = debounce;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst debounce = require('./debounce.js');\n\nfunction throttle(func, throttleMs = 0, options = {}) {\n    const { leading = true, trailing = true } = options;\n    return debounce.debounce(func, throttleMs, {\n        leading,\n        maxWait: throttleMs,\n        trailing,\n    });\n}\n\nexports.throttle = throttle;\n","module.exports = require('../dist/compat/function/throttle.js').throttle;\n","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    args[_key - 2] = arguments[_key];\n  }\n  if (isDev && typeof console !== 'undefined' && console.warn) {\n    if (format === undefined) {\n      console.warn('LogUtils requires an error message argument');\n    }\n    if (!condition) {\n      if (format === undefined) {\n        console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n      } else {\n        var argIndex = 0;\n        console.warn(format.replace(/%s/g, () => args[argIndex++]));\n      }\n    }\n  }\n};","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { clsx } from 'clsx';\nimport * as React from 'react';\nimport { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect, useMemo, useCallback } from 'react';\nimport throttle from 'es-toolkit/compat/throttle';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef((_ref, ref) => {\n  var {\n    aspect,\n    initialDimension = {\n      width: -1,\n      height: -1\n    },\n    width = '100%',\n    height = '100%',\n    /*\n     * default min-width to 0 if not specified - 'auto' causes issues with flexbox\n     * https://github.com/recharts/recharts/issues/172\n     */\n    minWidth = 0,\n    minHeight,\n    maxHeight,\n    children,\n    debounce = 0,\n    id,\n    className,\n    onResize,\n    style = {}\n  } = _ref;\n  var containerRef = useRef(null);\n  var onResizeRef = useRef();\n  onResizeRef.current = onResize;\n  useImperativeHandle(ref, () => containerRef.current);\n  var [sizes, setSizes] = useState({\n    containerWidth: initialDimension.width,\n    containerHeight: initialDimension.height\n  });\n  var setContainerSize = useCallback((newWidth, newHeight) => {\n    setSizes(prevState => {\n      var roundedWidth = Math.round(newWidth);\n      var roundedHeight = Math.round(newHeight);\n      if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n        return prevState;\n      }\n      return {\n        containerWidth: roundedWidth,\n        containerHeight: roundedHeight\n      };\n    });\n  }, []);\n  useEffect(() => {\n    var callback = entries => {\n      var _onResizeRef$current;\n      var {\n        width: containerWidth,\n        height: containerHeight\n      } = entries[0].contentRect;\n      setContainerSize(containerWidth, containerHeight);\n      (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth, containerHeight);\n    };\n    if (debounce > 0) {\n      callback = throttle(callback, debounce, {\n        trailing: true,\n        leading: false\n      });\n    }\n    var observer = new ResizeObserver(callback);\n    var {\n      width: containerWidth,\n      height: containerHeight\n    } = containerRef.current.getBoundingClientRect();\n    setContainerSize(containerWidth, containerHeight);\n    observer.observe(containerRef.current);\n    return () => {\n      observer.disconnect();\n    };\n  }, [setContainerSize, debounce]);\n  var chartContent = useMemo(() => {\n    var {\n      containerWidth,\n      containerHeight\n    } = sizes;\n    if (containerWidth < 0 || containerHeight < 0) {\n      return null;\n    }\n    warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n       maybe you don't need to use a ResponsiveContainer.\", width, height);\n    warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n    var calculatedWidth = isPercent(width) ? containerWidth : width;\n    var calculatedHeight = isPercent(height) ? containerHeight : height;\n    if (aspect && aspect > 0) {\n      // Preserve the desired aspect ratio\n      if (calculatedWidth) {\n        // Will default to using width for aspect ratio\n        calculatedHeight = calculatedWidth / aspect;\n      } else if (calculatedHeight) {\n        // But we should also take height into consideration\n        calculatedWidth = calculatedHeight * aspect;\n      }\n\n      // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n      if (maxHeight && calculatedHeight > maxHeight) {\n        calculatedHeight = maxHeight;\n      }\n    }\n    warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n       please check the style of container, or the props width(%s) and height(%s),\\n       or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n       height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n    return React.Children.map(children, child => {\n      return /*#__PURE__*/cloneElement(child, {\n        width: calculatedWidth,\n        height: calculatedHeight,\n        // calculate the actual size and override it.\n        style: _objectSpread({\n          height: '100%',\n          width: '100%',\n          maxHeight: calculatedHeight,\n          maxWidth: calculatedWidth\n        }, child.props.style)\n      });\n    });\n  }, [aspect, children, height, maxHeight, minHeight, minWidth, sizes, width]);\n  return /*#__PURE__*/React.createElement(\"div\", {\n    id: id ? \"\".concat(id) : undefined,\n    className: clsx('recharts-responsive-container', className),\n    style: _objectSpread(_objectSpread({}, style), {}, {\n      width,\n      height,\n      minWidth,\n      minHeight,\n      maxHeight\n    }),\n    ref: containerRef\n  }, chartContent);\n});","/**\n * @fileOverview Cross\n */\n\nexport var Cell = _props => null;\nCell.displayName = 'Cell';","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { Global } from './Global';\nvar stringCache = {\n  widthCache: {},\n  cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n  position: 'absolute',\n  top: '-20000px',\n  left: 0,\n  padding: 0,\n  margin: 0,\n  border: 'none',\n  whiteSpace: 'pre'\n};\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\nfunction removeInvalidKeys(obj) {\n  var copyObj = _objectSpread({}, obj);\n  Object.keys(copyObj).forEach(key => {\n    if (!copyObj[key]) {\n      delete copyObj[key];\n    }\n  });\n  return copyObj;\n}\nexport var getStringSize = function getStringSize(text) {\n  var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  if (text === undefined || text === null || Global.isSsr) {\n    return {\n      width: 0,\n      height: 0\n    };\n  }\n  var copyStyle = removeInvalidKeys(style);\n  var cacheKey = JSON.stringify({\n    text,\n    copyStyle\n  });\n  if (stringCache.widthCache[cacheKey]) {\n    return stringCache.widthCache[cacheKey];\n  }\n  try {\n    var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n    if (!measurementSpan) {\n      measurementSpan = document.createElement('span');\n      measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n      measurementSpan.setAttribute('aria-hidden', 'true');\n      document.body.appendChild(measurementSpan);\n    }\n    // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n    // https://en.wikipedia.org/wiki/Content_Security_Policy\n    var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), copyStyle);\n    Object.assign(measurementSpan.style, measurementSpanStyle);\n    measurementSpan.textContent = \"\".concat(text);\n    var rect = measurementSpan.getBoundingClientRect();\n    var result = {\n      width: rect.width,\n      height: rect.height\n    };\n    stringCache.widthCache[cacheKey] = result;\n    if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n      stringCache.cacheCount = 0;\n      stringCache.widthCache = {};\n    }\n    return result;\n  } catch (_unused) {\n    return {\n      width: 0,\n      height: 0\n    };\n  }\n};","import { isNan } from './DataUtils';\nvar MULTIPLY_OR_DIVIDE_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([*/])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar ADD_OR_SUBTRACT_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([+-])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar CSS_LENGTH_UNIT_REGEX = /^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/;\nvar NUM_SPLIT_REGEX = /(-?\\d+(?:\\.\\d+)?)([a-zA-Z%]+)?/;\nvar CONVERSION_RATES = {\n  cm: 96 / 2.54,\n  mm: 96 / 25.4,\n  pt: 96 / 72,\n  pc: 96 / 6,\n  in: 96,\n  Q: 96 / (2.54 * 40),\n  px: 1\n};\nvar FIXED_CSS_LENGTH_UNITS = Object.keys(CONVERSION_RATES);\nvar STR_NAN = 'NaN';\nfunction convertToPx(value, unit) {\n  return value * CONVERSION_RATES[unit];\n}\nclass DecimalCSS {\n  static parse(str) {\n    var _NUM_SPLIT_REGEX$exec;\n    var [, numStr, unit] = (_NUM_SPLIT_REGEX$exec = NUM_SPLIT_REGEX.exec(str)) !== null && _NUM_SPLIT_REGEX$exec !== void 0 ? _NUM_SPLIT_REGEX$exec : [];\n    return new DecimalCSS(parseFloat(numStr), unit !== null && unit !== void 0 ? unit : '');\n  }\n  constructor(num, unit) {\n    this.num = num;\n    this.unit = unit;\n    this.num = num;\n    this.unit = unit;\n    if (isNan(num)) {\n      this.unit = '';\n    }\n    if (unit !== '' && !CSS_LENGTH_UNIT_REGEX.test(unit)) {\n      this.num = NaN;\n      this.unit = '';\n    }\n    if (FIXED_CSS_LENGTH_UNITS.includes(unit)) {\n      this.num = convertToPx(num, unit);\n      this.unit = 'px';\n    }\n  }\n  add(other) {\n    if (this.unit !== other.unit) {\n      return new DecimalCSS(NaN, '');\n    }\n    return new DecimalCSS(this.num + other.num, this.unit);\n  }\n  subtract(other) {\n    if (this.unit !== other.unit) {\n      return new DecimalCSS(NaN, '');\n    }\n    return new DecimalCSS(this.num - other.num, this.unit);\n  }\n  multiply(other) {\n    if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n      return new DecimalCSS(NaN, '');\n    }\n    return new DecimalCSS(this.num * other.num, this.unit || other.unit);\n  }\n  divide(other) {\n    if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n      return new DecimalCSS(NaN, '');\n    }\n    return new DecimalCSS(this.num / other.num, this.unit || other.unit);\n  }\n  toString() {\n    return \"\".concat(this.num).concat(this.unit);\n  }\n  isNaN() {\n    return isNan(this.num);\n  }\n}\nfunction calculateArithmetic(expr) {\n  if (expr.includes(STR_NAN)) {\n    return STR_NAN;\n  }\n  var newExpr = expr;\n  while (newExpr.includes('*') || newExpr.includes('/')) {\n    var _MULTIPLY_OR_DIVIDE_R;\n    var [, leftOperand, operator, rightOperand] = (_MULTIPLY_OR_DIVIDE_R = MULTIPLY_OR_DIVIDE_REGEX.exec(newExpr)) !== null && _MULTIPLY_OR_DIVIDE_R !== void 0 ? _MULTIPLY_OR_DIVIDE_R : [];\n    var lTs = DecimalCSS.parse(leftOperand !== null && leftOperand !== void 0 ? leftOperand : '');\n    var rTs = DecimalCSS.parse(rightOperand !== null && rightOperand !== void 0 ? rightOperand : '');\n    var result = operator === '*' ? lTs.multiply(rTs) : lTs.divide(rTs);\n    if (result.isNaN()) {\n      return STR_NAN;\n    }\n    newExpr = newExpr.replace(MULTIPLY_OR_DIVIDE_REGEX, result.toString());\n  }\n  while (newExpr.includes('+') || /.-\\d+(?:\\.\\d+)?/.test(newExpr)) {\n    var _ADD_OR_SUBTRACT_REGE;\n    var [, _leftOperand, _operator, _rightOperand] = (_ADD_OR_SUBTRACT_REGE = ADD_OR_SUBTRACT_REGEX.exec(newExpr)) !== null && _ADD_OR_SUBTRACT_REGE !== void 0 ? _ADD_OR_SUBTRACT_REGE : [];\n    var _lTs = DecimalCSS.parse(_leftOperand !== null && _leftOperand !== void 0 ? _leftOperand : '');\n    var _rTs = DecimalCSS.parse(_rightOperand !== null && _rightOperand !== void 0 ? _rightOperand : '');\n    var _result = _operator === '+' ? _lTs.add(_rTs) : _lTs.subtract(_rTs);\n    if (_result.isNaN()) {\n      return STR_NAN;\n    }\n    newExpr = newExpr.replace(ADD_OR_SUBTRACT_REGEX, _result.toString());\n  }\n  return newExpr;\n}\nvar PARENTHESES_REGEX = /\\(([^()]*)\\)/;\nfunction calculateParentheses(expr) {\n  var newExpr = expr;\n  var match;\n  // eslint-disable-next-line no-cond-assign\n  while ((match = PARENTHESES_REGEX.exec(newExpr)) != null) {\n    var [, parentheticalExpression] = match;\n    newExpr = newExpr.replace(PARENTHESES_REGEX, calculateArithmetic(parentheticalExpression));\n  }\n  return newExpr;\n}\nfunction evaluateExpression(expression) {\n  var newExpr = expression.replace(/\\s+/g, '');\n  newExpr = calculateParentheses(newExpr);\n  newExpr = calculateArithmetic(newExpr);\n  return newExpr;\n}\nexport function safeEvaluateExpression(expression) {\n  try {\n    return evaluateExpression(expression);\n  } catch (_unused) {\n    return STR_NAN;\n  }\n}\nexport function reduceCSSCalc(expression) {\n  var result = safeEvaluateExpression(expression.slice(5, -1));\n  if (result === STR_NAN) {\n    return '';\n  }\n  return result;\n}","var _excluded = [\"x\", \"y\", \"lineHeight\", \"capHeight\", \"scaleToFit\", \"textAnchor\", \"verticalAnchor\", \"fill\"],\n  _excluded2 = [\"dx\", \"dy\", \"angle\", \"className\", \"breakAll\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { useMemo, forwardRef } from 'react';\nimport { clsx } from 'clsx';\nimport { isNullish, isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/ReactUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { reduceCSSCalc } from '../util/ReduceCSSCalc';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\nvar calculateWordWidths = _ref => {\n  var {\n    children,\n    breakAll,\n    style\n  } = _ref;\n  try {\n    var words = [];\n    if (!isNullish(children)) {\n      if (breakAll) {\n        words = children.toString().split('');\n      } else {\n        words = children.toString().split(BREAKING_SPACES);\n      }\n    }\n    var wordsWithComputedWidth = words.map(word => ({\n      word,\n      width: getStringSize(word, style).width\n    }));\n    var spaceWidth = breakAll ? 0 : getStringSize('\\u00A0', style).width;\n    return {\n      wordsWithComputedWidth,\n      spaceWidth\n    };\n  } catch (_unused) {\n    return null;\n  }\n};\nvar calculateWordsByLines = (_ref2, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) => {\n  var {\n    maxLines,\n    children,\n    style,\n    breakAll\n  } = _ref2;\n  var shouldLimitLines = isNumber(maxLines);\n  var text = children;\n  var calculate = function calculate() {\n    var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n    return words.reduce((result, _ref3) => {\n      var {\n        word,\n        width\n      } = _ref3;\n      var currentLine = result[result.length - 1];\n      if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < Number(lineWidth))) {\n        // Word can be added to an existing line\n        currentLine.words.push(word);\n        currentLine.width += width + spaceWidth;\n      } else {\n        // Add first word to line or word is too long to scaleToFit on existing line\n        var newLine = {\n          words: [word],\n          width\n        };\n        result.push(newLine);\n      }\n      return result;\n    }, []);\n  };\n  var originalResult = calculate(initialWordsWithComputedWith);\n  var findLongestLine = words => words.reduce((a, b) => a.width > b.width ? a : b);\n  if (!shouldLimitLines || scaleToFit) {\n    return originalResult;\n  }\n  var overflows = originalResult.length > maxLines || findLongestLine(originalResult).width > Number(lineWidth);\n  if (!overflows) {\n    return originalResult;\n  }\n  var suffix = '…';\n  var checkOverflow = index => {\n    var tempText = text.slice(0, index);\n    var words = calculateWordWidths({\n      breakAll,\n      style,\n      children: tempText + suffix\n    }).wordsWithComputedWidth;\n    var result = calculate(words);\n    var doesOverflow = result.length > maxLines || findLongestLine(result).width > Number(lineWidth);\n    return [doesOverflow, result];\n  };\n  var start = 0;\n  var end = text.length - 1;\n  var iterations = 0;\n  var trimmedResult;\n  while (start <= end && iterations <= text.length - 1) {\n    var middle = Math.floor((start + end) / 2);\n    var prev = middle - 1;\n    var [doesPrevOverflow, result] = checkOverflow(prev);\n    var [doesMiddleOverflow] = checkOverflow(middle);\n    if (!doesPrevOverflow && !doesMiddleOverflow) {\n      start = middle + 1;\n    }\n    if (doesPrevOverflow && doesMiddleOverflow) {\n      end = middle - 1;\n    }\n    if (!doesPrevOverflow && doesMiddleOverflow) {\n      trimmedResult = result;\n      break;\n    }\n    iterations++;\n  }\n\n  // Fallback to originalResult (result without trimming) if we cannot find the\n  // where to trim.  This should not happen :tm:\n  return trimmedResult || originalResult;\n};\nvar getWordsWithoutCalculate = children => {\n  var words = !isNullish(children) ? children.toString().split(BREAKING_SPACES) : [];\n  return [{\n    words\n  }];\n};\nexport var getWordsByLines = _ref4 => {\n  var {\n    width,\n    scaleToFit,\n    children,\n    style,\n    breakAll,\n    maxLines\n  } = _ref4;\n  // Only perform calculations if using features that require them (multiline, scaleToFit)\n  if ((width || scaleToFit) && !Global.isSsr) {\n    var wordsWithComputedWidth, spaceWidth;\n    var wordWidths = calculateWordWidths({\n      breakAll,\n      children,\n      style\n    });\n    if (wordWidths) {\n      var {\n        wordsWithComputedWidth: wcw,\n        spaceWidth: sw\n      } = wordWidths;\n      wordsWithComputedWidth = wcw;\n      spaceWidth = sw;\n    } else {\n      return getWordsWithoutCalculate(children);\n    }\n    return calculateWordsByLines({\n      breakAll,\n      children,\n      maxLines,\n      style\n    }, wordsWithComputedWidth, spaceWidth, width, scaleToFit);\n  }\n  return getWordsWithoutCalculate(children);\n};\nvar DEFAULT_FILL = '#808080';\nexport var Text = /*#__PURE__*/forwardRef((_ref5, ref) => {\n  var {\n      x: propsX = 0,\n      y: propsY = 0,\n      lineHeight = '1em',\n      // Magic number from d3\n      capHeight = '0.71em',\n      scaleToFit = false,\n      textAnchor = 'start',\n      // Maintain compat with existing charts / default SVG behavior\n      verticalAnchor = 'end',\n      fill = DEFAULT_FILL\n    } = _ref5,\n    props = _objectWithoutProperties(_ref5, _excluded);\n  var wordsByLines = useMemo(() => {\n    return getWordsByLines({\n      breakAll: props.breakAll,\n      children: props.children,\n      maxLines: props.maxLines,\n      scaleToFit,\n      style: props.style,\n      width: props.width\n    });\n  }, [props.breakAll, props.children, props.maxLines, scaleToFit, props.style, props.width]);\n  var {\n      dx,\n      dy,\n      angle,\n      className,\n      breakAll\n    } = props,\n    textProps = _objectWithoutProperties(props, _excluded2);\n  if (!isNumOrStr(propsX) || !isNumOrStr(propsY)) {\n    return null;\n  }\n  var x = propsX + (isNumber(dx) ? dx : 0);\n  var y = propsY + (isNumber(dy) ? dy : 0);\n  var startDy;\n  switch (verticalAnchor) {\n    case 'start':\n      startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n      break;\n    case 'middle':\n      startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n      break;\n    default:\n      startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n      break;\n  }\n  var transforms = [];\n  if (scaleToFit) {\n    var lineWidth = wordsByLines[0].width;\n    var {\n      width\n    } = props;\n    transforms.push(\"scale(\".concat(isNumber(width) ? width / lineWidth : 1, \")\"));\n  }\n  if (angle) {\n    transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n  }\n  if (transforms.length) {\n    textProps.transform = transforms.join(' ');\n  }\n  return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n    ref: ref,\n    x: x,\n    y: y,\n    className: clsx('recharts-text', className),\n    textAnchor: textAnchor,\n    fill: fill.includes('url') ? DEFAULT_FILL : fill\n  }), wordsByLines.map((line, index) => {\n    var words = line.words.join(breakAll ? '' : ' ');\n    return (\n      /*#__PURE__*/\n      // duplicate words will cause duplicate keys\n      // eslint-disable-next-line react/no-array-index-key\n      React.createElement(\"tspan\", {\n        x: x,\n        dy: index === 0 ? startDy : lineHeight,\n        key: \"\".concat(words, \"-\").concat(index)\n      }, words)\n    );\n  }));\n});\nText.displayName = 'Text';","var _excluded = [\"offset\"],\n  _excluded2 = [\"labelRef\"];\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from 'react';\nimport { cloneElement, isValidElement, createElement } from 'react';\nimport { clsx } from 'clsx';\nimport { Text } from './Text';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign, isNullish } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nimport { useViewBox } from '../context/chartLayoutContext';\nvar getLabel = props => {\n  var {\n    value,\n    formatter\n  } = props;\n  var label = isNullish(props.children) ? value : props.children;\n  if (typeof formatter === 'function') {\n    return formatter(label);\n  }\n  return label;\n};\nexport var isLabelContentAFunction = content => {\n  return content != null && typeof content === 'function';\n};\nvar getDeltaAngle = (startAngle, endAngle) => {\n  var sign = mathSign(endAngle - startAngle);\n  var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n  return sign * deltaAngle;\n};\nvar renderRadialLabel = (labelProps, label, attrs) => {\n  var {\n    position,\n    viewBox,\n    offset,\n    className\n  } = labelProps;\n  var {\n    cx,\n    cy,\n    innerRadius,\n    outerRadius,\n    startAngle,\n    endAngle,\n    clockWise\n  } = viewBox;\n  var radius = (innerRadius + outerRadius) / 2;\n  var deltaAngle = getDeltaAngle(startAngle, endAngle);\n  var sign = deltaAngle >= 0 ? 1 : -1;\n  var labelAngle, direction;\n  if (position === 'insideStart') {\n    labelAngle = startAngle + sign * offset;\n    direction = clockWise;\n  } else if (position === 'insideEnd') {\n    labelAngle = endAngle - sign * offset;\n    direction = !clockWise;\n  } else if (position === 'end') {\n    labelAngle = endAngle + sign * offset;\n    direction = clockWise;\n  }\n  direction = deltaAngle <= 0 ? direction : !direction;\n  var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n  var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n  var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n    A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n    \").concat(endPoint.x, \",\").concat(endPoint.y);\n  var id = isNullish(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n  return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n    dominantBaseline: \"central\",\n    className: clsx('recharts-radial-bar-label', className)\n  }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n    id: id,\n    d: path\n  })), /*#__PURE__*/React.createElement(\"textPath\", {\n    xlinkHref: \"#\".concat(id)\n  }, label));\n};\nvar getAttrsOfPolarLabel = props => {\n  var {\n    viewBox,\n    offset,\n    position\n  } = props;\n  var {\n    cx,\n    cy,\n    innerRadius,\n    outerRadius,\n    startAngle,\n    endAngle\n  } = viewBox;\n  var midAngle = (startAngle + endAngle) / 2;\n  if (position === 'outside') {\n    var {\n      x: _x,\n      y: _y\n    } = polarToCartesian(cx, cy, outerRadius + offset, midAngle);\n    return {\n      x: _x,\n      y: _y,\n      textAnchor: _x >= cx ? 'start' : 'end',\n      verticalAnchor: 'middle'\n    };\n  }\n  if (position === 'center') {\n    return {\n      x: cx,\n      y: cy,\n      textAnchor: 'middle',\n      verticalAnchor: 'middle'\n    };\n  }\n  if (position === 'centerTop') {\n    return {\n      x: cx,\n      y: cy,\n      textAnchor: 'middle',\n      verticalAnchor: 'start'\n    };\n  }\n  if (position === 'centerBottom') {\n    return {\n      x: cx,\n      y: cy,\n      textAnchor: 'middle',\n      verticalAnchor: 'end'\n    };\n  }\n  var r = (innerRadius + outerRadius) / 2;\n  var {\n    x,\n    y\n  } = polarToCartesian(cx, cy, r, midAngle);\n  return {\n    x,\n    y,\n    textAnchor: 'middle',\n    verticalAnchor: 'middle'\n  };\n};\nvar getAttrsOfCartesianLabel = (props, viewBox) => {\n  var {\n    parentViewBox,\n    offset,\n    position\n  } = props;\n  var {\n    x,\n    y,\n    width,\n    height\n  } = viewBox;\n\n  // Define vertical offsets and position inverts based on the value being positive or negative\n  var verticalSign = height >= 0 ? 1 : -1;\n  var verticalOffset = verticalSign * offset;\n  var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n  var verticalStart = verticalSign > 0 ? 'start' : 'end';\n\n  // Define horizontal offsets and position inverts based on the value being positive or negative\n  var horizontalSign = width >= 0 ? 1 : -1;\n  var horizontalOffset = horizontalSign * offset;\n  var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n  var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n  if (position === 'top') {\n    var attrs = {\n      x: x + width / 2,\n      y: y - verticalSign * offset,\n      textAnchor: 'middle',\n      verticalAnchor: verticalEnd\n    };\n    return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n      height: Math.max(y - parentViewBox.y, 0),\n      width\n    } : {});\n  }\n  if (position === 'bottom') {\n    var _attrs = {\n      x: x + width / 2,\n      y: y + height + verticalOffset,\n      textAnchor: 'middle',\n      verticalAnchor: verticalStart\n    };\n    return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n      height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n      width\n    } : {});\n  }\n  if (position === 'left') {\n    var _attrs2 = {\n      x: x - horizontalOffset,\n      y: y + height / 2,\n      textAnchor: horizontalEnd,\n      verticalAnchor: 'middle'\n    };\n    return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n      width: Math.max(_attrs2.x - parentViewBox.x, 0),\n      height\n    } : {});\n  }\n  if (position === 'right') {\n    var _attrs3 = {\n      x: x + width + horizontalOffset,\n      y: y + height / 2,\n      textAnchor: horizontalStart,\n      verticalAnchor: 'middle'\n    };\n    return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n      width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n      height\n    } : {});\n  }\n  var sizeAttrs = parentViewBox ? {\n    width,\n    height\n  } : {};\n  if (position === 'insideLeft') {\n    return _objectSpread({\n      x: x + horizontalOffset,\n      y: y + height / 2,\n      textAnchor: horizontalStart,\n      verticalAnchor: 'middle'\n    }, sizeAttrs);\n  }\n  if (position === 'insideRight') {\n    return _objectSpread({\n      x: x + width - horizontalOffset,\n      y: y + height / 2,\n      textAnchor: horizontalEnd,\n      verticalAnchor: 'middle'\n    }, sizeAttrs);\n  }\n  if (position === 'insideTop') {\n    return _objectSpread({\n      x: x + width / 2,\n      y: y + verticalOffset,\n      textAnchor: 'middle',\n      verticalAnchor: verticalStart\n    }, sizeAttrs);\n  }\n  if (position === 'insideBottom') {\n    return _objectSpread({\n      x: x + width / 2,\n      y: y + height - verticalOffset,\n      textAnchor: 'middle',\n      verticalAnchor: verticalEnd\n    }, sizeAttrs);\n  }\n  if (position === 'insideTopLeft') {\n    return _objectSpread({\n      x: x + horizontalOffset,\n      y: y + verticalOffset,\n      textAnchor: horizontalStart,\n      verticalAnchor: verticalStart\n    }, sizeAttrs);\n  }\n  if (position === 'insideTopRight') {\n    return _objectSpread({\n      x: x + width - horizontalOffset,\n      y: y + verticalOffset,\n      textAnchor: horizontalEnd,\n      verticalAnchor: verticalStart\n    }, sizeAttrs);\n  }\n  if (position === 'insideBottomLeft') {\n    return _objectSpread({\n      x: x + horizontalOffset,\n      y: y + height - verticalOffset,\n      textAnchor: horizontalStart,\n      verticalAnchor: verticalEnd\n    }, sizeAttrs);\n  }\n  if (position === 'insideBottomRight') {\n    return _objectSpread({\n      x: x + width - horizontalOffset,\n      y: y + height - verticalOffset,\n      textAnchor: horizontalEnd,\n      verticalAnchor: verticalEnd\n    }, sizeAttrs);\n  }\n  if (!!position && typeof position === 'object' && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n    return _objectSpread({\n      x: x + getPercentValue(position.x, width),\n      y: y + getPercentValue(position.y, height),\n      textAnchor: 'end',\n      verticalAnchor: 'end'\n    }, sizeAttrs);\n  }\n  return _objectSpread({\n    x: x + width / 2,\n    y: y + height / 2,\n    textAnchor: 'middle',\n    verticalAnchor: 'middle'\n  }, sizeAttrs);\n};\nvar isPolar = viewBox => 'cx' in viewBox && isNumber(viewBox.cx);\nexport function Label(_ref) {\n  var {\n      offset = 5\n    } = _ref,\n    restProps = _objectWithoutProperties(_ref, _excluded);\n  var props = _objectSpread({\n    offset\n  }, restProps);\n  var {\n    viewBox: viewBoxFromProps,\n    position,\n    value,\n    children,\n    content,\n    className = '',\n    textBreakAll,\n    labelRef\n  } = props;\n  var viewBoxFromContext = useViewBox();\n  var viewBox = viewBoxFromProps || viewBoxFromContext;\n  if (!viewBox || isNullish(value) && isNullish(children) && ! /*#__PURE__*/isValidElement(content) && typeof content !== 'function') {\n    return null;\n  }\n  if (/*#__PURE__*/isValidElement(content)) {\n    var {\n        labelRef: _\n      } = props,\n      propsWithoutLabelRef = _objectWithoutProperties(props, _excluded2);\n    return /*#__PURE__*/cloneElement(content, propsWithoutLabelRef);\n  }\n  var label;\n  if (typeof content === 'function') {\n    label = /*#__PURE__*/createElement(content, props);\n    if (/*#__PURE__*/isValidElement(label)) {\n      return label;\n    }\n  } else {\n    label = getLabel(props);\n  }\n  var isPolarLabel = isPolar(viewBox);\n  var attrs = filterProps(props, true);\n  if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n    return renderRadialLabel(props, label, attrs);\n  }\n\n  // TODO handle the polar viewBox case - Pie chart works with cartesian viewBox, what about the other charts?\n  var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props, viewBox);\n  return /*#__PURE__*/React.createElement(Text, _extends({\n    ref: labelRef,\n    className: clsx('recharts-label', className)\n  }, attrs, positionAttrs, {\n    breakAll: textBreakAll\n  }), label);\n}\nLabel.displayName = 'Label';\nvar parseViewBox = props => {\n  var {\n    cx,\n    cy,\n    angle,\n    startAngle,\n    endAngle,\n    r,\n    radius,\n    innerRadius,\n    outerRadius,\n    x,\n    y,\n    top,\n    left,\n    width,\n    height,\n    clockWise,\n    labelViewBox\n  } = props;\n  if (labelViewBox) {\n    return labelViewBox;\n  }\n  if (isNumber(width) && isNumber(height)) {\n    if (isNumber(x) && isNumber(y)) {\n      return {\n        x,\n        y,\n        width,\n        height\n      };\n    }\n    if (isNumber(top) && isNumber(left)) {\n      return {\n        x: top,\n        y: left,\n        width,\n        height\n      };\n    }\n  }\n  if (isNumber(x) && isNumber(y)) {\n    return {\n      x,\n      y,\n      width: 0,\n      height: 0\n    };\n  }\n  if (isNumber(cx) && isNumber(cy)) {\n    return {\n      cx,\n      cy,\n      startAngle: startAngle || angle || 0,\n      endAngle: endAngle || angle || 0,\n      innerRadius: innerRadius || 0,\n      outerRadius: outerRadius || radius || r || 0,\n      clockWise\n    };\n  }\n  if (props.viewBox) {\n    return props.viewBox;\n  }\n  return undefined;\n};\nvar parseLabel = (label, viewBox, labelRef) => {\n  if (!label) {\n    return null;\n  }\n  var commonProps = {\n    viewBox,\n    labelRef\n  };\n  if (label === true) {\n    return /*#__PURE__*/React.createElement(Label, _extends({\n      key: \"label-implicit\"\n    }, commonProps));\n  }\n  if (isNumOrStr(label)) {\n    return /*#__PURE__*/React.createElement(Label, _extends({\n      key: \"label-implicit\",\n      value: label\n    }, commonProps));\n  }\n  if (/*#__PURE__*/isValidElement(label)) {\n    if (label.type === Label) {\n      return /*#__PURE__*/cloneElement(label, _objectSpread({\n        key: 'label-implicit'\n      }, commonProps));\n    }\n    return /*#__PURE__*/React.createElement(Label, _extends({\n      key: \"label-implicit\",\n      content: label\n    }, commonProps));\n  }\n  if (isLabelContentAFunction(label)) {\n    return /*#__PURE__*/React.createElement(Label, _extends({\n      key: \"label-implicit\",\n      content: label\n    }, commonProps));\n  }\n  if (label && typeof label === 'object') {\n    return /*#__PURE__*/React.createElement(Label, _extends({}, label, {\n      key: \"label-implicit\"\n    }, commonProps));\n  }\n  return null;\n};\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n  var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n  if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n    return null;\n  }\n  var {\n    children,\n    labelRef\n  } = parentProps;\n  var parentViewBox = parseViewBox(parentProps);\n  var explicitChildren = findAllByType(children, Label).map((child, index) => {\n    return /*#__PURE__*/cloneElement(child, {\n      viewBox: viewBox || parentViewBox,\n      // eslint-disable-next-line react/no-array-index-key\n      key: \"label-\".concat(index)\n    });\n  });\n  if (!checkPropsLabel) {\n    return explicitChildren;\n  }\n  var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox, labelRef);\n  return [implicitLabel, ...explicitChildren];\n};\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction last(arr) {\n    return arr[arr.length - 1];\n}\n\nexports.last = last;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction toArray(value) {\n    return Array.isArray(value) ? value : Array.from(value);\n}\n\nexports.toArray = toArray;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst last$1 = require('../../array/last.js');\nconst toArray = require('../_internal/toArray.js');\nconst isArrayLike = require('../predicate/isArrayLike.js');\n\nfunction last(array) {\n    if (!isArrayLike.isArrayLike(array)) {\n        return undefined;\n    }\n    return last$1.last(toArray.toArray(array));\n}\n\nexports.last = last;\n","module.exports = require('../dist/compat/array/last.js').last;\n","var _excluded = [\"valueAccessor\"],\n  _excluded2 = [\"data\", \"dataKey\", \"clockWise\", \"id\", \"textBreakAll\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { cloneElement } from 'react';\nimport last from 'es-toolkit/compat/last';\nimport { Label, isLabelContentAFunction } from './Label';\nimport { Layer } from '../container/Layer';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { isNullish } from '../util/DataUtils';\nvar defaultAccessor = entry => Array.isArray(entry.value) ? last(entry.value) : entry.value;\nexport function LabelList(_ref) {\n  var {\n      valueAccessor = defaultAccessor\n    } = _ref,\n    restProps = _objectWithoutProperties(_ref, _excluded);\n  var {\n      data,\n      dataKey,\n      clockWise,\n      id,\n      textBreakAll\n    } = restProps,\n    others = _objectWithoutProperties(restProps, _excluded2);\n  if (!data || !data.length) {\n    return null;\n  }\n  return /*#__PURE__*/React.createElement(Layer, {\n    className: \"recharts-label-list\"\n  }, data.map((entry, index) => {\n    var value = isNullish(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n    var idProps = isNullish(id) ? {} : {\n      id: \"\".concat(id, \"-\").concat(index)\n    };\n    return /*#__PURE__*/React.createElement(Label, _extends({}, filterProps(entry, true), others, idProps, {\n      parentViewBox: entry.parentViewBox,\n      value: value,\n      textBreakAll: textBreakAll,\n      viewBox: Label.parseViewBox(isNullish(clockWise) ? entry : _objectSpread(_objectSpread({}, entry), {}, {\n        clockWise\n      })),\n      key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n      ,\n      index: index\n    }));\n  }));\n}\nLabelList.displayName = 'LabelList';\nfunction parseLabelList(label, data) {\n  if (!label) {\n    return null;\n  }\n  if (label === true) {\n    return /*#__PURE__*/React.createElement(LabelList, {\n      key: \"labelList-implicit\",\n      data: data\n    });\n  }\n  if (/*#__PURE__*/React.isValidElement(label) || isLabelContentAFunction(label)) {\n    return /*#__PURE__*/React.createElement(LabelList, {\n      key: \"labelList-implicit\",\n      data: data,\n      content: label\n    });\n  }\n  if (typeof label === 'object') {\n    return /*#__PURE__*/React.createElement(LabelList, _extends({\n      data: data\n    }, label, {\n      key: \"labelList-implicit\"\n    }));\n  }\n  return null;\n}\nfunction renderCallByParent(parentProps, data) {\n  var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n  if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n    return null;\n  }\n  var {\n    children\n  } = parentProps;\n  var explicitChildren = findAllByType(children, LabelList).map((child, index) => /*#__PURE__*/cloneElement(child, {\n    data,\n    // eslint-disable-next-line react/no-array-index-key\n    key: \"labelList-\".concat(index)\n  }));\n  if (!checkPropsLabel) {\n    return explicitChildren;\n  }\n  var implicitLabelList = parseLabelList(parentProps.label, data);\n  return [implicitLabelList, ...explicitChildren];\n}\nLabelList.renderCallByParent = renderCallByParent;","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { useEffect } from 'react';\nimport { useAppDispatch } from './hooks';\nimport { addCartesianGraphicalItem, addPolarGraphicalItem, removeCartesianGraphicalItem, removePolarGraphicalItem } from './graphicalItemsSlice';\nimport { getNormalizedStackId } from '../util/ChartUtils';\nexport function SetCartesianGraphicalItem(props) {\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    var settings = _objectSpread(_objectSpread({}, props), {}, {\n      stackId: getNormalizedStackId(props.stackId)\n    });\n    dispatch(addCartesianGraphicalItem(settings));\n    return () => {\n      dispatch(removeCartesianGraphicalItem(settings));\n    };\n  }, [dispatch, props]);\n  return null;\n}\nexport function SetPolarGraphicalItem(props) {\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    dispatch(addPolarGraphicalItem(props));\n    return () => {\n      dispatch(removePolarGraphicalItem(props));\n    };\n  }, [dispatch, props]);\n  return null;\n}","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction isPlainObject(object) {\n    if (typeof object !== 'object') {\n        return false;\n    }\n    if (object == null) {\n        return false;\n    }\n    if (Object.getPrototypeOf(object) === null) {\n        return true;\n    }\n    if (Object.prototype.toString.call(object) !== '[object Object]') {\n        const tag = object[Symbol.toStringTag];\n        if (tag == null) {\n            return false;\n        }\n        const isTagReadonly = !Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)?.writable;\n        if (isTagReadonly) {\n            return false;\n        }\n        return object.toString() === `[object ${tag}]`;\n    }\n    let proto = object;\n    while (Object.getPrototypeOf(proto) !== null) {\n        proto = Object.getPrototypeOf(proto);\n    }\n    return Object.getPrototypeOf(object) === proto;\n}\n\nexports.isPlainObject = isPlainObject;\n","module.exports = require('../dist/compat/predicate/isPlainObject.js').isPlainObject;\n","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/**\n * @fileOverview Rectangle\n */\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport { clsx } from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { Animate } from '../animation/Animate';\nvar getTrapezoidPath = (x, y, upperWidth, lowerWidth, height) => {\n  var widthGap = upperWidth - lowerWidth;\n  var path;\n  path = \"M \".concat(x, \",\").concat(y);\n  path += \"L \".concat(x + upperWidth, \",\").concat(y);\n  path += \"L \".concat(x + upperWidth - widthGap / 2, \",\").concat(y + height);\n  path += \"L \".concat(x + upperWidth - widthGap / 2 - lowerWidth, \",\").concat(y + height);\n  path += \"L \".concat(x, \",\").concat(y, \" Z\");\n  return path;\n};\nvar defaultProps = {\n  x: 0,\n  y: 0,\n  upperWidth: 0,\n  lowerWidth: 0,\n  height: 0,\n  isUpdateAnimationActive: false,\n  animationBegin: 0,\n  animationDuration: 1500,\n  animationEasing: 'ease'\n};\nexport var Trapezoid = props => {\n  var trapezoidProps = resolveDefaultProps(props, defaultProps);\n  var pathRef = useRef();\n  var [totalLength, setTotalLength] = useState(-1);\n  useEffect(() => {\n    if (pathRef.current && pathRef.current.getTotalLength) {\n      try {\n        var pathTotalLength = pathRef.current.getTotalLength();\n        if (pathTotalLength) {\n          setTotalLength(pathTotalLength);\n        }\n      } catch (_unused) {\n        // calculate total length error\n      }\n    }\n  }, []);\n  var {\n    x,\n    y,\n    upperWidth,\n    lowerWidth,\n    height,\n    className\n  } = trapezoidProps;\n  var {\n    animationEasing,\n    animationDuration,\n    animationBegin,\n    isUpdateAnimationActive\n  } = trapezoidProps;\n  if (x !== +x || y !== +y || upperWidth !== +upperWidth || lowerWidth !== +lowerWidth || height !== +height || upperWidth === 0 && lowerWidth === 0 || height === 0) {\n    return null;\n  }\n  var layerClass = clsx('recharts-trapezoid', className);\n  if (!isUpdateAnimationActive) {\n    return /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n      className: layerClass,\n      d: getTrapezoidPath(x, y, upperWidth, lowerWidth, height)\n    })));\n  }\n  return /*#__PURE__*/React.createElement(Animate, {\n    canBegin: totalLength > 0,\n    from: {\n      upperWidth: 0,\n      lowerWidth: 0,\n      height,\n      x,\n      y\n    },\n    to: {\n      upperWidth,\n      lowerWidth,\n      height,\n      x,\n      y\n    },\n    duration: animationDuration\n    // @ts-expect-error TODO - fix the type error\n    ,\n    animationEasing: animationEasing,\n    isActive: isUpdateAnimationActive\n  }, _ref => {\n    var {\n      upperWidth: currUpperWidth,\n      lowerWidth: currLowerWidth,\n      height: currHeight,\n      x: currX,\n      y: currY\n    } = _ref;\n    return /*#__PURE__*/React.createElement(Animate, {\n      canBegin: totalLength > 0\n      // @ts-expect-error TODO - fix the type error\n      ,\n      from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\")\n      // @ts-expect-error TODO - fix the type error\n      ,\n      to: \"\".concat(totalLength, \"px 0px\"),\n      attributeName: \"strokeDasharray\",\n      begin: animationBegin,\n      duration: animationDuration,\n      easing: animationEasing\n    }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n      className: layerClass,\n      d: getTrapezoidPath(currX, currY, currUpperWidth, currLowerWidth, currHeight),\n      ref: pathRef\n    })));\n  });\n};","var _excluded = [\"option\", \"shapeType\", \"propTransformer\", \"activeClassName\", \"isActive\"];\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport * as React from 'react';\nimport { cloneElement, isValidElement } from 'react';\nimport isPlainObject from 'es-toolkit/compat/isPlainObject';\nimport { Rectangle } from '../shape/Rectangle';\nimport { Trapezoid } from '../shape/Trapezoid';\nimport { Sector } from '../shape/Sector';\nimport { Layer } from '../container/Layer';\nimport { Symbols } from '../shape/Symbols';\n\n/**\n * This is an abstraction for rendering a user defined prop for a customized shape in several forms.\n *\n * <Shape /> is the root and will handle taking in:\n *  - an object of svg properties\n *  - a boolean\n *  - a render prop(inline function that returns jsx)\n *  - a React element\n *\n * <ShapeSelector /> is a subcomponent of <Shape /> and used to match a component\n * to the value of props.shapeType that is passed to the root.\n *\n */\n\nfunction defaultPropTransformer(option, props) {\n  return _objectSpread(_objectSpread({}, props), option);\n}\nfunction isSymbolsProps(shapeType, _elementProps) {\n  return shapeType === 'symbols';\n}\nfunction ShapeSelector(_ref) {\n  var {\n    shapeType,\n    elementProps\n  } = _ref;\n  switch (shapeType) {\n    case 'rectangle':\n      return /*#__PURE__*/React.createElement(Rectangle, elementProps);\n    case 'trapezoid':\n      return /*#__PURE__*/React.createElement(Trapezoid, elementProps);\n    case 'sector':\n      return /*#__PURE__*/React.createElement(Sector, elementProps);\n    case 'symbols':\n      if (isSymbolsProps(shapeType, elementProps)) {\n        return /*#__PURE__*/React.createElement(Symbols, elementProps);\n      }\n      break;\n    default:\n      return null;\n  }\n}\nexport function getPropsFromShapeOption(option) {\n  if (/*#__PURE__*/isValidElement(option)) {\n    return option.props;\n  }\n  return option;\n}\nexport function Shape(_ref2) {\n  var {\n      option,\n      shapeType,\n      propTransformer = defaultPropTransformer,\n      activeClassName = 'recharts-active-shape',\n      isActive\n    } = _ref2,\n    props = _objectWithoutProperties(_ref2, _excluded);\n  var shape;\n  if (/*#__PURE__*/isValidElement(option)) {\n    shape = /*#__PURE__*/cloneElement(option, _objectSpread(_objectSpread({}, props), getPropsFromShapeOption(option)));\n  } else if (typeof option === 'function') {\n    shape = option(props);\n  } else if (isPlainObject(option) && typeof option !== 'boolean') {\n    var nextProps = propTransformer(option, props);\n    shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n      shapeType: shapeType,\n      elementProps: nextProps\n    });\n  } else {\n    var elementProps = props;\n    shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n      shapeType: shapeType,\n      elementProps: elementProps\n    });\n  }\n  if (isActive) {\n    return /*#__PURE__*/React.createElement(Layer, {\n      className: activeClassName\n    }, shape);\n  }\n  return shape;\n}","import { useAppDispatch } from '../state/hooks';\nimport { mouseLeaveItem, setActiveClickItemIndex, setActiveMouseOverItemIndex } from '../state/tooltipSlice';\nexport var useMouseEnterItemDispatch = (onMouseEnterFromProps, dataKey) => {\n  var dispatch = useAppDispatch();\n  return (data, index) => event => {\n    onMouseEnterFromProps === null || onMouseEnterFromProps === void 0 || onMouseEnterFromProps(data, index, event);\n    dispatch(setActiveMouseOverItemIndex({\n      activeIndex: String(index),\n      activeDataKey: dataKey,\n      activeCoordinate: data.tooltipPosition\n    }));\n  };\n};\nexport var useMouseLeaveItemDispatch = onMouseLeaveFromProps => {\n  var dispatch = useAppDispatch();\n  return (data, index) => event => {\n    onMouseLeaveFromProps === null || onMouseLeaveFromProps === void 0 || onMouseLeaveFromProps(data, index, event);\n    dispatch(mouseLeaveItem());\n  };\n};\nexport var useMouseClickItemDispatch = (onMouseClickFromProps, dataKey) => {\n  var dispatch = useAppDispatch();\n  return (data, index) => event => {\n    onMouseClickFromProps === null || onMouseClickFromProps === void 0 || onMouseClickFromProps(data, index, event);\n    dispatch(setActiveClickItemIndex({\n      activeIndex: String(index),\n      activeDataKey: dataKey,\n      activeCoordinate: data.tooltipPosition\n    }));\n  };\n};","import { useEffect } from 'react';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { selectChartLayout } from '../context/chartLayoutContext';\nimport { useAppDispatch, useAppSelector } from './hooks';\nimport { addLegendPayload, removeLegendPayload } from './legendSlice';\nvar noop = () => {};\nexport function SetLegendPayload(_ref) {\n  var {\n    legendPayload\n  } = _ref;\n  var dispatch = useAppDispatch();\n  var isPanorama = useIsPanorama();\n  useEffect(() => {\n    if (isPanorama) {\n      return noop;\n    }\n    dispatch(addLegendPayload(legendPayload));\n    return () => {\n      dispatch(removeLegendPayload(legendPayload));\n    };\n  }, [dispatch, isPanorama, legendPayload]);\n  return null;\n}\nexport function SetPolarLegendPayload(_ref2) {\n  var {\n    legendPayload\n  } = _ref2;\n  var dispatch = useAppDispatch();\n  var layout = useAppSelector(selectChartLayout);\n  useEffect(() => {\n    if (layout !== 'centric' && layout !== 'radial') {\n      return noop;\n    }\n    dispatch(addLegendPayload(legendPayload));\n    return () => {\n      dispatch(removeLegendPayload(legendPayload));\n    };\n  }, [dispatch, layout, legendPayload]);\n  return null;\n}","import { useRef } from 'react';\nimport { uniqueId } from './DataUtils';\n\n/**\n * This hook returns a unique animation id for the object input.\n * If input changes (as in, reference equality is different), the animation id will change.\n * If input does not change, the animation id will not change.\n *\n * This is useful for animations. The Animate component\n * does have a `shouldReAnimate` prop but that doesn't seem to be doing what the name implies.\n * Also, we don't always want to re-animate on every render;\n * we only want to re-animate when the input changes. Not the internal state (e.g. `isAnimating`).\n *\n * @param input The object to check for changes. Uses reference equality (=== operator)\n * @param prefix Optional prefix to use for the animation id\n * @returns A unique animation id\n */\nexport function useAnimationId(input) {\n  var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'animation-';\n  var animationId = useRef(uniqueId(prefix));\n  var prevProps = useRef(input);\n  if (prevProps.current !== input) {\n    animationId.current = uniqueId(prefix);\n    prevProps.current = input;\n  }\n  return animationId.current;\n}","import { useEffect } from 'react';\nimport { useAppDispatch } from './hooks';\nimport { addBar, removeBar } from './graphicalItemsSlice';\nexport var ReportBar = () => {\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    dispatch(addBar());\n    return () => {\n      dispatch(removeBar());\n    };\n  });\n  return null;\n};","var _excluded = [\"children\"];\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { createContext, useCallback, useContext, useEffect } from 'react';\nimport { SetCartesianGraphicalItem } from '../state/SetGraphicalItem';\nimport { useIsPanorama } from './PanoramaContext';\nvar noop = () => {};\nvar ErrorBarDirectionDispatchContext = /*#__PURE__*/createContext({\n  addErrorBar: noop,\n  removeErrorBar: noop\n});\nvar initialContextState = {\n  data: [],\n  xAxisId: 'xAxis-0',\n  yAxisId: 'yAxis-0',\n  dataPointFormatter: () => ({\n    x: 0,\n    y: 0,\n    value: 0\n  }),\n  errorBarOffset: 0\n};\nvar ErrorBarContext = /*#__PURE__*/createContext(initialContextState);\nexport function SetErrorBarContext(props) {\n  var {\n      children\n    } = props,\n    rest = _objectWithoutProperties(props, _excluded);\n  return /*#__PURE__*/React.createElement(ErrorBarContext.Provider, {\n    value: rest\n  }, children);\n}\nexport var useErrorBarContext = () => useContext(ErrorBarContext);\nexport var CartesianGraphicalItemContext = _ref => {\n  var {\n    children,\n    xAxisId,\n    yAxisId,\n    zAxisId,\n    dataKey,\n    data,\n    stackId,\n    hide,\n    type,\n    barSize\n  } = _ref;\n  var [errorBars, updateErrorBars] = React.useState([]);\n  // useCallback is necessary in these two because without it, the new function reference causes an infinite render loop\n  var addErrorBar = useCallback(errorBar => {\n    updateErrorBars(prev => [...prev, errorBar]);\n  }, [updateErrorBars]);\n  var removeErrorBar = useCallback(errorBar => {\n    updateErrorBars(prev => prev.filter(eb => eb !== errorBar));\n  }, [updateErrorBars]);\n  var isPanorama = useIsPanorama();\n  return /*#__PURE__*/React.createElement(ErrorBarDirectionDispatchContext.Provider, {\n    value: {\n      addErrorBar,\n      removeErrorBar\n    }\n  }, /*#__PURE__*/React.createElement(SetCartesianGraphicalItem, {\n    type: type,\n    data: data,\n    xAxisId: xAxisId,\n    yAxisId: yAxisId,\n    zAxisId: zAxisId,\n    dataKey: dataKey,\n    errorBars: errorBars,\n    stackId: stackId,\n    hide: hide,\n    barSize: barSize,\n    isPanorama: isPanorama\n  }), children);\n};\nexport function ReportErrorBarSettings(props) {\n  var {\n    addErrorBar,\n    removeErrorBar\n  } = useContext(ErrorBarDirectionDispatchContext);\n  useEffect(() => {\n    addErrorBar(props);\n    return () => {\n      removeErrorBar(props);\n    };\n  }, [addErrorBar, removeErrorBar, props]);\n  return null;\n}","import { selectAxisWithScale } from './state/selectors/axisSelectors';\nimport { useAppSelector } from './state/hooks';\nimport { useIsPanorama } from './context/PanoramaContext';\nimport { selectActiveLabel } from './state/selectors/tooltipSelectors';\nexport var useXAxis = xAxisId => {\n  var isPanorama = useIsPanorama();\n  return useAppSelector(state => selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama));\n};\nexport var useYAxis = yAxisId => {\n  var isPanorama = useIsPanorama();\n  return useAppSelector(state => selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama));\n};\n\n/**\n * Returns the active tooltip label. The label is one of the values from the chart data,\n * and is used to display in the tooltip content.\n *\n * Returns undefined if there is no active user interaction.\n *\n * @returns string | undefined\n */\nexport var useActiveTooltipLabel = () => {\n  return useAppSelector(selectActiveLabel);\n};","var _excluded = [\"direction\", \"width\", \"dataKey\", \"isAnimationActive\", \"animationBegin\", \"animationDuration\", \"animationEasing\"];\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/**\n * @fileOverview Render a group of error bar\n */\nimport * as React from 'react';\nimport { Component, createContext, useContext } from 'react';\nimport { Layer } from '../container/Layer';\nimport { filterProps } from '../util/ReactUtils';\nimport { ReportErrorBarSettings, useErrorBarContext } from '../context/CartesianGraphicalItemContext';\nimport { useXAxis, useYAxis } from '../hooks';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { Animate } from '../animation/Animate';\n\n/**\n * So usually the direction is decided by the chart layout.\n * Horizontal layout means error bars are vertical means direction=y\n * Vertical layout means error bars are horizontal means direction=x\n *\n * Except! In Scatter chart, error bars can go both ways.\n *\n * So this property is only ever used in Scatter chart, and ignored elsewhere.\n */\n\n/**\n * External ErrorBar props, visible for users of the library\n */\n\n/**\n * Props after defaults, and required props have been applied.\n */\n\nfunction ErrorBarImpl(props) {\n  var {\n      direction,\n      width,\n      dataKey,\n      isAnimationActive,\n      animationBegin,\n      animationDuration,\n      animationEasing\n    } = props,\n    others = _objectWithoutProperties(props, _excluded);\n  var svgProps = filterProps(others, false);\n  var {\n    data,\n    dataPointFormatter,\n    xAxisId,\n    yAxisId,\n    errorBarOffset: offset\n  } = useErrorBarContext();\n  var xAxis = useXAxis(xAxisId);\n  var yAxis = useYAxis(yAxisId);\n  if ((xAxis === null || xAxis === void 0 ? void 0 : xAxis.scale) == null || (yAxis === null || yAxis === void 0 ? void 0 : yAxis.scale) == null || data == null) {\n    return null;\n  }\n\n  // ErrorBar requires type number XAxis, why?\n  if (direction === 'x' && xAxis.type !== 'number') {\n    return null;\n  }\n  var errorBars = data.map(entry => {\n    var {\n      x,\n      y,\n      value,\n      errorVal\n    } = dataPointFormatter(entry, dataKey, direction);\n    if (!errorVal) {\n      return null;\n    }\n    var lineCoordinates = [];\n    var lowBound, highBound;\n    if (Array.isArray(errorVal)) {\n      [lowBound, highBound] = errorVal;\n    } else {\n      lowBound = highBound = errorVal;\n    }\n    if (direction === 'x') {\n      // error bar for horizontal charts, the y is fixed, x is a range value\n      var {\n        scale\n      } = xAxis;\n      var yMid = y + offset;\n      var yMin = yMid + width;\n      var yMax = yMid - width;\n      var xMin = scale(value - lowBound);\n      var xMax = scale(value + highBound);\n\n      // the right line of |--|\n      lineCoordinates.push({\n        x1: xMax,\n        y1: yMin,\n        x2: xMax,\n        y2: yMax\n      });\n      // the middle line of |--|\n      lineCoordinates.push({\n        x1: xMin,\n        y1: yMid,\n        x2: xMax,\n        y2: yMid\n      });\n      // the left line of |--|\n      lineCoordinates.push({\n        x1: xMin,\n        y1: yMin,\n        x2: xMin,\n        y2: yMax\n      });\n    } else if (direction === 'y') {\n      // error bar for horizontal charts, the x is fixed, y is a range value\n      var {\n        scale: _scale\n      } = yAxis;\n      var xMid = x + offset;\n      var _xMin = xMid - width;\n      var _xMax = xMid + width;\n      var _yMin = _scale(value - lowBound);\n      var _yMax = _scale(value + highBound);\n\n      // the top line\n      lineCoordinates.push({\n        x1: _xMin,\n        y1: _yMax,\n        x2: _xMax,\n        y2: _yMax\n      });\n      // the middle line\n      lineCoordinates.push({\n        x1: xMid,\n        y1: _yMin,\n        x2: xMid,\n        y2: _yMax\n      });\n      // the bottom line\n      lineCoordinates.push({\n        x1: _xMin,\n        y1: _yMin,\n        x2: _xMax,\n        y2: _yMin\n      });\n    }\n    var transformOrigin = \"\".concat(x + offset, \"px \").concat(y + offset, \"px\");\n    return /*#__PURE__*/React.createElement(Layer, _extends({\n      className: \"recharts-errorBar\",\n      key: \"bar-\".concat(lineCoordinates.map(c => \"\".concat(c.x1, \"-\").concat(c.x2, \"-\").concat(c.y1, \"-\").concat(c.y2)))\n    }, svgProps), lineCoordinates.map(coordinates => {\n      var lineStyle = isAnimationActive ? {\n        transformOrigin: \"\".concat(coordinates.x1 - 5, \"px\")\n      } : undefined;\n      return /*#__PURE__*/React.createElement(Animate, {\n        from: {\n          transform: 'scaleY(0)',\n          transformOrigin\n        },\n        to: {\n          transform: 'scaleY(1)',\n          transformOrigin\n        },\n        begin: animationBegin,\n        easing: animationEasing,\n        isActive: isAnimationActive,\n        duration: animationDuration,\n        key: \"line-\".concat(coordinates.x1, \"-\").concat(coordinates.x2, \"-\").concat(coordinates.y1, \"-\").concat(coordinates.y2)\n        // @ts-expect-error TODO - fix the type error\n        ,\n        style: {\n          transformOrigin\n        }\n      }, /*#__PURE__*/React.createElement(\"line\", _extends({}, coordinates, {\n        style: lineStyle\n      })));\n    }));\n  });\n  return /*#__PURE__*/React.createElement(Layer, {\n    className: \"recharts-errorBars\"\n  }, errorBars);\n}\nvar ErrorBarPreferredDirection = /*#__PURE__*/createContext(undefined);\nfunction useErrorBarDirection(directionFromProps) {\n  var preferredDirection = useContext(ErrorBarPreferredDirection);\n  if (directionFromProps != null) {\n    return directionFromProps;\n  }\n  if (preferredDirection != null) {\n    return preferredDirection;\n  }\n  return 'x';\n}\nexport function SetErrorBarPreferredDirection(_ref) {\n  var {\n    direction,\n    children\n  } = _ref;\n  return /*#__PURE__*/React.createElement(ErrorBarPreferredDirection.Provider, {\n    value: direction\n  }, children);\n}\nvar errorBarDefaultProps = {\n  stroke: 'black',\n  strokeWidth: 1.5,\n  width: 5,\n  offset: 0,\n  isAnimationActive: true,\n  animationBegin: 0,\n  animationDuration: 400,\n  animationEasing: 'ease-in-out'\n};\nfunction ErrorBarInternal(props) {\n  var realDirection = useErrorBarDirection(props.direction);\n  var {\n    width,\n    isAnimationActive,\n    animationBegin,\n    animationDuration,\n    animationEasing\n  } = resolveDefaultProps(props, errorBarDefaultProps);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ReportErrorBarSettings, {\n    dataKey: props.dataKey,\n    direction: realDirection\n  }), /*#__PURE__*/React.createElement(ErrorBarImpl, _extends({}, props, {\n    direction: realDirection,\n    width: width,\n    isAnimationActive: isAnimationActive,\n    animationBegin: animationBegin,\n    animationDuration: animationDuration,\n    animationEasing: animationEasing\n  })));\n}\n\n// eslint-disable-next-line react/prefer-stateless-function\nexport class ErrorBar extends Component {\n  render() {\n    return /*#__PURE__*/React.createElement(ErrorBarInternal, this.props);\n  }\n}\n_defineProperty(ErrorBar, \"defaultProps\", errorBarDefaultProps);\n_defineProperty(ErrorBar, \"displayName\", 'ErrorBar');","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n    if (condition) {\n        return;\n    }\n    if (isProduction) {\n        throw new Error(prefix);\n    }\n    var provided = typeof message === 'function' ? message() : message;\n    var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n    throw new Error(value);\n}\n\nexport { invariant as default };\n","var _excluded = [\"x\", \"y\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport invariant from 'tiny-invariant';\nimport { Shape } from './ActiveShapeUtils';\nimport { isNullish, isNumber } from './DataUtils';\n\n// Rectangle props is expecting x, y, height, width as numbers, name as a string, and radius as a custom type\n// When props are being spread in from a user defined component in Bar,\n// the prop types of an SVGElement have these typed as something else.\n// This function will return the passed in props\n// along with x, y, height as numbers, name as a string, and radius as number | [number, number, number, number]\nfunction typeguardBarRectangleProps(_ref, props) {\n  var {\n      x: xProp,\n      y: yProp\n    } = _ref,\n    option = _objectWithoutProperties(_ref, _excluded);\n  var xValue = \"\".concat(xProp);\n  var x = parseInt(xValue, 10);\n  var yValue = \"\".concat(yProp);\n  var y = parseInt(yValue, 10);\n  var heightValue = \"\".concat(props.height || option.height);\n  var height = parseInt(heightValue, 10);\n  var widthValue = \"\".concat(props.width || option.width);\n  var width = parseInt(widthValue, 10);\n  return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props), option), x ? {\n    x\n  } : {}), y ? {\n    y\n  } : {}), {}, {\n    height,\n    width,\n    name: props.name,\n    radius: props.radius\n  });\n}\nexport function BarRectangle(props) {\n  return /*#__PURE__*/React.createElement(Shape, _extends({\n    shapeType: \"rectangle\",\n    propTransformer: typeguardBarRectangleProps,\n    activeClassName: \"recharts-active-bar\"\n  }, props));\n}\n/**\n * Safely gets minPointSize from the minPointSize prop if it is a function\n * @param minPointSize minPointSize as passed to the Bar component\n * @param defaultValue default minPointSize\n * @returns minPointSize\n */\nexport var minPointSizeCallback = function minPointSizeCallback(minPointSize) {\n  var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  return (value, index) => {\n    if (isNumber(minPointSize)) return minPointSize;\n    var isValueNumberOrNil = isNumber(value) || isNullish(value);\n    if (isValueNumberOrNil) {\n      return minPointSize(value, index);\n    }\n    !isValueNumberOrNil ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"minPointSize callback function received a value with type of \".concat(typeof value, \". Currently only numbers or null/undefined are supported.\")) : invariant(false) : void 0;\n    return defaultValue;\n  };\n};","import * as React from 'react';\nimport { useOffset } from '../context/chartLayoutContext';\nimport { useAppSelector } from '../state/hooks';\nimport { implicitXAxis, implicitYAxis, selectXAxisSettings, selectYAxisSettings } from '../state/selectors/axisSelectors';\nexport function useNeedsClip(xAxisId, yAxisId) {\n  var _xAxis$allowDataOverf, _yAxis$allowDataOverf;\n  var xAxis = useAppSelector(state => selectXAxisSettings(state, xAxisId));\n  var yAxis = useAppSelector(state => selectYAxisSettings(state, yAxisId));\n  var needClipX = (_xAxis$allowDataOverf = xAxis === null || xAxis === void 0 ? void 0 : xAxis.allowDataOverflow) !== null && _xAxis$allowDataOverf !== void 0 ? _xAxis$allowDataOverf : implicitXAxis.allowDataOverflow;\n  var needClipY = (_yAxis$allowDataOverf = yAxis === null || yAxis === void 0 ? void 0 : yAxis.allowDataOverflow) !== null && _yAxis$allowDataOverf !== void 0 ? _yAxis$allowDataOverf : implicitYAxis.allowDataOverflow;\n  var needClip = needClipX || needClipY;\n  return {\n    needClip,\n    needClipX,\n    needClipY\n  };\n}\nexport function GraphicalItemClipPath(_ref) {\n  var {\n    xAxisId,\n    yAxisId,\n    clipPathId\n  } = _ref;\n  var offset = useOffset();\n  var {\n    needClipX,\n    needClipY,\n    needClip\n  } = useNeedsClip(xAxisId, yAxisId);\n  if (!needClip) {\n    return null;\n  }\n  var {\n    left,\n    top,\n    width,\n    height\n  } = offset;\n  return /*#__PURE__*/React.createElement(\"clipPath\", {\n    id: \"clipPath-\".concat(clipPathId)\n  }, /*#__PURE__*/React.createElement(\"rect\", {\n    x: needClipX ? left : left - width / 2,\n    y: needClipY ? top : top - height / 2,\n    width: needClipX ? width : width * 2,\n    height: needClipY ? height : height * 2\n  }));\n}","var _excluded = [\"onMouseEnter\", \"onMouseLeave\", \"onClick\"],\n  _excluded2 = [\"value\", \"background\", \"tooltipPosition\"],\n  _excluded3 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/**\n * @fileOverview Render a group of bar\n */\n// eslint-disable-next-line max-classes-per-file\nimport * as React from 'react';\nimport { PureComponent, useCallback, useMemo, useRef, useState } from 'react';\nimport { clsx } from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { SetErrorBarPreferredDirection } from './ErrorBar';\nimport { Cell } from '../component/Cell';\nimport { LabelList } from '../component/LabelList';\nimport { interpolateNumber, isNan, isNullish, mathSign, uniqueId } from '../util/DataUtils';\nimport { filterProps, findAllByType } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { getBaseValueOfBar, getCateCoordinateOfBar, getNormalizedStackId, getTooltipNameProp, getValueByDataKey, truncateByDomain } from '../util/ChartUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { BarRectangle, minPointSizeCallback } from '../util/BarUtils';\nimport { useMouseClickItemDispatch, useMouseEnterItemDispatch, useMouseLeaveItemDispatch } from '../context/tooltipContext';\nimport { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';\nimport { ReportBar } from '../state/ReportBar';\nimport { CartesianGraphicalItemContext, SetErrorBarContext } from '../context/CartesianGraphicalItemContext';\nimport { GraphicalItemClipPath, useNeedsClip } from './GraphicalItemClipPath';\nimport { useChartLayout } from '../context/chartLayoutContext';\nimport { selectBarRectangles } from '../state/selectors/barSelectors';\nimport { useAppSelector } from '../state/hooks';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { selectActiveTooltipDataKey, selectActiveTooltipIndex } from '../state/selectors/tooltipSelectors';\nimport { SetLegendPayload } from '../state/SetLegendPayload';\nimport { useAnimationId } from '../util/useAnimationId';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { Animate } from '../animation/Animate';\nvar computeLegendPayloadFromBarData = props => {\n  var {\n    dataKey,\n    name,\n    fill,\n    legendType,\n    hide\n  } = props;\n  return [{\n    inactive: hide,\n    dataKey,\n    type: legendType,\n    color: fill,\n    value: getTooltipNameProp(name, dataKey),\n    payload: props\n  }];\n};\nfunction getTooltipEntrySettings(props) {\n  var {\n    dataKey,\n    stroke,\n    strokeWidth,\n    fill,\n    name,\n    hide,\n    unit\n  } = props;\n  return {\n    dataDefinedOnItem: undefined,\n    positions: undefined,\n    settings: {\n      stroke,\n      strokeWidth,\n      fill,\n      dataKey,\n      nameKey: undefined,\n      name: getTooltipNameProp(name, dataKey),\n      hide,\n      type: props.tooltipType,\n      color: props.fill,\n      unit\n    }\n  };\n}\nfunction BarBackground(props) {\n  var activeIndex = useAppSelector(selectActiveTooltipIndex);\n  var {\n    data,\n    dataKey,\n    background: backgroundFromProps,\n    allOtherBarProps\n  } = props;\n  var {\n      onMouseEnter: onMouseEnterFromProps,\n      onMouseLeave: onMouseLeaveFromProps,\n      onClick: onItemClickFromProps\n    } = allOtherBarProps,\n    restOfAllOtherProps = _objectWithoutProperties(allOtherBarProps, _excluded);\n  var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey);\n  var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n  var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey);\n  if (!backgroundFromProps || data == null) {\n    return null;\n  }\n  var backgroundProps = filterProps(backgroundFromProps, false);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, data.map((entry, i) => {\n    var {\n        value,\n        background: backgroundFromDataEntry,\n        tooltipPosition\n      } = entry,\n      rest = _objectWithoutProperties(entry, _excluded2);\n    if (!backgroundFromDataEntry) {\n      return null;\n    }\n\n    // @ts-expect-error BarRectangleItem type definition says it's missing properties, but I can see them present in debugger!\n    var onMouseEnter = onMouseEnterFromContext(entry, i);\n    // @ts-expect-error BarRectangleItem type definition says it's missing properties, but I can see them present in debugger!\n    var onMouseLeave = onMouseLeaveFromContext(entry, i);\n    // @ts-expect-error BarRectangleItem type definition says it's missing properties, but I can see them present in debugger!\n    var onClick = onClickFromContext(entry, i);\n    var barRectangleProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({\n      option: backgroundFromProps,\n      isActive: String(i) === activeIndex\n    }, rest), {}, {\n      // @ts-expect-error BarRectangle props do not accept `fill` property.\n      fill: '#eee'\n    }, backgroundFromDataEntry), backgroundProps), adaptEventsOfChild(restOfAllOtherProps, entry, i)), {}, {\n      onMouseEnter,\n      onMouseLeave,\n      onClick,\n      dataKey,\n      index: i,\n      className: 'recharts-bar-background-rectangle'\n    });\n    return /*#__PURE__*/React.createElement(BarRectangle, _extends({\n      key: \"background-bar-\".concat(i)\n    }, barRectangleProps));\n  }));\n}\nfunction BarRectangles(_ref) {\n  var {\n    data,\n    props,\n    showLabels\n  } = _ref;\n  var baseProps = filterProps(props, false);\n  var {\n    shape,\n    dataKey,\n    activeBar\n  } = props;\n  var activeIndex = useAppSelector(selectActiveTooltipIndex);\n  var activeDataKey = useAppSelector(selectActiveTooltipDataKey);\n  var {\n      onMouseEnter: onMouseEnterFromProps,\n      onClick: onItemClickFromProps,\n      onMouseLeave: onMouseLeaveFromProps\n    } = props,\n    restOfAllOtherProps = _objectWithoutProperties(props, _excluded3);\n  var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey);\n  var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n  var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey);\n  if (!data) {\n    return null;\n  }\n  return /*#__PURE__*/React.createElement(React.Fragment, null, data.map((entry, i) => {\n    /*\n     * Bars support stacking, meaning that there can be multiple bars at the same x value.\n     * With Tooltip shared=false we only want to highlight the currently active Bar, not all.\n     *\n     * Also, if the tooltip is shared, we want to highlight all bars at the same x value\n     * regardless of the dataKey.\n     *\n     * With shared Tooltip, the activeDataKey is undefined.\n     */\n    var isActive = activeBar && String(i) === activeIndex && (activeDataKey == null || dataKey === activeDataKey);\n    var option = isActive ? activeBar : shape;\n    var barRectangleProps = _objectSpread(_objectSpread(_objectSpread({}, baseProps), entry), {}, {\n      isActive,\n      option,\n      index: i,\n      dataKey\n    });\n    return /*#__PURE__*/React.createElement(Layer, _extends({\n      className: \"recharts-bar-rectangle\"\n    }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n      // @ts-expect-error BarRectangleItem type definition says it's missing properties, but I can see them present in debugger!\n      onMouseEnter: onMouseEnterFromContext(entry, i)\n      // @ts-expect-error BarRectangleItem type definition says it's missing properties, but I can see them present in debugger!\n      ,\n      onMouseLeave: onMouseLeaveFromContext(entry, i)\n      // @ts-expect-error BarRectangleItem type definition says it's missing properties, but I can see them present in debugger!\n      ,\n      onClick: onClickFromContext(entry, i)\n      // https://github.com/recharts/recharts/issues/5415\n      // eslint-disable-next-line react/no-array-index-key\n      ,\n      key: \"rectangle-\".concat(entry === null || entry === void 0 ? void 0 : entry.x, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.y, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.value, \"-\").concat(i)\n    }), /*#__PURE__*/React.createElement(BarRectangle, barRectangleProps));\n  }), showLabels && LabelList.renderCallByParent(props, data));\n}\nfunction RectanglesWithAnimation(_ref2) {\n  var {\n    props,\n    previousRectanglesRef\n  } = _ref2;\n  var {\n    data,\n    layout,\n    isAnimationActive,\n    animationBegin,\n    animationDuration,\n    animationEasing,\n    onAnimationEnd,\n    onAnimationStart\n  } = props;\n  var prevData = previousRectanglesRef.current;\n  var animationId = useAnimationId(props, 'recharts-bar-');\n  var [isAnimating, setIsAnimating] = useState(false);\n  var handleAnimationEnd = useCallback(() => {\n    if (typeof onAnimationEnd === 'function') {\n      onAnimationEnd();\n    }\n    setIsAnimating(false);\n  }, [onAnimationEnd]);\n  var handleAnimationStart = useCallback(() => {\n    if (typeof onAnimationStart === 'function') {\n      onAnimationStart();\n    }\n    setIsAnimating(true);\n  }, [onAnimationStart]);\n  return /*#__PURE__*/React.createElement(Animate, {\n    begin: animationBegin,\n    duration: animationDuration,\n    isActive: isAnimationActive,\n    easing: animationEasing,\n    from: {\n      t: 0\n    },\n    to: {\n      t: 1\n    },\n    onAnimationEnd: handleAnimationEnd,\n    onAnimationStart: handleAnimationStart,\n    key: animationId\n  }, _ref3 => {\n    var {\n      t\n    } = _ref3;\n    var stepData = t === 1 ? data : data.map((entry, index) => {\n      var prev = prevData && prevData[index];\n      if (prev) {\n        var interpolatorX = interpolateNumber(prev.x, entry.x);\n        var interpolatorY = interpolateNumber(prev.y, entry.y);\n        var interpolatorWidth = interpolateNumber(prev.width, entry.width);\n        var interpolatorHeight = interpolateNumber(prev.height, entry.height);\n        return _objectSpread(_objectSpread({}, entry), {}, {\n          x: interpolatorX(t),\n          y: interpolatorY(t),\n          width: interpolatorWidth(t),\n          height: interpolatorHeight(t)\n        });\n      }\n      if (layout === 'horizontal') {\n        var _interpolatorHeight = interpolateNumber(0, entry.height);\n        var h = _interpolatorHeight(t);\n        return _objectSpread(_objectSpread({}, entry), {}, {\n          y: entry.y + entry.height - h,\n          height: h\n        });\n      }\n      var interpolator = interpolateNumber(0, entry.width);\n      var w = interpolator(t);\n      return _objectSpread(_objectSpread({}, entry), {}, {\n        width: w\n      });\n    });\n    if (t > 0) {\n      // eslint-disable-next-line no-param-reassign\n      previousRectanglesRef.current = stepData;\n    }\n    return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(BarRectangles, {\n      props: props,\n      data: stepData,\n      showLabels: !isAnimating\n    }));\n  });\n}\nfunction RenderRectangles(props) {\n  var {\n    data,\n    isAnimationActive\n  } = props;\n  var previousRectanglesRef = useRef(null);\n  if (isAnimationActive && data && data.length && (previousRectanglesRef.current == null || previousRectanglesRef.current !== data)) {\n    return /*#__PURE__*/React.createElement(RectanglesWithAnimation, {\n      previousRectanglesRef: previousRectanglesRef,\n      props: props\n    });\n  }\n  return /*#__PURE__*/React.createElement(BarRectangles, {\n    props: props,\n    data: data,\n    showLabels: true\n  });\n}\nvar defaultMinPointSize = 0;\nvar errorBarDataPointFormatter = (dataPoint, dataKey) => {\n  /**\n   * if the value coming from `selectBarRectangles` is an array then this is a stacked bar chart.\n   * arr[1] represents end value of the bar since the data is in the form of [startValue, endValue].\n   * */\n  var value = Array.isArray(dataPoint.value) ? dataPoint.value[1] : dataPoint.value;\n  return {\n    x: dataPoint.x,\n    y: dataPoint.y,\n    value,\n    // @ts-expect-error getValueByDataKey does not validate the output type\n    errorVal: getValueByDataKey(dataPoint, dataKey)\n  };\n};\nclass BarWithState extends PureComponent {\n  constructor() {\n    super(...arguments);\n    _defineProperty(this, \"id\", uniqueId('recharts-bar-'));\n  }\n  render() {\n    var {\n      hide,\n      data,\n      dataKey,\n      className,\n      xAxisId,\n      yAxisId,\n      needClip,\n      background,\n      id,\n      layout\n    } = this.props;\n    if (hide) {\n      return null;\n    }\n    var layerClass = clsx('recharts-bar', className);\n    var clipPathId = isNullish(id) ? this.id : id;\n    return /*#__PURE__*/React.createElement(Layer, {\n      className: layerClass\n    }, needClip && /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(GraphicalItemClipPath, {\n      clipPathId: clipPathId,\n      xAxisId: xAxisId,\n      yAxisId: yAxisId\n    })), /*#__PURE__*/React.createElement(Layer, {\n      className: \"recharts-bar-rectangles\",\n      clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n    }, /*#__PURE__*/React.createElement(BarBackground, {\n      data: data,\n      dataKey: dataKey,\n      background: background,\n      allOtherBarProps: this.props\n    }), /*#__PURE__*/React.createElement(RenderRectangles, this.props)), /*#__PURE__*/React.createElement(SetErrorBarPreferredDirection, {\n      direction: layout === 'horizontal' ? 'y' : 'x'\n    }, this.props.children));\n  }\n}\nvar defaultBarProps = {\n  activeBar: false,\n  animationBegin: 0,\n  animationDuration: 400,\n  animationEasing: 'ease',\n  hide: false,\n  isAnimationActive: !Global.isSsr,\n  legendType: 'rect',\n  minPointSize: defaultMinPointSize,\n  xAxisId: 0,\n  yAxisId: 0\n};\nfunction BarImpl(props) {\n  var {\n    xAxisId,\n    yAxisId,\n    hide,\n    legendType,\n    minPointSize,\n    activeBar,\n    animationBegin,\n    animationDuration,\n    animationEasing,\n    isAnimationActive\n  } = resolveDefaultProps(props, defaultBarProps);\n  var {\n    needClip\n  } = useNeedsClip(xAxisId, yAxisId);\n  var layout = useChartLayout();\n  var isPanorama = useIsPanorama();\n  var barSettings = useMemo(() => ({\n    barSize: props.barSize,\n    data: undefined,\n    dataKey: props.dataKey,\n    maxBarSize: props.maxBarSize,\n    minPointSize,\n    stackId: getNormalizedStackId(props.stackId)\n  }), [props.barSize, props.dataKey, props.maxBarSize, minPointSize, props.stackId]);\n  var cells = findAllByType(props.children, Cell);\n  var rects = useAppSelector(state => selectBarRectangles(state, xAxisId, yAxisId, isPanorama, barSettings, cells));\n  if (layout !== 'vertical' && layout !== 'horizontal') {\n    return null;\n  }\n  var errorBarOffset;\n  var firstDataPoint = rects === null || rects === void 0 ? void 0 : rects[0];\n  if (firstDataPoint == null || firstDataPoint.height == null || firstDataPoint.width == null) {\n    errorBarOffset = 0;\n  } else {\n    errorBarOffset = layout === 'vertical' ? firstDataPoint.height / 2 : firstDataPoint.width / 2;\n  }\n  return /*#__PURE__*/React.createElement(SetErrorBarContext, {\n    xAxisId: xAxisId,\n    yAxisId: yAxisId,\n    data: rects,\n    dataPointFormatter: errorBarDataPointFormatter,\n    errorBarOffset: errorBarOffset\n  }, /*#__PURE__*/React.createElement(BarWithState, _extends({}, props, {\n    layout: layout,\n    needClip: needClip,\n    data: rects,\n    xAxisId: xAxisId,\n    yAxisId: yAxisId,\n    hide: hide,\n    legendType: legendType,\n    minPointSize: minPointSize,\n    activeBar: activeBar,\n    animationBegin: animationBegin,\n    animationDuration: animationDuration,\n    animationEasing: animationEasing,\n    isAnimationActive: isAnimationActive\n  })));\n}\nexport function computeBarRectangles(_ref4) {\n  var {\n    layout,\n    barSettings: {\n      dataKey,\n      minPointSize: minPointSizeProp\n    },\n    pos,\n    bandSize,\n    xAxis,\n    yAxis,\n    xAxisTicks,\n    yAxisTicks,\n    stackedData,\n    displayedData,\n    offset,\n    cells\n  } = _ref4;\n  var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n  // @ts-expect-error this assumes that the domain is always numeric, but doesn't check for it\n  var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n  var baseValue = getBaseValueOfBar({\n    numericAxis\n  });\n  return displayedData.map((entry, index) => {\n    var value, x, y, width, height, background;\n    if (stackedData) {\n      // we don't need to use dataStartIndex here, because stackedData is already sliced from the selector\n      value = truncateByDomain(stackedData[index], stackedDomain);\n    } else {\n      value = getValueByDataKey(entry, dataKey);\n      if (!Array.isArray(value)) {\n        value = [baseValue, value];\n      }\n    }\n    var minPointSize = minPointSizeCallback(minPointSizeProp, defaultMinPointSize)(value[1], index);\n    if (layout === 'horizontal') {\n      var _ref5;\n      var [baseValueScale, currentValueScale] = [yAxis.scale(value[0]), yAxis.scale(value[1])];\n      x = getCateCoordinateOfBar({\n        axis: xAxis,\n        ticks: xAxisTicks,\n        bandSize,\n        offset: pos.offset,\n        entry,\n        index\n      });\n      y = (_ref5 = currentValueScale !== null && currentValueScale !== void 0 ? currentValueScale : baseValueScale) !== null && _ref5 !== void 0 ? _ref5 : undefined;\n      width = pos.size;\n      var computedHeight = baseValueScale - currentValueScale;\n      height = isNan(computedHeight) ? 0 : computedHeight;\n      background = {\n        x,\n        y: offset.top,\n        width,\n        height: offset.height\n      };\n      if (Math.abs(minPointSize) > 0 && Math.abs(height) < Math.abs(minPointSize)) {\n        var delta = mathSign(height || minPointSize) * (Math.abs(minPointSize) - Math.abs(height));\n        y -= delta;\n        height += delta;\n      }\n    } else {\n      var [_baseValueScale, _currentValueScale] = [xAxis.scale(value[0]), xAxis.scale(value[1])];\n      x = _baseValueScale;\n      y = getCateCoordinateOfBar({\n        axis: yAxis,\n        ticks: yAxisTicks,\n        bandSize,\n        offset: pos.offset,\n        entry,\n        index\n      });\n      width = _currentValueScale - _baseValueScale;\n      height = pos.size;\n      background = {\n        x: offset.left,\n        y,\n        width: offset.width,\n        height\n      };\n      if (Math.abs(minPointSize) > 0 && Math.abs(width) < Math.abs(minPointSize)) {\n        var _delta = mathSign(width || minPointSize) * (Math.abs(minPointSize) - Math.abs(width));\n        width += _delta;\n      }\n    }\n    return _objectSpread(_objectSpread({}, entry), {}, {\n      x,\n      y,\n      width,\n      height,\n      value: stackedData ? value : value[1],\n      payload: entry,\n      background,\n      tooltipPosition: {\n        x: x + width / 2,\n        y: y + height / 2\n      }\n    }, cells && cells[index] && cells[index].props);\n  });\n}\nexport class Bar extends PureComponent {\n  render() {\n    // Report all props to Redux store first, before calling any hooks, to avoid circular dependencies.\n    return /*#__PURE__*/React.createElement(CartesianGraphicalItemContext, {\n      type: \"bar\"\n      // Bar does not allow setting data directly on the graphical item (why?)\n      ,\n      data: null,\n      xAxisId: this.props.xAxisId,\n      yAxisId: this.props.yAxisId,\n      zAxisId: 0,\n      dataKey: this.props.dataKey,\n      stackId: this.props.stackId,\n      hide: this.props.hide,\n      barSize: this.props.barSize\n    }, /*#__PURE__*/React.createElement(ReportBar, null), /*#__PURE__*/React.createElement(SetLegendPayload, {\n      legendPayload: computeLegendPayloadFromBarData(this.props)\n    }), /*#__PURE__*/React.createElement(SetTooltipEntrySettings, {\n      fn: getTooltipEntrySettings,\n      args: this.props\n    }), /*#__PURE__*/React.createElement(BarImpl, this.props));\n  }\n}\n_defineProperty(Bar, \"displayName\", 'Bar');\n_defineProperty(Bar, \"defaultProps\", defaultBarProps);","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { createSelector } from 'reselect';\nimport { selectAxisWithScale, selectCartesianAxisSize, selectStackGroups, selectTicksOfGraphicalItem, selectUnfilteredCartesianItems } from './axisSelectors';\nimport { getPercentValue, isNullish } from '../../util/DataUtils';\nimport { getBandSizeOfAxis } from '../../util/ChartUtils';\nimport { computeBarRectangles } from '../../cartesian/Bar';\nimport { selectChartLayout } from '../../context/chartLayoutContext';\nimport { selectChartDataWithIndexesIfNotInPanorama } from './dataSelectors';\nimport { selectChartOffset } from './selectChartOffset';\nimport { selectBarCategoryGap, selectBarGap, selectRootBarSize, selectRootMaxBarSize } from './rootPropsSelectors';\nimport { isWellBehavedNumber } from '../../util/isWellBehavedNumber';\nvar pickXAxisId = (_state, xAxisId) => xAxisId;\nvar pickYAxisId = (_state, _xAxisId, yAxisId) => yAxisId;\nvar pickIsPanorama = (_state, _xAxisId, _yAxisId, isPanorama) => isPanorama;\nvar pickBarSettings = (_state, _xAxisId, _yAxisId, _isPanorama, barSettings) => barSettings;\nvar pickMaxBarSize = (_state, _xAxisId, _yAxisId, _isPanorama, barSettings) => barSettings.maxBarSize;\nvar pickCells = (_state, _xAxisId, _yAxisId, _isPanorama, _barSettings, cells) => cells;\nvar getBarSize = (globalSize, totalSize, selfSize) => {\n  var barSize = selfSize !== null && selfSize !== void 0 ? selfSize : globalSize;\n  if (isNullish(barSize)) {\n    return undefined;\n  }\n  return getPercentValue(barSize, totalSize, 0);\n};\nexport var selectAllVisibleBars = createSelector([selectChartLayout, selectUnfilteredCartesianItems, pickXAxisId, pickYAxisId, pickIsPanorama], (layout, allItems, xAxisId, yAxisId, isPanorama) => allItems.filter(i => {\n  if (layout === 'horizontal') {\n    return i.xAxisId === xAxisId;\n  }\n  return i.yAxisId === yAxisId;\n}).filter(i => i.isPanorama === isPanorama).filter(i => i.hide === false).filter(i => i.type === 'bar'));\nvar selectBarStackGroups = (state, xAxisId, yAxisId, isPanorama) => {\n  var layout = selectChartLayout(state);\n  if (layout === 'horizontal') {\n    return selectStackGroups(state, 'yAxis', yAxisId, isPanorama);\n  }\n  return selectStackGroups(state, 'xAxis', xAxisId, isPanorama);\n};\nexport var selectBarCartesianAxisSize = (state, xAxisId, yAxisId) => {\n  var layout = selectChartLayout(state);\n  if (layout === 'horizontal') {\n    return selectCartesianAxisSize(state, 'xAxis', xAxisId);\n  }\n  return selectCartesianAxisSize(state, 'yAxis', yAxisId);\n};\n\n/**\n * Some graphical items allow data stacking. The stacks are optional,\n * so all props here are optional too.\n */\n\n/**\n * Some graphical items allow data stacking.\n * This interface is used to represent the items that are stacked\n * because the user has provided the stackId and dataKey properties.\n */\n\nfunction isStacked(graphicalItem) {\n  return graphicalItem.stackId != null && graphicalItem.dataKey != null;\n}\nexport var combineBarSizeList = (allBars, globalSize, totalSize) => {\n  var initialValue = {};\n  var stackedBars = allBars.filter(isStacked);\n  var unstackedBars = allBars.filter(b => b.stackId == null);\n  var groupByStack = stackedBars.reduce((acc, bar) => {\n    if (!acc[bar.stackId]) {\n      acc[bar.stackId] = [];\n    }\n    acc[bar.stackId].push(bar);\n    return acc;\n  }, initialValue);\n  var stackedSizeList = Object.entries(groupByStack).map(_ref => {\n    var [stackId, bars] = _ref;\n    var dataKeys = bars.map(b => b.dataKey);\n    var barSize = getBarSize(globalSize, totalSize, bars[0].barSize);\n    return {\n      stackId,\n      dataKeys,\n      barSize\n    };\n  });\n  var unstackedSizeList = unstackedBars.map(b => {\n    var dataKeys = [b.dataKey].filter(dk => dk != null);\n    var barSize = getBarSize(globalSize, totalSize, b.barSize);\n    return {\n      stackId: undefined,\n      dataKeys,\n      barSize\n    };\n  });\n  return [...stackedSizeList, ...unstackedSizeList];\n};\nexport var selectBarSizeList = createSelector([selectAllVisibleBars, selectRootBarSize, selectBarCartesianAxisSize], combineBarSizeList);\nexport var selectBarBandSize = (state, xAxisId, yAxisId, isPanorama, barSettings) => {\n  var _ref2, _getBandSizeOfAxis;\n  var layout = selectChartLayout(state);\n  var globalMaxBarSize = selectRootMaxBarSize(state);\n  var {\n    maxBarSize: childMaxBarSize\n  } = barSettings;\n  var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n  var axis, ticks;\n  if (layout === 'horizontal') {\n    axis = selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama);\n    ticks = selectTicksOfGraphicalItem(state, 'xAxis', xAxisId, isPanorama);\n  } else {\n    axis = selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama);\n    ticks = selectTicksOfGraphicalItem(state, 'yAxis', yAxisId, isPanorama);\n  }\n  return (_ref2 = (_getBandSizeOfAxis = getBandSizeOfAxis(axis, ticks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref2 !== void 0 ? _ref2 : 0;\n};\nvar selectAxisBandSize = (state, xAxisId, yAxisId, isPanorama) => {\n  var layout = selectChartLayout(state);\n  var axis, ticks;\n  if (layout === 'horizontal') {\n    axis = selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama);\n    ticks = selectTicksOfGraphicalItem(state, 'xAxis', xAxisId, isPanorama);\n  } else {\n    axis = selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama);\n    ticks = selectTicksOfGraphicalItem(state, 'yAxis', yAxisId, isPanorama);\n  }\n  return getBandSizeOfAxis(axis, ticks);\n};\nfunction getBarPositions(barGap, barCategoryGap, bandSize, sizeList, maxBarSize) {\n  var len = sizeList.length;\n  if (len < 1) {\n    return undefined;\n  }\n  var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n  var result;\n  var initialValue = [];\n\n  // whether is barSize set by user\n  // Okay but why does it check only for the first element? What if the first element is set but others are not?\n  if (isWellBehavedNumber(sizeList[0].barSize)) {\n    var useFull = false;\n    var fullBarSize = bandSize / len;\n    var sum = sizeList.reduce((res, entry) => res + (entry.barSize || 0), 0);\n    sum += (len - 1) * realBarGap;\n    if (sum >= bandSize) {\n      sum -= (len - 1) * realBarGap;\n      realBarGap = 0;\n    }\n    if (sum >= bandSize && fullBarSize > 0) {\n      useFull = true;\n      fullBarSize *= 0.9;\n      sum = len * fullBarSize;\n    }\n    var offset = (bandSize - sum) / 2 >> 0;\n    var prev = {\n      offset: offset - realBarGap,\n      size: 0\n    };\n    result = sizeList.reduce((res, entry) => {\n      var _entry$barSize;\n      var newPosition = {\n        stackId: entry.stackId,\n        dataKeys: entry.dataKeys,\n        position: {\n          offset: prev.offset + prev.size + realBarGap,\n          size: useFull ? fullBarSize : (_entry$barSize = entry.barSize) !== null && _entry$barSize !== void 0 ? _entry$barSize : 0\n        }\n      };\n      var newRes = [...res, newPosition];\n      prev = newRes[newRes.length - 1].position;\n      return newRes;\n    }, initialValue);\n  } else {\n    var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n    if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n      realBarGap = 0;\n    }\n    var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n    if (originalSize > 1) {\n      originalSize >>= 0;\n    }\n    var size = isWellBehavedNumber(maxBarSize) ? Math.min(originalSize, maxBarSize) : originalSize;\n    result = sizeList.reduce((res, entry, i) => [...res, {\n      stackId: entry.stackId,\n      dataKeys: entry.dataKeys,\n      position: {\n        offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n        size\n      }\n    }], initialValue);\n  }\n  return result;\n}\nexport var combineAllBarPositions = (sizeList, globalMaxBarSize, barGap, barCategoryGap, barBandSize, bandSize, childMaxBarSize) => {\n  var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n  var allBarPositions = getBarPositions(barGap, barCategoryGap, barBandSize !== bandSize ? barBandSize : bandSize, sizeList, maxBarSize);\n  if (barBandSize !== bandSize && allBarPositions != null) {\n    allBarPositions = allBarPositions.map(pos => _objectSpread(_objectSpread({}, pos), {}, {\n      position: _objectSpread(_objectSpread({}, pos.position), {}, {\n        offset: pos.position.offset - barBandSize / 2\n      })\n    }));\n  }\n  return allBarPositions;\n};\nexport var selectAllBarPositions = createSelector([selectBarSizeList, selectRootMaxBarSize, selectBarGap, selectBarCategoryGap, selectBarBandSize, selectAxisBandSize, pickMaxBarSize], combineAllBarPositions);\nvar selectXAxisWithScale = (state, xAxisId, _yAxisId, isPanorama) => selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama);\nvar selectYAxisWithScale = (state, _xAxisId, yAxisId, isPanorama) => selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama);\nvar selectXAxisTicks = (state, xAxisId, _yAxisId, isPanorama) => selectTicksOfGraphicalItem(state, 'xAxis', xAxisId, isPanorama);\nvar selectYAxisTicks = (state, _xAxisId, yAxisId, isPanorama) => selectTicksOfGraphicalItem(state, 'yAxis', yAxisId, isPanorama);\nexport var selectBarPosition = createSelector([selectAllBarPositions, pickBarSettings], (allBarPositions, barSettings) => {\n  if (allBarPositions == null) {\n    return undefined;\n  }\n  var position = allBarPositions.find(p => p.stackId === barSettings.stackId && p.dataKeys.includes(barSettings.dataKey));\n  if (position == null) {\n    return undefined;\n  }\n  return position.position;\n});\nexport var combineStackedData = (stackGroups, barSettings) => {\n  if (!stackGroups || (barSettings === null || barSettings === void 0 ? void 0 : barSettings.dataKey) == null) {\n    return undefined;\n  }\n  var {\n    stackId\n  } = barSettings;\n  if (stackId == null) {\n    return undefined;\n  }\n  var stackGroup = stackGroups[stackId];\n  if (!stackGroup) {\n    return undefined;\n  }\n  var {\n    stackedData\n  } = stackGroup;\n  if (!stackedData) {\n    return undefined;\n  }\n  var stack = stackedData.find(sd => sd.key === barSettings.dataKey);\n  return stack;\n};\nvar selectSynchronisedBarSettings = createSelector([selectUnfilteredCartesianItems, pickBarSettings], (graphicalItems, barSettingsFromProps) => {\n  if (graphicalItems.some(cgis => cgis.type === 'bar' && barSettingsFromProps.dataKey === cgis.dataKey && barSettingsFromProps.stackId === cgis.stackId &&\n  // barSettingsFromProps.data === cgis.data && // bar doesn't support data and one is undefined and another is null and this condition breaks\n  barSettingsFromProps.stackId === cgis.stackId)) {\n    return barSettingsFromProps;\n  }\n  return undefined;\n});\nvar selectStackedDataOfItem = createSelector([selectBarStackGroups, pickBarSettings], combineStackedData);\nexport var selectBarRectangles = createSelector([selectChartOffset, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks, selectBarPosition, selectChartLayout, selectChartDataWithIndexesIfNotInPanorama, selectAxisBandSize, selectStackedDataOfItem, selectSynchronisedBarSettings, pickCells], (offset, xAxis, yAxis, xAxisTicks, yAxisTicks, pos, layout, _ref3, bandSize, stackedData, barSettings, cells) => {\n  var {\n    chartData,\n    dataStartIndex,\n    dataEndIndex\n  } = _ref3;\n  if (barSettings == null || pos == null || layout !== 'horizontal' && layout !== 'vertical' || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || bandSize == null) {\n    return undefined;\n  }\n  var {\n    data\n  } = barSettings;\n  var displayedData;\n  if (data != null && data.length > 0) {\n    displayedData = data;\n  } else {\n    displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n  }\n  if (displayedData == null) {\n    return undefined;\n  }\n  return computeBarRectangles({\n    layout,\n    barSettings,\n    pos,\n    bandSize,\n    xAxis,\n    yAxis,\n    xAxisTicks,\n    yAxisTicks,\n    stackedData,\n    displayedData,\n    offset,\n    cells\n  });\n});","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nexport var rectWithPoints = (_ref, _ref2) => {\n  var {\n    x: x1,\n    y: y1\n  } = _ref;\n  var {\n    x: x2,\n    y: y2\n  } = _ref2;\n  return {\n    x: Math.min(x1, x2),\n    y: Math.min(y1, y2),\n    width: Math.abs(x2 - x1),\n    height: Math.abs(y2 - y1)\n  };\n};\n\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param  {Object} coords     x1, x2, y1, and y2\n * @return {Object} object\n */\nexport var rectWithCoords = _ref3 => {\n  var {\n    x1,\n    y1,\n    x2,\n    y2\n  } = _ref3;\n  return rectWithPoints({\n    x: x1,\n    y: y1\n  }, {\n    x: x2,\n    y: y2\n  });\n};\nexport class ScaleHelper {\n  static create(obj) {\n    return new ScaleHelper(obj);\n  }\n  constructor(scale) {\n    this.scale = scale;\n  }\n  get domain() {\n    return this.scale.domain;\n  }\n  get range() {\n    return this.scale.range;\n  }\n  get rangeMin() {\n    return this.range()[0];\n  }\n  get rangeMax() {\n    return this.range()[1];\n  }\n  get bandwidth() {\n    return this.scale.bandwidth;\n  }\n  apply(value) {\n    var {\n      bandAware,\n      position\n    } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    if (value === undefined) {\n      return undefined;\n    }\n    if (position) {\n      switch (position) {\n        case 'start':\n          {\n            return this.scale(value);\n          }\n        case 'middle':\n          {\n            var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n            return this.scale(value) + offset;\n          }\n        case 'end':\n          {\n            var _offset = this.bandwidth ? this.bandwidth() : 0;\n            return this.scale(value) + _offset;\n          }\n        default:\n          {\n            return this.scale(value);\n          }\n      }\n    }\n    if (bandAware) {\n      var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n      return this.scale(value) + _offset2;\n    }\n    return this.scale(value);\n  }\n  isInRange(value) {\n    var range = this.range();\n    var first = range[0];\n    var last = range[range.length - 1];\n    return first <= last ? value >= first && value <= last : value >= last && value <= first;\n  }\n}\n_defineProperty(ScaleHelper, \"EPS\", 1e-4);\nexport var createLabeledScales = options => {\n  var scales = Object.keys(options).reduce((res, key) => _objectSpread(_objectSpread({}, res), {}, {\n    [key]: ScaleHelper.create(options[key])\n  }), {});\n  return _objectSpread(_objectSpread({}, scales), {}, {\n    apply(coord) {\n      var {\n        bandAware,\n        position\n      } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      return Object.fromEntries(Object.entries(coord).map(_ref4 => {\n        var [label, value] = _ref4;\n        return [label, scales[label].apply(value, {\n          bandAware,\n          position\n        })];\n      }));\n    },\n    isInRange(coord) {\n      return Object.keys(coord).every(label => scales[label].isInRange(coord[label]));\n    }\n  });\n};\n\n/** Normalizes the angle so that 0 <= angle < 180.\n * @param {number} angle Angle in degrees.\n * @return {number} the normalized angle with a value of at least 0 and never greater or equal to 180. */\nexport function normalizeAngle(angle) {\n  return (angle % 180 + 180) % 180;\n}\n\n/** Calculates the width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n * @param {Object} size Width and height of the text in a horizontal position.\n * @param {number} angle Angle in degrees in which the text is displayed.\n * @return {number} The width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n */\nexport var getAngledRectangleWidth = function getAngledRectangleWidth(_ref5) {\n  var {\n    width,\n    height\n  } = _ref5;\n  var angle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  // Ensure angle is >= 0 && < 180\n  var normalizedAngle = normalizeAngle(angle);\n  var angleRadians = normalizedAngle * Math.PI / 180;\n\n  /* Depending on the height and width of the rectangle, we may need to use different formulas to calculate the angled\n   * width. This threshold defines when each formula should kick in. */\n  var angleThreshold = Math.atan(height / width);\n  var angledWidth = angleRadians > angleThreshold && angleRadians < Math.PI - angleThreshold ? height / Math.sin(angleRadians) : width / Math.cos(angleRadians);\n  return Math.abs(angledWidth);\n};","import * as React from 'react';\nimport { createContext, useContext, useState } from 'react';\nimport { useOffset } from '../context/chartLayoutContext';\nimport { uniqueId } from '../util/DataUtils';\nvar ClipPathIdContext = /*#__PURE__*/createContext(undefined);\n\n/**\n * Generates a unique clip path ID for use in SVG elements,\n * and puts it in a context provider.\n *\n * To read the clip path ID, use the `useClipPathId` hook,\n * or render `<ClipPath>` component which will automatically use the ID from this context.\n *\n * @param props children - React children to be wrapped by the provider\n * @returns React Context Provider\n */\nexport var ClipPathProvider = _ref => {\n  var {\n    children\n  } = _ref;\n  var [clipPathId] = useState(\"\".concat(uniqueId('recharts'), \"-clip\"));\n  var offset = useOffset();\n  if (offset == null) {\n    return null;\n  }\n  var {\n    left,\n    top,\n    height,\n    width\n  } = offset;\n  return /*#__PURE__*/React.createElement(ClipPathIdContext.Provider, {\n    value: clipPathId\n  }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n    id: clipPathId\n  }, /*#__PURE__*/React.createElement(\"rect\", {\n    x: left,\n    y: top,\n    height: height,\n    width: width\n  }))), children);\n};\nexport var useClipPathId = () => {\n  return useContext(ClipPathIdContext);\n};","/**\n * Given an array and a number N, return a new array which contains every nTh\n * element of the input array. For n below 1, an empty array is returned.\n * If isValid is provided, all candidates must suffice the condition, else undefined is returned.\n * @param {T[]} array An input array.\n * @param {integer} n A number\n * @param {Function} isValid A function to evaluate a candidate form the array\n * @returns {T[]} The result array of the same type as the input array.\n */\nexport function getEveryNthWithCondition(array, n, isValid) {\n  if (n < 1) {\n    return [];\n  }\n  if (n === 1 && isValid === undefined) {\n    return array;\n  }\n  var result = [];\n  for (var i = 0; i < array.length; i += n) {\n    if (isValid === undefined || isValid(array[i]) === true) {\n      result.push(array[i]);\n    } else {\n      return undefined;\n    }\n  }\n  return result;\n}","import { getAngledRectangleWidth } from './CartesianUtils';\nimport { getEveryNthWithCondition } from './getEveryNthWithCondition';\nexport function getAngledTickWidth(contentSize, unitSize, angle) {\n  var size = {\n    width: contentSize.width + unitSize.width,\n    height: contentSize.height + unitSize.height\n  };\n  return getAngledRectangleWidth(size, angle);\n}\nexport function getTickBoundaries(viewBox, sign, sizeKey) {\n  var isWidth = sizeKey === 'width';\n  var {\n    x,\n    y,\n    width,\n    height\n  } = viewBox;\n  if (sign === 1) {\n    return {\n      start: isWidth ? x : y,\n      end: isWidth ? x + width : y + height\n    };\n  }\n  return {\n    start: isWidth ? x + width : y + height,\n    end: isWidth ? x : y\n  };\n}\nexport function isVisible(sign, tickPosition, getSize, start, end) {\n  /* Since getSize() is expensive (it reads the ticks' size from the DOM), we do this check first to avoid calculating\n   * the tick's size. */\n  if (sign * tickPosition < sign * start || sign * tickPosition > sign * end) {\n    return false;\n  }\n  var size = getSize();\n  return sign * (tickPosition - sign * size / 2 - start) >= 0 && sign * (tickPosition + sign * size / 2 - end) <= 0;\n}\nexport function getNumberIntervalTicks(ticks, interval) {\n  return getEveryNthWithCondition(ticks, interval + 1);\n}","import { isVisible } from '../util/TickUtils';\nimport { getEveryNthWithCondition } from '../util/getEveryNthWithCondition';\nexport function getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap) {\n  // If the ticks are readonly, then the slice might not be necessary\n  var result = (ticks || []).slice();\n  var {\n    start: initialStart,\n    end\n  } = boundaries;\n  var index = 0;\n  // Premature optimisation idea 1: Estimate a lower bound, and start from there.\n  // For now, start from every tick\n  var stepsize = 1;\n  var start = initialStart;\n  var _loop = function _loop() {\n      // Given stepsize, evaluate whether every stepsize-th tick can be shown.\n      // If it can not, then increase the stepsize by 1, and try again.\n\n      var entry = ticks === null || ticks === void 0 ? void 0 : ticks[index];\n\n      // Break condition - If we have evaluated all the ticks, then we are done.\n      if (entry === undefined) {\n        return {\n          v: getEveryNthWithCondition(ticks, stepsize)\n        };\n      }\n\n      // Check if the element collides with the next element\n      var i = index;\n      var size;\n      var getSize = () => {\n        if (size === undefined) {\n          size = getTickSize(entry, i);\n        }\n        return size;\n      };\n      var tickCoord = entry.coordinate;\n      // We will always show the first tick.\n      var isShow = index === 0 || isVisible(sign, tickCoord, getSize, start, end);\n      if (!isShow) {\n        // Start all over with a larger stepsize\n        index = 0;\n        start = initialStart;\n        stepsize += 1;\n      }\n      if (isShow) {\n        // If it can be shown, update the start\n        start = tickCoord + sign * (getSize() / 2 + minTickGap);\n        index += stepsize;\n      }\n    },\n    _ret;\n  while (stepsize <= result.length) {\n    _ret = _loop();\n    if (_ret) return _ret.v;\n  }\n  return [];\n}","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { mathSign, isNumber } from '../util/DataUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Global } from '../util/Global';\nimport { isVisible, getTickBoundaries, getNumberIntervalTicks, getAngledTickWidth } from '../util/TickUtils';\nimport { getEquidistantTicks } from './getEquidistantTicks';\nfunction getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap) {\n  var result = (ticks || []).slice();\n  var len = result.length;\n  var {\n    start\n  } = boundaries;\n  var {\n    end\n  } = boundaries;\n  var _loop = function _loop(i) {\n    var entry = result[i];\n    var size;\n    var getSize = () => {\n      if (size === undefined) {\n        size = getTickSize(entry, i);\n      }\n      return size;\n    };\n    if (i === len - 1) {\n      var gap = sign * (entry.coordinate + sign * getSize() / 2 - end);\n      result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n        tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n      });\n    } else {\n      result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n        tickCoord: entry.coordinate\n      });\n    }\n    var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);\n    if (isShow) {\n      end = entry.tickCoord - sign * (getSize() / 2 + minTickGap);\n      result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n        isShow: true\n      });\n    }\n  };\n  for (var i = len - 1; i >= 0; i--) {\n    _loop(i);\n  }\n  return result;\n}\nfunction getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, preserveEnd) {\n  // This method is mutating the array so clone is indeed necessary here\n  var result = (ticks || []).slice();\n  var len = result.length;\n  var {\n    start,\n    end\n  } = boundaries;\n  if (preserveEnd) {\n    // Try to guarantee the tail to be displayed\n    var tail = ticks[len - 1];\n    var tailSize = getTickSize(tail, len - 1);\n    var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n    result[len - 1] = tail = _objectSpread(_objectSpread({}, tail), {}, {\n      tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n    });\n    var isTailShow = isVisible(sign, tail.tickCoord, () => tailSize, start, end);\n    if (isTailShow) {\n      end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n      result[len - 1] = _objectSpread(_objectSpread({}, tail), {}, {\n        isShow: true\n      });\n    }\n  }\n  var count = preserveEnd ? len - 1 : len;\n  var _loop2 = function _loop2(i) {\n    var entry = result[i];\n    var size;\n    var getSize = () => {\n      if (size === undefined) {\n        size = getTickSize(entry, i);\n      }\n      return size;\n    };\n    if (i === 0) {\n      var gap = sign * (entry.coordinate - sign * getSize() / 2 - start);\n      result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n        tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n      });\n    } else {\n      result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n        tickCoord: entry.coordinate\n      });\n    }\n    var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);\n    if (isShow) {\n      start = entry.tickCoord + sign * (getSize() / 2 + minTickGap);\n      result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n        isShow: true\n      });\n    }\n  };\n  for (var i = 0; i < count; i++) {\n    _loop2(i);\n  }\n  return result;\n}\nexport function getTicks(props, fontSize, letterSpacing) {\n  var {\n    tick,\n    ticks,\n    viewBox,\n    minTickGap,\n    orientation,\n    interval,\n    tickFormatter,\n    unit,\n    angle\n  } = props;\n  if (!ticks || !ticks.length || !tick) {\n    return [];\n  }\n  if (isNumber(interval) || Global.isSsr) {\n    var _getNumberIntervalTic;\n    return (_getNumberIntervalTic = getNumberIntervalTicks(ticks, isNumber(interval) ? interval : 0)) !== null && _getNumberIntervalTic !== void 0 ? _getNumberIntervalTic : [];\n  }\n  var candidates = [];\n  var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n  var unitSize = unit && sizeKey === 'width' ? getStringSize(unit, {\n    fontSize,\n    letterSpacing\n  }) : {\n    width: 0,\n    height: 0\n  };\n  var getTickSize = (content, index) => {\n    var value = typeof tickFormatter === 'function' ? tickFormatter(content.value, index) : content.value;\n    // Recharts only supports angles when sizeKey === 'width'\n    return sizeKey === 'width' ? getAngledTickWidth(getStringSize(value, {\n      fontSize,\n      letterSpacing\n    }), unitSize, angle) : getStringSize(value, {\n      fontSize,\n      letterSpacing\n    })[sizeKey];\n  };\n  var sign = ticks.length >= 2 ? mathSign(ticks[1].coordinate - ticks[0].coordinate) : 1;\n  var boundaries = getTickBoundaries(viewBox, sign, sizeKey);\n  if (interval === 'equidistantPreserveStart') {\n    return getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap);\n  }\n  if (interval === 'preserveStart' || interval === 'preserveStartEnd') {\n    candidates = getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, interval === 'preserveStartEnd');\n  } else {\n    candidates = getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap);\n  }\n  return candidates.filter(entry => entry.isShow);\n}","var _excluded = [\"viewBox\"],\n  _excluded2 = [\"viewBox\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Cartesian Axis\n */\nimport * as React from 'react';\nimport { Component } from 'react';\nimport get from 'es-toolkit/compat/get';\nimport { clsx } from 'clsx';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { isNumber } from '../util/DataUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { getTicks } from './getTicks';\n\n/** The orientation of the axis in correspondence to the chart */\n\n/** A unit to be appended to a value */\n\n/** The formatter function of tick */\n\n/*\n * `viewBox` and `scale` are SVG attributes.\n * Recharts however - unfortunately - has its own attributes named `viewBox` and `scale`\n * that are completely different data shape and different purpose.\n */\n\nexport class CartesianAxis extends Component {\n  constructor(props) {\n    super(props);\n    this.tickRefs = /*#__PURE__*/React.createRef();\n    this.tickRefs.current = [];\n    this.state = {\n      fontSize: '',\n      letterSpacing: ''\n    };\n  }\n  shouldComponentUpdate(_ref, nextState) {\n    var {\n        viewBox\n      } = _ref,\n      restProps = _objectWithoutProperties(_ref, _excluded);\n    // props.viewBox is sometimes generated every time -\n    // check that specially as object equality is likely to fail\n    var _this$props = this.props,\n      {\n        viewBox: viewBoxOld\n      } = _this$props,\n      restPropsOld = _objectWithoutProperties(_this$props, _excluded2);\n    return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld) || !shallowEqual(nextState, this.state);\n  }\n\n  /**\n   * Calculate the coordinates of endpoints in ticks\n   * @param  data The data of a simple tick\n   * @return (x1, y1): The coordinate of endpoint close to tick text\n   *  (x2, y2): The coordinate of endpoint close to axis\n   */\n  getTickLineCoord(data) {\n    var {\n      x,\n      y,\n      width,\n      height,\n      orientation,\n      tickSize,\n      mirror,\n      tickMargin\n    } = this.props;\n    var x1, x2, y1, y2, tx, ty;\n    var sign = mirror ? -1 : 1;\n    var finalTickSize = data.tickSize || tickSize;\n    var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n    switch (orientation) {\n      case 'top':\n        x1 = x2 = data.coordinate;\n        y2 = y + +!mirror * height;\n        y1 = y2 - sign * finalTickSize;\n        ty = y1 - sign * tickMargin;\n        tx = tickCoord;\n        break;\n      case 'left':\n        y1 = y2 = data.coordinate;\n        x2 = x + +!mirror * width;\n        x1 = x2 - sign * finalTickSize;\n        tx = x1 - sign * tickMargin;\n        ty = tickCoord;\n        break;\n      case 'right':\n        y1 = y2 = data.coordinate;\n        x2 = x + +mirror * width;\n        x1 = x2 + sign * finalTickSize;\n        tx = x1 + sign * tickMargin;\n        ty = tickCoord;\n        break;\n      default:\n        x1 = x2 = data.coordinate;\n        y2 = y + +mirror * height;\n        y1 = y2 + sign * finalTickSize;\n        ty = y1 + sign * tickMargin;\n        tx = tickCoord;\n        break;\n    }\n    return {\n      line: {\n        x1,\n        y1,\n        x2,\n        y2\n      },\n      tick: {\n        x: tx,\n        y: ty\n      }\n    };\n  }\n  getTickTextAnchor() {\n    var {\n      orientation,\n      mirror\n    } = this.props;\n    var textAnchor;\n    switch (orientation) {\n      case 'left':\n        textAnchor = mirror ? 'start' : 'end';\n        break;\n      case 'right':\n        textAnchor = mirror ? 'end' : 'start';\n        break;\n      default:\n        textAnchor = 'middle';\n        break;\n    }\n    return textAnchor;\n  }\n  getTickVerticalAnchor() {\n    var {\n      orientation,\n      mirror\n    } = this.props;\n    switch (orientation) {\n      case 'left':\n      case 'right':\n        return 'middle';\n      case 'top':\n        return mirror ? 'start' : 'end';\n      default:\n        return mirror ? 'end' : 'start';\n    }\n  }\n  renderAxisLine() {\n    var {\n      x,\n      y,\n      width,\n      height,\n      orientation,\n      mirror,\n      axisLine\n    } = this.props;\n    var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props, false)), filterProps(axisLine, false)), {}, {\n      fill: 'none'\n    });\n    if (orientation === 'top' || orientation === 'bottom') {\n      var needHeight = +(orientation === 'top' && !mirror || orientation === 'bottom' && mirror);\n      props = _objectSpread(_objectSpread({}, props), {}, {\n        x1: x,\n        y1: y + needHeight * height,\n        x2: x + width,\n        y2: y + needHeight * height\n      });\n    } else {\n      var needWidth = +(orientation === 'left' && !mirror || orientation === 'right' && mirror);\n      props = _objectSpread(_objectSpread({}, props), {}, {\n        x1: x + needWidth * width,\n        y1: y,\n        x2: x + needWidth * width,\n        y2: y + height\n      });\n    }\n    return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n      className: clsx('recharts-cartesian-axis-line', get(axisLine, 'className'))\n    }));\n  }\n  static renderTickItem(option, props, value) {\n    var tickItem;\n    var combinedClassName = clsx(props.className, 'recharts-cartesian-axis-tick-value');\n    if (/*#__PURE__*/React.isValidElement(option)) {\n      tickItem = /*#__PURE__*/React.cloneElement(option, _objectSpread(_objectSpread({}, props), {}, {\n        className: combinedClassName\n      }));\n    } else if (typeof option === 'function') {\n      tickItem = option(_objectSpread(_objectSpread({}, props), {}, {\n        className: combinedClassName\n      }));\n    } else {\n      var className = 'recharts-cartesian-axis-tick-value';\n      if (typeof option !== 'boolean') {\n        className = clsx(className, option.className);\n      }\n      tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n        className: className\n      }), value);\n    }\n    return tickItem;\n  }\n\n  /**\n   * render the ticks\n   * @param {string} fontSize Fontsize to consider for tick spacing\n   * @param {string} letterSpacing Letter spacing to consider for tick spacing\n   * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n   * @return {ReactElement | null} renderedTicks\n   */\n  renderTicks(fontSize, letterSpacing) {\n    var ticks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n    var {\n      tickLine,\n      stroke,\n      tick,\n      tickFormatter,\n      unit\n    } = this.props;\n    // @ts-expect-error some properties are optional in props but required in getTicks\n    var finalTicks = getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n      ticks\n    }), fontSize, letterSpacing);\n    var textAnchor = this.getTickTextAnchor();\n    var verticalAnchor = this.getTickVerticalAnchor();\n    var axisProps = filterProps(this.props, false);\n    var customTickProps = filterProps(tick, false);\n    var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n      fill: 'none'\n    }, filterProps(tickLine, false));\n    var items = finalTicks.map((entry, i) => {\n      var {\n        line: lineCoord,\n        tick: tickCoord\n      } = this.getTickLineCoord(entry);\n      var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n        textAnchor,\n        verticalAnchor\n      }, axisProps), {}, {\n        stroke: 'none',\n        fill: stroke\n      }, customTickProps), tickCoord), {}, {\n        index: i,\n        payload: entry,\n        visibleTicksCount: finalTicks.length,\n        tickFormatter\n      });\n      return /*#__PURE__*/React.createElement(Layer, _extends({\n        className: \"recharts-cartesian-axis-tick\",\n        key: \"tick-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n      }, adaptEventsOfChild(this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n        className: clsx('recharts-cartesian-axis-tick-line', get(tickLine, 'className'))\n      })), tick && CartesianAxis.renderTickItem(tick, tickProps, \"\".concat(typeof tickFormatter === 'function' ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')));\n    });\n    return items.length > 0 ? /*#__PURE__*/React.createElement(\"g\", {\n      className: \"recharts-cartesian-axis-ticks\"\n    }, items) : null;\n  }\n  render() {\n    var {\n      axisLine,\n      width,\n      height,\n      className,\n      hide\n    } = this.props;\n    if (hide) {\n      return null;\n    }\n    var {\n      ticks\n    } = this.props;\n\n    /*\n     * This is different condition from what validateWidthHeight is doing;\n     * the CartesianAxis does allow width or height to be undefined.\n     */\n    if (width != null && width <= 0 || height != null && height <= 0) {\n      return null;\n    }\n    return /*#__PURE__*/React.createElement(Layer, {\n      className: clsx('recharts-cartesian-axis', className),\n      ref: _ref2 => {\n        if (_ref2) {\n          var tickNodes = _ref2.getElementsByClassName('recharts-cartesian-axis-tick-value');\n          this.tickRefs.current = Array.from(tickNodes);\n          var tick = tickNodes[0];\n          if (tick) {\n            var calculatedFontSize = window.getComputedStyle(tick).fontSize;\n            var calculatedLetterSpacing = window.getComputedStyle(tick).letterSpacing;\n            if (calculatedFontSize !== this.state.fontSize || calculatedLetterSpacing !== this.state.letterSpacing) {\n              this.setState({\n                fontSize: window.getComputedStyle(tick).fontSize,\n                letterSpacing: window.getComputedStyle(tick).letterSpacing\n              });\n            }\n          }\n        }\n      }\n    }, axisLine && this.renderAxisLine(), this.renderTicks(this.state.fontSize, this.state.letterSpacing, ticks), Label.renderCallByParent(this.props));\n  }\n}\n_defineProperty(CartesianAxis, \"displayName\", 'CartesianAxis');\n_defineProperty(CartesianAxis, \"defaultProps\", {\n  x: 0,\n  y: 0,\n  width: 0,\n  height: 0,\n  viewBox: {\n    x: 0,\n    y: 0,\n    width: 0,\n    height: 0\n  },\n  // The orientation of axis\n  orientation: 'bottom',\n  // The ticks\n  ticks: [],\n  stroke: '#666',\n  tickLine: true,\n  axisLine: true,\n  tick: true,\n  mirror: false,\n  minTickGap: 5,\n  // The width or height of tick\n  tickSize: 6,\n  tickMargin: 2,\n  interval: 'preserveEnd'\n});","var _excluded = [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"],\n  _excluded2 = [\"offset\"],\n  _excluded3 = [\"xAxisId\", \"yAxisId\"],\n  _excluded4 = [\"xAxisId\", \"yAxisId\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/**\n * @fileOverview Cartesian Grid\n */\nimport * as React from 'react';\nimport { warn } from '../util/LogUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/ReactUtils';\nimport { getCoordinatesOfGrid, getTicksOfAxis } from '../util/ChartUtils';\nimport { getTicks } from './getTicks';\nimport { CartesianAxis } from './CartesianAxis';\nimport { useChartHeight, useChartWidth, useOffset } from '../context/chartLayoutContext';\nimport { selectAxisPropsNeededForCartesianGridTicksGenerator } from '../state/selectors/axisSelectors';\nimport { useAppSelector } from '../state/hooks';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\n\n/**\n * The <CartesianGrid horizontal\n */\n\nvar Background = props => {\n  var {\n    fill\n  } = props;\n  if (!fill || fill === 'none') {\n    return null;\n  }\n  var {\n    fillOpacity,\n    x,\n    y,\n    width,\n    height,\n    ry\n  } = props;\n  return /*#__PURE__*/React.createElement(\"rect\", {\n    x: x,\n    y: y,\n    ry: ry,\n    width: width,\n    height: height,\n    stroke: \"none\",\n    fill: fill,\n    fillOpacity: fillOpacity,\n    className: \"recharts-cartesian-grid-bg\"\n  });\n};\nfunction renderLineItem(option, props) {\n  var lineItem;\n  if (/*#__PURE__*/React.isValidElement(option)) {\n    // @ts-expect-error typescript does not see the props type when cloning an element\n    lineItem = /*#__PURE__*/React.cloneElement(option, props);\n  } else if (typeof option === 'function') {\n    lineItem = option(props);\n  } else {\n    var {\n        x1,\n        y1,\n        x2,\n        y2,\n        key\n      } = props,\n      others = _objectWithoutProperties(props, _excluded);\n    var _filterProps = filterProps(others, false),\n      {\n        offset: __\n      } = _filterProps,\n      restOfFilteredProps = _objectWithoutProperties(_filterProps, _excluded2);\n    lineItem = /*#__PURE__*/React.createElement(\"line\", _extends({}, restOfFilteredProps, {\n      x1: x1,\n      y1: y1,\n      x2: x2,\n      y2: y2,\n      fill: \"none\",\n      key: key\n    }));\n  }\n  return lineItem;\n}\nfunction HorizontalGridLines(props) {\n  var {\n    x,\n    width,\n    horizontal = true,\n    horizontalPoints\n  } = props;\n  if (!horizontal || !horizontalPoints || !horizontalPoints.length) {\n    return null;\n  }\n  var {\n      xAxisId,\n      yAxisId\n    } = props,\n    otherLineItemProps = _objectWithoutProperties(props, _excluded3);\n  var items = horizontalPoints.map((entry, i) => {\n    var lineItemProps = _objectSpread(_objectSpread({}, otherLineItemProps), {}, {\n      x1: x,\n      y1: entry,\n      x2: x + width,\n      y2: entry,\n      key: \"line-\".concat(i),\n      index: i\n    });\n    return renderLineItem(horizontal, lineItemProps);\n  });\n  return /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-grid-horizontal\"\n  }, items);\n}\nfunction VerticalGridLines(props) {\n  var {\n    y,\n    height,\n    vertical = true,\n    verticalPoints\n  } = props;\n  if (!vertical || !verticalPoints || !verticalPoints.length) {\n    return null;\n  }\n  var {\n      xAxisId,\n      yAxisId\n    } = props,\n    otherLineItemProps = _objectWithoutProperties(props, _excluded4);\n  var items = verticalPoints.map((entry, i) => {\n    var lineItemProps = _objectSpread(_objectSpread({}, otherLineItemProps), {}, {\n      x1: entry,\n      y1: y,\n      x2: entry,\n      y2: y + height,\n      key: \"line-\".concat(i),\n      index: i\n    });\n    return renderLineItem(vertical, lineItemProps);\n  });\n  return /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-grid-vertical\"\n  }, items);\n}\nfunction HorizontalStripes(props) {\n  var {\n    horizontalFill,\n    fillOpacity,\n    x,\n    y,\n    width,\n    height,\n    horizontalPoints,\n    horizontal = true\n  } = props;\n  if (!horizontal || !horizontalFill || !horizontalFill.length) {\n    return null;\n  }\n\n  // Why =y -y? I was trying to find any difference that this makes, with floating point numbers and edge cases but ... nothing.\n  var roundedSortedHorizontalPoints = horizontalPoints.map(e => Math.round(e + y - y)).sort((a, b) => a - b);\n  // Why is this condition `!==` instead of `<=` ?\n  if (y !== roundedSortedHorizontalPoints[0]) {\n    roundedSortedHorizontalPoints.unshift(0);\n  }\n  var items = roundedSortedHorizontalPoints.map((entry, i) => {\n    // Why do we strip only the last stripe if it is invisible, and not all invisible stripes?\n    var lastStripe = !roundedSortedHorizontalPoints[i + 1];\n    var lineHeight = lastStripe ? y + height - entry : roundedSortedHorizontalPoints[i + 1] - entry;\n    if (lineHeight <= 0) {\n      return null;\n    }\n    var colorIndex = i % horizontalFill.length;\n    return /*#__PURE__*/React.createElement(\"rect\", {\n      key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n      ,\n      y: entry,\n      x: x,\n      height: lineHeight,\n      width: width,\n      stroke: \"none\",\n      fill: horizontalFill[colorIndex],\n      fillOpacity: fillOpacity,\n      className: \"recharts-cartesian-grid-bg\"\n    });\n  });\n  return /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-gridstripes-horizontal\"\n  }, items);\n}\nfunction VerticalStripes(props) {\n  var {\n    vertical = true,\n    verticalFill,\n    fillOpacity,\n    x,\n    y,\n    width,\n    height,\n    verticalPoints\n  } = props;\n  if (!vertical || !verticalFill || !verticalFill.length) {\n    return null;\n  }\n  var roundedSortedVerticalPoints = verticalPoints.map(e => Math.round(e + x - x)).sort((a, b) => a - b);\n  if (x !== roundedSortedVerticalPoints[0]) {\n    roundedSortedVerticalPoints.unshift(0);\n  }\n  var items = roundedSortedVerticalPoints.map((entry, i) => {\n    var lastStripe = !roundedSortedVerticalPoints[i + 1];\n    var lineWidth = lastStripe ? x + width - entry : roundedSortedVerticalPoints[i + 1] - entry;\n    if (lineWidth <= 0) {\n      return null;\n    }\n    var colorIndex = i % verticalFill.length;\n    return /*#__PURE__*/React.createElement(\"rect\", {\n      key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n      ,\n      x: entry,\n      y: y,\n      width: lineWidth,\n      height: height,\n      stroke: \"none\",\n      fill: verticalFill[colorIndex],\n      fillOpacity: fillOpacity,\n      className: \"recharts-cartesian-grid-bg\"\n    });\n  });\n  return /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-gridstripes-vertical\"\n  }, items);\n}\nvar defaultVerticalCoordinatesGenerator = (_ref, syncWithTicks) => {\n  var {\n    xAxis,\n    width,\n    height,\n    offset\n  } = _ref;\n  return getCoordinatesOfGrid(getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), xAxis), {}, {\n    ticks: getTicksOfAxis(xAxis, true),\n    viewBox: {\n      x: 0,\n      y: 0,\n      width,\n      height\n    }\n  })), offset.left, offset.left + offset.width, syncWithTicks);\n};\nvar defaultHorizontalCoordinatesGenerator = (_ref2, syncWithTicks) => {\n  var {\n    yAxis,\n    width,\n    height,\n    offset\n  } = _ref2;\n  return getCoordinatesOfGrid(getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), yAxis), {}, {\n    ticks: getTicksOfAxis(yAxis, true),\n    viewBox: {\n      x: 0,\n      y: 0,\n      width,\n      height\n    }\n  })), offset.top, offset.top + offset.height, syncWithTicks);\n};\nvar defaultProps = {\n  horizontal: true,\n  vertical: true,\n  // The ordinates of horizontal grid lines\n  horizontalPoints: [],\n  // The abscissas of vertical grid lines\n  verticalPoints: [],\n  stroke: '#ccc',\n  fill: 'none',\n  // The fill of colors of grid lines\n  verticalFill: [],\n  horizontalFill: [],\n  xAxisId: 0,\n  yAxisId: 0\n};\nexport function CartesianGrid(props) {\n  var chartWidth = useChartWidth();\n  var chartHeight = useChartHeight();\n  var offset = useOffset();\n  var propsIncludingDefaults = _objectSpread(_objectSpread({}, resolveDefaultProps(props, defaultProps)), {}, {\n    x: isNumber(props.x) ? props.x : offset.left,\n    y: isNumber(props.y) ? props.y : offset.top,\n    width: isNumber(props.width) ? props.width : offset.width,\n    height: isNumber(props.height) ? props.height : offset.height\n  });\n  var {\n    xAxisId,\n    yAxisId,\n    x,\n    y,\n    width,\n    height,\n    syncWithTicks,\n    horizontalValues,\n    verticalValues\n  } = propsIncludingDefaults;\n  var isPanorama = useIsPanorama();\n  var xAxis = useAppSelector(state => selectAxisPropsNeededForCartesianGridTicksGenerator(state, 'xAxis', xAxisId, isPanorama));\n  var yAxis = useAppSelector(state => selectAxisPropsNeededForCartesianGridTicksGenerator(state, 'yAxis', yAxisId, isPanorama));\n  if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0 || !isNumber(x) || x !== +x || !isNumber(y) || y !== +y) {\n    return null;\n  }\n\n  /*\n   * verticalCoordinatesGenerator and horizontalCoordinatesGenerator are defined\n   * outside the propsIncludingDefaults because they were never part of the original props\n   * and they were never passed as a prop down to horizontal/vertical custom elements.\n   * If we add these two to propsIncludingDefaults then we are changing public API.\n   * Not a bad thing per se but also not necessary.\n   */\n  var verticalCoordinatesGenerator = propsIncludingDefaults.verticalCoordinatesGenerator || defaultVerticalCoordinatesGenerator;\n  var horizontalCoordinatesGenerator = propsIncludingDefaults.horizontalCoordinatesGenerator || defaultHorizontalCoordinatesGenerator;\n  var {\n    horizontalPoints,\n    verticalPoints\n  } = propsIncludingDefaults;\n\n  // No horizontal points are specified\n  if ((!horizontalPoints || !horizontalPoints.length) && typeof horizontalCoordinatesGenerator === 'function') {\n    var isHorizontalValues = horizontalValues && horizontalValues.length;\n    var generatorResult = horizontalCoordinatesGenerator({\n      yAxis: yAxis ? _objectSpread(_objectSpread({}, yAxis), {}, {\n        ticks: isHorizontalValues ? horizontalValues : yAxis.ticks\n      }) : undefined,\n      width: chartWidth,\n      height: chartHeight,\n      offset\n    }, isHorizontalValues ? true : syncWithTicks);\n    warn(Array.isArray(generatorResult), \"horizontalCoordinatesGenerator should return Array but instead it returned [\".concat(typeof generatorResult, \"]\"));\n    if (Array.isArray(generatorResult)) {\n      horizontalPoints = generatorResult;\n    }\n  }\n\n  // No vertical points are specified\n  if ((!verticalPoints || !verticalPoints.length) && typeof verticalCoordinatesGenerator === 'function') {\n    var isVerticalValues = verticalValues && verticalValues.length;\n    var _generatorResult = verticalCoordinatesGenerator({\n      xAxis: xAxis ? _objectSpread(_objectSpread({}, xAxis), {}, {\n        ticks: isVerticalValues ? verticalValues : xAxis.ticks\n      }) : undefined,\n      width: chartWidth,\n      height: chartHeight,\n      offset\n    }, isVerticalValues ? true : syncWithTicks);\n    warn(Array.isArray(_generatorResult), \"verticalCoordinatesGenerator should return Array but instead it returned [\".concat(typeof _generatorResult, \"]\"));\n    if (Array.isArray(_generatorResult)) {\n      verticalPoints = _generatorResult;\n    }\n  }\n  return /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-grid\"\n  }, /*#__PURE__*/React.createElement(Background, {\n    fill: propsIncludingDefaults.fill,\n    fillOpacity: propsIncludingDefaults.fillOpacity,\n    x: propsIncludingDefaults.x,\n    y: propsIncludingDefaults.y,\n    width: propsIncludingDefaults.width,\n    height: propsIncludingDefaults.height,\n    ry: propsIncludingDefaults.ry\n  }), /*#__PURE__*/React.createElement(HorizontalStripes, _extends({}, propsIncludingDefaults, {\n    horizontalPoints: horizontalPoints\n  })), /*#__PURE__*/React.createElement(VerticalStripes, _extends({}, propsIncludingDefaults, {\n    verticalPoints: verticalPoints\n  })), /*#__PURE__*/React.createElement(HorizontalGridLines, _extends({}, propsIncludingDefaults, {\n    offset: offset,\n    horizontalPoints: horizontalPoints,\n    xAxis: xAxis,\n    yAxis: yAxis\n  })), /*#__PURE__*/React.createElement(VerticalGridLines, _extends({}, propsIncludingDefaults, {\n    offset: offset,\n    verticalPoints: verticalPoints,\n    xAxis: xAxis,\n    yAxis: yAxis\n  })));\n}\nCartesianGrid.displayName = 'CartesianGrid';","var _excluded = [\"children\"],\n  _excluded2 = [\"dangerouslySetInnerHTML\", \"ticks\"];\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/**\n * @fileOverview X Axis\n */\nimport * as React from 'react';\nimport { Component, useEffect, useMemo } from 'react';\nimport { clsx } from 'clsx';\nimport { CartesianAxis } from './CartesianAxis';\nimport { useAppDispatch, useAppSelector } from '../state/hooks';\nimport { addXAxis, removeXAxis } from '../state/cartesianAxisSlice';\nimport { implicitXAxis, selectAxisScale, selectTicksOfAxis, selectXAxisPosition, selectXAxisSettings, selectXAxisSize } from '../state/selectors/axisSelectors';\nimport { selectAxisViewBox } from '../state/selectors/selectChartOffset';\nimport { useIsPanorama } from '../context/PanoramaContext';\nfunction SetXAxisSettings(props) {\n  var dispatch = useAppDispatch();\n  var settings = useMemo(() => {\n    var {\n        children\n      } = props,\n      rest = _objectWithoutProperties(props, _excluded);\n    return rest;\n  }, [props]);\n  var synchronizedSettings = useAppSelector(state => selectXAxisSettings(state, settings.id));\n  var settingsAreSynchronized = settings === synchronizedSettings;\n  useEffect(() => {\n    dispatch(addXAxis(settings));\n    return () => {\n      dispatch(removeXAxis(settings));\n    };\n  }, [settings, dispatch]);\n  if (settingsAreSynchronized) {\n    return props.children;\n  }\n  return null;\n}\nvar XAxisImpl = props => {\n  var {\n    xAxisId,\n    className\n  } = props;\n  var viewBox = useAppSelector(selectAxisViewBox);\n  var isPanorama = useIsPanorama();\n  var axisType = 'xAxis';\n  var scale = useAppSelector(state => selectAxisScale(state, axisType, xAxisId, isPanorama));\n  var cartesianTickItems = useAppSelector(state => selectTicksOfAxis(state, axisType, xAxisId, isPanorama));\n  var axisSize = useAppSelector(state => selectXAxisSize(state, xAxisId));\n  var position = useAppSelector(state => selectXAxisPosition(state, xAxisId));\n  if (axisSize == null || position == null) {\n    return null;\n  }\n  var {\n      dangerouslySetInnerHTML,\n      ticks\n    } = props,\n    allOtherProps = _objectWithoutProperties(props, _excluded2);\n  return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, allOtherProps, {\n    scale: scale,\n    x: position.x,\n    y: position.y,\n    width: axisSize.width,\n    height: axisSize.height,\n    className: clsx(\"recharts-\".concat(axisType, \" \").concat(axisType), className),\n    viewBox: viewBox,\n    ticks: cartesianTickItems\n  }));\n};\nvar XAxisSettingsDispatcher = props => {\n  var _props$interval, _props$includeHidden, _props$angle, _props$minTickGap, _props$tick;\n  return /*#__PURE__*/React.createElement(SetXAxisSettings, {\n    interval: (_props$interval = props.interval) !== null && _props$interval !== void 0 ? _props$interval : 'preserveEnd',\n    id: props.xAxisId,\n    scale: props.scale,\n    type: props.type,\n    padding: props.padding,\n    allowDataOverflow: props.allowDataOverflow,\n    domain: props.domain,\n    dataKey: props.dataKey,\n    allowDuplicatedCategory: props.allowDuplicatedCategory,\n    allowDecimals: props.allowDecimals,\n    tickCount: props.tickCount,\n    includeHidden: (_props$includeHidden = props.includeHidden) !== null && _props$includeHidden !== void 0 ? _props$includeHidden : false,\n    reversed: props.reversed,\n    ticks: props.ticks,\n    height: props.height,\n    orientation: props.orientation,\n    mirror: props.mirror,\n    hide: props.hide,\n    unit: props.unit,\n    name: props.name,\n    angle: (_props$angle = props.angle) !== null && _props$angle !== void 0 ? _props$angle : 0,\n    minTickGap: (_props$minTickGap = props.minTickGap) !== null && _props$minTickGap !== void 0 ? _props$minTickGap : 5,\n    tick: (_props$tick = props.tick) !== null && _props$tick !== void 0 ? _props$tick : true,\n    tickFormatter: props.tickFormatter\n  }, /*#__PURE__*/React.createElement(XAxisImpl, props));\n};\n\n// eslint-disable-next-line react/prefer-stateless-function\nexport class XAxis extends Component {\n  render() {\n    return /*#__PURE__*/React.createElement(XAxisSettingsDispatcher, this.props);\n  }\n}\n_defineProperty(XAxis, \"displayName\", 'XAxis');\n_defineProperty(XAxis, \"defaultProps\", {\n  allowDataOverflow: implicitXAxis.allowDataOverflow,\n  allowDecimals: implicitXAxis.allowDecimals,\n  allowDuplicatedCategory: implicitXAxis.allowDuplicatedCategory,\n  height: implicitXAxis.height,\n  hide: false,\n  mirror: implicitXAxis.mirror,\n  orientation: implicitXAxis.orientation,\n  padding: implicitXAxis.padding,\n  reversed: implicitXAxis.reversed,\n  scale: implicitXAxis.scale,\n  tickCount: implicitXAxis.tickCount,\n  type: implicitXAxis.type,\n  xAxisId: 0\n});","/**\n * Calculates the width of the Y-axis based on the tick labels and the axis label.\n * @param {Object} params - The parameters object.\n * @param {React.RefObject<any>} params.cartesianAxisRef - The ref to the CartesianAxis component.\n * @param {React.RefObject<Element>} params.labelRef - The ref to the label element.\n * @param {number} [params.labelGapWithTick=5] - The gap between the label and the tick.\n * @returns {number} The calculated width of the Y-axis.\n */\nexport var getCalculatedYAxisWidth = _ref => {\n  var {\n    ticks,\n    label,\n    labelGapWithTick = 5,\n    // Default gap between label and tick\n    tickSize = 0,\n    tickMargin = 0\n  } = _ref;\n  // find the max width of the tick labels\n  var maxTickWidth = 0;\n  if (ticks) {\n    ticks.forEach(tickNode => {\n      if (tickNode) {\n        var bbox = tickNode.getBoundingClientRect();\n        if (bbox.width > maxTickWidth) {\n          maxTickWidth = bbox.width;\n        }\n      }\n    });\n\n    // calculate width of the axis label\n    var labelWidth = label ? label.getBoundingClientRect().width : 0;\n    var tickWidth = tickSize + tickMargin;\n\n    // calculate the updated width of the y-axis\n    var updatedYAxisWidth = maxTickWidth + tickWidth + labelWidth + (label ? labelGapWithTick : 0);\n    return Math.round(updatedYAxisWidth);\n  }\n  return 0;\n};","var _excluded = [\"dangerouslySetInnerHTML\", \"ticks\"];\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { Component, useEffect, useRef, useLayoutEffect, isValidElement } from 'react';\nimport { clsx } from 'clsx';\nimport { CartesianAxis } from './CartesianAxis';\nimport { addYAxis, removeYAxis, updateYAxisWidth } from '../state/cartesianAxisSlice';\nimport { useAppDispatch, useAppSelector } from '../state/hooks';\nimport { implicitYAxis, selectAxisScale, selectTicksOfAxis, selectYAxisPosition, selectYAxisSize } from '../state/selectors/axisSelectors';\nimport { selectAxisViewBox } from '../state/selectors/selectChartOffset';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { getCalculatedYAxisWidth } from '../util/YAxisUtils';\nimport { isLabelContentAFunction } from '../component/Label';\nfunction SetYAxisSettings(settings) {\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    dispatch(addYAxis(settings));\n    return () => {\n      dispatch(removeYAxis(settings));\n    };\n  }, [settings, dispatch]);\n  return null;\n}\nvar YAxisImpl = props => {\n  var _cartesianAxisRef$cur;\n  var {\n    yAxisId,\n    className,\n    width,\n    label\n  } = props;\n  var cartesianAxisRef = useRef(null);\n  var labelRef = useRef(null);\n  var viewBox = useAppSelector(selectAxisViewBox);\n  var isPanorama = useIsPanorama();\n  var dispatch = useAppDispatch();\n  var axisType = 'yAxis';\n  var scale = useAppSelector(state => selectAxisScale(state, axisType, yAxisId, isPanorama));\n  var axisSize = useAppSelector(state => selectYAxisSize(state, yAxisId));\n  var position = useAppSelector(state => selectYAxisPosition(state, yAxisId));\n  var cartesianTickItems = useAppSelector(state => selectTicksOfAxis(state, axisType, yAxisId, isPanorama));\n  useLayoutEffect(() => {\n    var _axisComponent$tickRe;\n    // No dynamic width calculation is done when width !== 'auto'\n    // or when a function/react element is used for label\n    if (width !== 'auto' || !axisSize || isLabelContentAFunction(label) || /*#__PURE__*/isValidElement(label)) return;\n    var axisComponent = cartesianAxisRef.current;\n    var tickNodes = axisComponent === null || axisComponent === void 0 || (_axisComponent$tickRe = axisComponent.tickRefs) === null || _axisComponent$tickRe === void 0 ? void 0 : _axisComponent$tickRe.current;\n    var {\n      tickSize,\n      tickMargin\n    } = axisComponent.props;\n\n    // get calculated width based on the label width, ticks etc\n    var updatedYAxisWidth = getCalculatedYAxisWidth({\n      ticks: tickNodes,\n      label: labelRef.current,\n      labelGapWithTick: 5,\n      tickSize,\n      tickMargin\n    });\n\n    // if the width has changed, dispatch an action to update the width\n    if (Math.round(axisSize.width) !== Math.round(updatedYAxisWidth)) dispatch(updateYAxisWidth({\n      id: yAxisId,\n      width: updatedYAxisWidth\n    }));\n  }, [cartesianAxisRef, cartesianAxisRef === null || cartesianAxisRef === void 0 || (_cartesianAxisRef$cur = cartesianAxisRef.current) === null || _cartesianAxisRef$cur === void 0 || (_cartesianAxisRef$cur = _cartesianAxisRef$cur.tickRefs) === null || _cartesianAxisRef$cur === void 0 ? void 0 : _cartesianAxisRef$cur.current, // required to do re-calculation when using brush\n  axisSize === null || axisSize === void 0 ? void 0 : axisSize.width, axisSize, dispatch, label, yAxisId, width]);\n  if (axisSize == null || position == null) {\n    return null;\n  }\n  var {\n      dangerouslySetInnerHTML,\n      ticks\n    } = props,\n    allOtherProps = _objectWithoutProperties(props, _excluded);\n  return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, allOtherProps, {\n    ref: cartesianAxisRef,\n    labelRef: labelRef,\n    scale: scale,\n    x: position.x,\n    y: position.y,\n    width: axisSize.width,\n    height: axisSize.height,\n    className: clsx(\"recharts-\".concat(axisType, \" \").concat(axisType), className),\n    viewBox: viewBox,\n    ticks: cartesianTickItems\n  }));\n};\nvar YAxisSettingsDispatcher = props => {\n  var _props$interval, _props$includeHidden, _props$angle, _props$minTickGap, _props$tick;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SetYAxisSettings, {\n    interval: (_props$interval = props.interval) !== null && _props$interval !== void 0 ? _props$interval : 'preserveEnd',\n    id: props.yAxisId,\n    scale: props.scale,\n    type: props.type,\n    domain: props.domain,\n    allowDataOverflow: props.allowDataOverflow,\n    dataKey: props.dataKey,\n    allowDuplicatedCategory: props.allowDuplicatedCategory,\n    allowDecimals: props.allowDecimals,\n    tickCount: props.tickCount,\n    padding: props.padding,\n    includeHidden: (_props$includeHidden = props.includeHidden) !== null && _props$includeHidden !== void 0 ? _props$includeHidden : false,\n    reversed: props.reversed,\n    ticks: props.ticks,\n    width: props.width,\n    orientation: props.orientation,\n    mirror: props.mirror,\n    hide: props.hide,\n    unit: props.unit,\n    name: props.name,\n    angle: (_props$angle = props.angle) !== null && _props$angle !== void 0 ? _props$angle : 0,\n    minTickGap: (_props$minTickGap = props.minTickGap) !== null && _props$minTickGap !== void 0 ? _props$minTickGap : 5,\n    tick: (_props$tick = props.tick) !== null && _props$tick !== void 0 ? _props$tick : true,\n    tickFormatter: props.tickFormatter\n  }), /*#__PURE__*/React.createElement(YAxisImpl, props));\n};\nexport var YAxisDefaultProps = {\n  allowDataOverflow: implicitYAxis.allowDataOverflow,\n  allowDecimals: implicitYAxis.allowDecimals,\n  allowDuplicatedCategory: implicitYAxis.allowDuplicatedCategory,\n  hide: false,\n  mirror: implicitYAxis.mirror,\n  orientation: implicitYAxis.orientation,\n  padding: implicitYAxis.padding,\n  reversed: implicitYAxis.reversed,\n  scale: implicitYAxis.scale,\n  tickCount: implicitYAxis.tickCount,\n  type: implicitYAxis.type,\n  width: implicitYAxis.width,\n  yAxisId: 0\n};\n\n// eslint-disable-next-line react/prefer-stateless-function\nexport class YAxis extends Component {\n  render() {\n    return /*#__PURE__*/React.createElement(YAxisSettingsDispatcher, this.props);\n  }\n}\n_defineProperty(YAxis, \"displayName\", 'YAxis');\n_defineProperty(YAxis, \"defaultProps\", YAxisDefaultProps);","import { useEffect } from 'react';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { setChartSize, setLayout, setMargin } from './layoutSlice';\nimport { useAppDispatch } from './hooks';\n\n/**\n * \"Main\" props are props that are only accepted on the main chart,\n * as opposed to the small panorama chart inside a Brush.\n */\n\nexport function ReportMainChartProps(_ref) {\n  var {\n    layout,\n    width,\n    height,\n    margin\n  } = _ref;\n  var dispatch = useAppDispatch();\n\n  /*\n   * Skip dispatching properties in panorama chart for two reasons:\n   * 1. The root chart should be deciding on these properties, and\n   * 2. Brush reads these properties from redux store, and so they must remain stable\n   *      to avoid circular dependency and infinite re-rendering.\n   */\n  var isPanorama = useIsPanorama();\n  /*\n   * useEffect here is required to avoid the \"Cannot update a component while rendering a different component\" error.\n   * https://github.com/facebook/react/issues/18178\n   *\n   * Reported in https://github.com/recharts/recharts/issues/5514\n   */\n  useEffect(() => {\n    if (!isPanorama) {\n      dispatch(setLayout(layout));\n      dispatch(setChartSize({\n        width,\n        height\n      }));\n      dispatch(setMargin(margin));\n    }\n  }, [dispatch, isPanorama, layout, width, height, margin]);\n  return null;\n}","import { useEffect } from 'react';\nimport { updateOptions } from './rootPropsSlice';\nimport { useAppDispatch } from './hooks';\nexport function ReportChartProps(props) {\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    dispatch(updateOptions(props));\n  }, [dispatch, props]);\n  return null;\n}","var _excluded = [\"children\"];\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport { useChartHeight, useChartWidth } from '../context/chartLayoutContext';\nimport { useAccessibilityLayer } from '../context/accessibilityContext';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { Surface } from './Surface';\nimport { useAppSelector } from '../state/hooks';\nimport { selectBrushDimensions } from '../state/selectors/brushSelectors';\nimport { isPositiveNumber } from '../util/isWellBehavedNumber';\nvar FULL_WIDTH_AND_HEIGHT = {\n  width: '100%',\n  height: '100%'\n};\nvar MainChartSurface = /*#__PURE__*/forwardRef((props, ref) => {\n  var width = useChartWidth();\n  var height = useChartHeight();\n  var hasAccessibilityLayer = useAccessibilityLayer();\n  if (!isPositiveNumber(width) || !isPositiveNumber(height)) {\n    return null;\n  }\n  var {\n    children,\n    otherAttributes,\n    title,\n    desc\n  } = props;\n  var tabIndex, role;\n  if (typeof otherAttributes.tabIndex === 'number') {\n    tabIndex = otherAttributes.tabIndex;\n  } else {\n    tabIndex = hasAccessibilityLayer ? 0 : undefined;\n  }\n  if (typeof otherAttributes.role === 'string') {\n    role = otherAttributes.role;\n  } else {\n    role = hasAccessibilityLayer ? 'application' : undefined;\n  }\n  return /*#__PURE__*/React.createElement(Surface, _extends({}, otherAttributes, {\n    title: title,\n    desc: desc,\n    role: role,\n    tabIndex: tabIndex,\n    width: width,\n    height: height,\n    style: FULL_WIDTH_AND_HEIGHT,\n    ref: ref\n  }), children);\n});\nvar BrushPanoramaSurface = _ref => {\n  var {\n    children\n  } = _ref;\n  var brushDimensions = useAppSelector(selectBrushDimensions);\n  if (!brushDimensions) {\n    return null;\n  }\n  var {\n    width,\n    height,\n    y,\n    x\n  } = brushDimensions;\n  return /*#__PURE__*/React.createElement(Surface, {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  }, children);\n};\nexport var RootSurface = /*#__PURE__*/forwardRef((_ref2, ref) => {\n  var {\n      children\n    } = _ref2,\n    rest = _objectWithoutProperties(_ref2, _excluded);\n  var isPanorama = useIsPanorama();\n  if (isPanorama) {\n    return /*#__PURE__*/React.createElement(BrushPanoramaSurface, null, children);\n  }\n  return /*#__PURE__*/React.createElement(MainChartSurface, _extends({\n    ref: ref\n  }, rest), children);\n});","var _excluded = [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\", \"title\", \"desc\"];\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport { filterProps } from '../util/ReactUtils';\nimport { RootSurface } from '../container/RootSurface';\nimport { RechartsWrapper } from './RechartsWrapper';\nimport { ClipPathProvider } from '../container/ClipPathProvider';\nexport var CategoricalChart = /*#__PURE__*/forwardRef((props, ref) => {\n  var {\n      children,\n      className,\n      width,\n      height,\n      style,\n      compact,\n      title,\n      desc\n    } = props,\n    others = _objectWithoutProperties(props, _excluded);\n  var attrs = filterProps(others, false);\n\n  // The \"compact\" mode is used as the panorama within Brush\n  if (compact) {\n    return /*#__PURE__*/React.createElement(RootSurface, {\n      otherAttributes: attrs,\n      title: title,\n      desc: desc\n    }, children);\n  }\n  return /*#__PURE__*/React.createElement(RechartsWrapper, {\n    className: className,\n    style: style,\n    width: width,\n    height: height,\n    onClick: props.onClick,\n    onMouseLeave: props.onMouseLeave,\n    onMouseEnter: props.onMouseEnter,\n    onMouseMove: props.onMouseMove,\n    onMouseDown: props.onMouseDown,\n    onMouseUp: props.onMouseUp,\n    onContextMenu: props.onContextMenu,\n    onDoubleClick: props.onDoubleClick,\n    onTouchStart: props.onTouchStart,\n    onTouchMove: props.onTouchMove,\n    onTouchEnd: props.onTouchEnd\n  }, /*#__PURE__*/React.createElement(RootSurface, {\n    otherAttributes: attrs,\n    title: title,\n    desc: desc,\n    ref: ref\n  }, /*#__PURE__*/React.createElement(ClipPathProvider, null, children)));\n});","var _excluded = [\"width\", \"height\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport { RechartsStoreProvider } from '../state/RechartsStoreProvider';\nimport { ChartDataContextProvider } from '../context/chartDataContext';\nimport { ReportMainChartProps } from '../state/ReportMainChartProps';\nimport { ReportChartProps } from '../state/ReportChartProps';\nimport { CategoricalChart } from './CategoricalChart';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { isPositiveNumber } from '../util/isWellBehavedNumber';\nvar defaultMargin = {\n  top: 5,\n  right: 5,\n  bottom: 5,\n  left: 5\n};\nvar defaultProps = {\n  accessibilityLayer: true,\n  layout: 'horizontal',\n  stackOffset: 'none',\n  barCategoryGap: '10%',\n  barGap: 4,\n  margin: defaultMargin,\n  reverseStackOrder: false,\n  syncMethod: 'index'\n};\n\n/**\n * These are one-time, immutable options that decide the chart's behavior.\n * Users who wish to call CartesianChart may decide to pass these options explicitly,\n * but usually we would expect that they use one of the convenience components like BarChart, LineChart, etc.\n */\n\nexport var CartesianChart = /*#__PURE__*/forwardRef(function CartesianChart(props, ref) {\n  var _categoricalChartProp;\n  var rootChartProps = resolveDefaultProps(props.categoricalChartProps, defaultProps);\n  var {\n      width,\n      height\n    } = rootChartProps,\n    otherCategoricalProps = _objectWithoutProperties(rootChartProps, _excluded);\n  if (!isPositiveNumber(width) || !isPositiveNumber(height)) {\n    return null;\n  }\n  var {\n    chartName,\n    defaultTooltipEventType,\n    validateTooltipEventTypes,\n    tooltipPayloadSearcher,\n    categoricalChartProps\n  } = props;\n  var options = {\n    chartName,\n    defaultTooltipEventType,\n    validateTooltipEventTypes,\n    tooltipPayloadSearcher,\n    eventEmitter: undefined\n  };\n  return /*#__PURE__*/React.createElement(RechartsStoreProvider, {\n    preloadedState: {\n      options\n    },\n    reduxStoreName: (_categoricalChartProp = categoricalChartProps.id) !== null && _categoricalChartProp !== void 0 ? _categoricalChartProp : chartName\n  }, /*#__PURE__*/React.createElement(ChartDataContextProvider, {\n    chartData: categoricalChartProps.data\n  }), /*#__PURE__*/React.createElement(ReportMainChartProps, {\n    width: width,\n    height: height,\n    layout: rootChartProps.layout,\n    margin: rootChartProps.margin\n  }), /*#__PURE__*/React.createElement(ReportChartProps, {\n    accessibilityLayer: rootChartProps.accessibilityLayer,\n    barCategoryGap: rootChartProps.barCategoryGap,\n    maxBarSize: rootChartProps.maxBarSize,\n    stackOffset: rootChartProps.stackOffset,\n    barGap: rootChartProps.barGap,\n    barSize: rootChartProps.barSize,\n    syncId: rootChartProps.syncId,\n    syncMethod: rootChartProps.syncMethod,\n    className: rootChartProps.className\n  }), /*#__PURE__*/React.createElement(CategoricalChart, _extends({}, otherCategoricalProps, {\n    width: width,\n    height: height,\n    ref: ref\n  })));\n});","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport { arrayTooltipSearcher } from '../state/optionsSlice';\nimport { CartesianChart } from './CartesianChart';\nvar allowedTooltipTypes = ['axis', 'item'];\nexport var BarChart = /*#__PURE__*/forwardRef((props, ref) => {\n  return /*#__PURE__*/React.createElement(CartesianChart, {\n    chartName: \"BarChart\",\n    defaultTooltipEventType: \"axis\",\n    validateTooltipEventTypes: allowedTooltipTypes,\n    tooltipPayloadSearcher: arrayTooltipSearcher,\n    categoricalChartProps: props,\n    ref: ref\n  });\n});"],"names":["cos","sin","sqrt","pi","tau","symbolCircle","context","size","symbolCross","tan30","tan30_2","symbolDiamond","y","x","symbolSquare","w","ka","kr","kx","ky","symbolStar","i","a","c","s","sqrt3","symbolTriangle","k","symbolWye","x0","y0","x1","y1","x2","y2","Symbol","type","path","withPath","symbol","constant","circle","buffer","_","_excluded","_extends","n","e","t","r","ownKeys","o","_objectSpread","_defineProperty","_toPropertyKey","_toPrimitive","_objectWithoutProperties","_objectWithoutPropertiesLoose","symbolFactories","RADIAN","getSymbolFactory","name","upperFirst","calculateAreaSize","sizeType","angle","registerSymbol","key","factory","Symbols","_ref","rest","props","getPath","symbolFactory","shapeSymbol","className","cx","cy","filteredProps","filterProps","React","clsx","exports","debounce","func","debounceMs","signal","edges","pendingThis","pendingArgs","leading","trailing","invoke","onTimerEnd","cancel","timeoutId","schedule","cancelTimer","flush","debounced","args","isFirstCall","debounce$1","require$$0","options","maxWait","result","pendingAt","_debounced","throttle","throttleMs","warn","condition","format","_len","_key","ResponsiveContainer","forwardRef","ref","aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","id","onResize","style","containerRef","useRef","onResizeRef","useImperativeHandle","sizes","setSizes","useState","setContainerSize","useCallback","newWidth","newHeight","prevState","roundedWidth","roundedHeight","useEffect","callback","entries","_onResizeRef$current","containerWidth","containerHeight","observer","chartContent","useMemo","isPercent","calculatedWidth","calculatedHeight","child","cloneElement","Cell","_props","stringCache","MAX_CACHE_NUM","SPAN_STYLE","MEASUREMENT_SPAN_ID","removeInvalidKeys","obj","copyObj","getStringSize","text","Global","copyStyle","cacheKey","measurementSpan","measurementSpanStyle","rect","MULTIPLY_OR_DIVIDE_REGEX","ADD_OR_SUBTRACT_REGEX","CSS_LENGTH_UNIT_REGEX","NUM_SPLIT_REGEX","CONVERSION_RATES","FIXED_CSS_LENGTH_UNITS","STR_NAN","convertToPx","value","unit","DecimalCSS","str","_NUM_SPLIT_REGEX$exec","numStr","num","isNan","other","calculateArithmetic","expr","newExpr","_MULTIPLY_OR_DIVIDE_R","leftOperand","operator","rightOperand","lTs","rTs","_ADD_OR_SUBTRACT_REGE","_leftOperand","_operator","_rightOperand","_lTs","_rTs","_result","PARENTHESES_REGEX","calculateParentheses","match","parentheticalExpression","evaluateExpression","expression","safeEvaluateExpression","reduceCSSCalc","_excluded2","BREAKING_SPACES","calculateWordWidths","breakAll","words","isNullish","wordsWithComputedWidth","word","spaceWidth","calculateWordsByLines","_ref2","initialWordsWithComputedWith","lineWidth","scaleToFit","maxLines","shouldLimitLines","isNumber","calculate","_ref3","currentLine","newLine","originalResult","findLongestLine","b","overflows","suffix","checkOverflow","index","tempText","doesOverflow","start","end","iterations","trimmedResult","middle","prev","doesPrevOverflow","doesMiddleOverflow","getWordsWithoutCalculate","getWordsByLines","_ref4","wordWidths","wcw","sw","DEFAULT_FILL","Text","_ref5","propsX","propsY","lineHeight","capHeight","textAnchor","verticalAnchor","fill","wordsByLines","dx","dy","textProps","isNumOrStr","startDy","transforms","line","getLabel","formatter","label","isLabelContentAFunction","content","getDeltaAngle","startAngle","endAngle","sign","mathSign","deltaAngle","renderRadialLabel","labelProps","attrs","position","viewBox","offset","innerRadius","outerRadius","clockWise","radius","labelAngle","direction","startPoint","polarToCartesian","endPoint","uniqueId","getAttrsOfPolarLabel","midAngle","_x","_y","getAttrsOfCartesianLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs","_attrs2","_attrs3","sizeAttrs","getPercentValue","isPolar","Label","restProps","viewBoxFromProps","textBreakAll","labelRef","viewBoxFromContext","useViewBox","isValidElement","propsWithoutLabelRef","createElement","isPolarLabel","positionAttrs","parseViewBox","top","left","labelViewBox","parseLabel","commonProps","renderCallByParent","parentProps","checkPropsLabel","explicitChildren","findAllByType","implicitLabel","last","arr","toArray","last$1","require$$1","isArrayLike","require$$2","array","defaultAccessor","entry","LabelList","valueAccessor","data","dataKey","others","Layer","getValueByDataKey","idProps","parseLabelList","implicitLabelList","SetCartesianGraphicalItem","dispatch","useAppDispatch","settings","getNormalizedStackId","addCartesianGraphicalItem","removeCartesianGraphicalItem","isPlainObject","object","tag","_a","proto","getTrapezoidPath","upperWidth","lowerWidth","widthGap","defaultProps","Trapezoid","trapezoidProps","resolveDefaultProps","pathRef","totalLength","setTotalLength","pathTotalLength","animationEasing","animationDuration","animationBegin","isUpdateAnimationActive","layerClass","Animate","currUpperWidth","currLowerWidth","currHeight","currX","currY","defaultPropTransformer","option","isSymbolsProps","shapeType","_elementProps","ShapeSelector","elementProps","Rectangle","Sector","getPropsFromShapeOption","Shape","propTransformer","activeClassName","isActive","shape","nextProps","useMouseEnterItemDispatch","onMouseEnterFromProps","event","setActiveMouseOverItemIndex","useMouseLeaveItemDispatch","onMouseLeaveFromProps","mouseLeaveItem","useMouseClickItemDispatch","onMouseClickFromProps","setActiveClickItemIndex","noop","SetLegendPayload","legendPayload","isPanorama","useIsPanorama","addLegendPayload","removeLegendPayload","useAnimationId","input","prefix","animationId","prevProps","ReportBar","addBar","removeBar","ErrorBarDirectionDispatchContext","createContext","initialContextState","ErrorBarContext","SetErrorBarContext","useErrorBarContext","useContext","CartesianGraphicalItemContext","xAxisId","yAxisId","zAxisId","stackId","hide","barSize","errorBars","updateErrorBars","addErrorBar","errorBar","removeErrorBar","eb","ReportErrorBarSettings","useXAxis","useAppSelector","state","selectAxisWithScale","useYAxis","ErrorBarImpl","isAnimationActive","svgProps","dataPointFormatter","xAxis","yAxis","errorVal","lineCoordinates","lowBound","highBound","scale","yMid","yMin","yMax","xMin","xMax","_scale","xMid","_xMin","_xMax","_yMin","_yMax","transformOrigin","coordinates","lineStyle","ErrorBarPreferredDirection","useErrorBarDirection","directionFromProps","preferredDirection","SetErrorBarPreferredDirection","errorBarDefaultProps","ErrorBarInternal","realDirection","ErrorBar","Component","invariant","message","typeguardBarRectangleProps","xProp","yProp","xValue","yValue","heightValue","widthValue","BarRectangle","minPointSizeCallback","minPointSize","defaultValue","isValueNumberOrNil","useNeedsClip","_xAxis$allowDataOverf","_yAxis$allowDataOverf","selectXAxisSettings","selectYAxisSettings","needClipX","implicitXAxis","needClipY","implicitYAxis","needClip","GraphicalItemClipPath","clipPathId","useOffset","_excluded3","computeLegendPayloadFromBarData","legendType","getTooltipNameProp","getTooltipEntrySettings","stroke","strokeWidth","BarBackground","activeIndex","selectActiveTooltipIndex","backgroundFromProps","allOtherBarProps","onItemClickFromProps","restOfAllOtherProps","onMouseEnterFromContext","onMouseLeaveFromContext","onClickFromContext","backgroundProps","backgroundFromDataEntry","tooltipPosition","onMouseEnter","onMouseLeave","onClick","barRectangleProps","adaptEventsOfChild","BarRectangles","showLabels","baseProps","activeBar","activeDataKey","selectActiveTooltipDataKey","RectanglesWithAnimation","previousRectanglesRef","layout","onAnimationEnd","onAnimationStart","prevData","isAnimating","setIsAnimating","handleAnimationEnd","handleAnimationStart","stepData","interpolatorX","interpolateNumber","interpolatorY","interpolatorWidth","interpolatorHeight","_interpolatorHeight","h","interpolator","RenderRectangles","defaultMinPointSize","errorBarDataPointFormatter","dataPoint","BarWithState","PureComponent","background","defaultBarProps","BarImpl","useChartLayout","barSettings","cells","rects","selectBarRectangles","errorBarOffset","firstDataPoint","computeBarRectangles","minPointSizeProp","pos","bandSize","xAxisTicks","yAxisTicks","stackedData","displayedData","numericAxis","stackedDomain","baseValue","getBaseValueOfBar","truncateByDomain","baseValueScale","currentValueScale","getCateCoordinateOfBar","computedHeight","delta","_baseValueScale","_currentValueScale","_delta","Bar","SetTooltipEntrySettings","pickXAxisId","_state","pickYAxisId","_xAxisId","pickIsPanorama","_yAxisId","pickBarSettings","_isPanorama","pickMaxBarSize","pickCells","_barSettings","getBarSize","globalSize","totalSize","selfSize","selectAllVisibleBars","createSelector","selectChartLayout","selectUnfilteredCartesianItems","allItems","selectBarStackGroups","selectStackGroups","selectBarCartesianAxisSize","selectCartesianAxisSize","isStacked","graphicalItem","combineBarSizeList","allBars","initialValue","stackedBars","unstackedBars","groupByStack","acc","bar","stackedSizeList","bars","dataKeys","unstackedSizeList","dk","selectBarSizeList","selectRootBarSize","selectBarBandSize","_getBandSizeOfAxis","globalMaxBarSize","selectRootMaxBarSize","childMaxBarSize","maxBarSize","axis","ticks","selectTicksOfGraphicalItem","getBandSizeOfAxis","selectAxisBandSize","getBarPositions","barGap","barCategoryGap","sizeList","len","realBarGap","isWellBehavedNumber","useFull","fullBarSize","sum","res","_entry$barSize","newPosition","newRes","_offset","originalSize","combineAllBarPositions","barBandSize","allBarPositions","selectAllBarPositions","selectBarGap","selectBarCategoryGap","selectXAxisWithScale","selectYAxisWithScale","selectXAxisTicks","selectYAxisTicks","selectBarPosition","p","combineStackedData","stackGroups","stackGroup","stack","sd","selectSynchronisedBarSettings","graphicalItems","barSettingsFromProps","cgis","selectStackedDataOfItem","selectChartOffset","selectChartDataWithIndexesIfNotInPanorama","chartData","dataStartIndex","dataEndIndex","ScaleHelper","bandAware","_offset2","range","first","normalizeAngle","getAngledRectangleWidth","normalizedAngle","angleRadians","angleThreshold","angledWidth","ClipPathIdContext","ClipPathProvider","getEveryNthWithCondition","isValid","getAngledTickWidth","contentSize","unitSize","getTickBoundaries","sizeKey","isWidth","isVisible","tickPosition","getSize","getNumberIntervalTicks","interval","getEquidistantTicks","boundaries","getTickSize","minTickGap","initialStart","stepsize","_loop","tickCoord","isShow","_ret","getTicksEnd","gap","getTicksStart","preserveEnd","tail","tailSize","tailGap","isTailShow","count","_loop2","getTicks","fontSize","letterSpacing","tick","orientation","tickFormatter","_getNumberIntervalTic","candidates","CartesianAxis","nextState","_this$props","viewBoxOld","restPropsOld","shallowEqual","tickSize","mirror","tickMargin","tx","ty","finalTickSize","axisLine","needHeight","needWidth","get","tickItem","combinedClassName","tickLine","finalTicks","axisProps","customTickProps","tickLineProps","items","lineCoord","tickProps","tickNodes","calculatedFontSize","calculatedLetterSpacing","_excluded4","Background","fillOpacity","ry","renderLineItem","lineItem","_filterProps","__","restOfFilteredProps","HorizontalGridLines","horizontal","horizontalPoints","otherLineItemProps","lineItemProps","VerticalGridLines","vertical","verticalPoints","HorizontalStripes","horizontalFill","roundedSortedHorizontalPoints","lastStripe","colorIndex","VerticalStripes","verticalFill","roundedSortedVerticalPoints","defaultVerticalCoordinatesGenerator","syncWithTicks","getCoordinatesOfGrid","getTicksOfAxis","defaultHorizontalCoordinatesGenerator","CartesianGrid","chartWidth","useChartWidth","chartHeight","useChartHeight","propsIncludingDefaults","horizontalValues","verticalValues","selectAxisPropsNeededForCartesianGridTicksGenerator","verticalCoordinatesGenerator","horizontalCoordinatesGenerator","isHorizontalValues","generatorResult","isVerticalValues","_generatorResult","SetXAxisSettings","synchronizedSettings","settingsAreSynchronized","addXAxis","removeXAxis","XAxisImpl","selectAxisViewBox","axisType","selectAxisScale","cartesianTickItems","selectTicksOfAxis","axisSize","selectXAxisSize","selectXAxisPosition","dangerouslySetInnerHTML","allOtherProps","XAxisSettingsDispatcher","_props$interval","_props$includeHidden","_props$angle","_props$minTickGap","_props$tick","XAxis","getCalculatedYAxisWidth","labelGapWithTick","maxTickWidth","tickNode","bbox","labelWidth","tickWidth","updatedYAxisWidth","SetYAxisSettings","addYAxis","removeYAxis","YAxisImpl","_cartesianAxisRef$cur","cartesianAxisRef","selectYAxisSize","selectYAxisPosition","useLayoutEffect","_axisComponent$tickRe","axisComponent","updateYAxisWidth","YAxisSettingsDispatcher","YAxisDefaultProps","YAxis","ReportMainChartProps","margin","setLayout","setChartSize","setMargin","ReportChartProps","updateOptions","FULL_WIDTH_AND_HEIGHT","MainChartSurface","hasAccessibilityLayer","useAccessibilityLayer","isPositiveNumber","otherAttributes","title","desc","tabIndex","role","Surface","BrushPanoramaSurface","brushDimensions","selectBrushDimensions","RootSurface","CategoricalChart","compact","RechartsWrapper","defaultMargin","CartesianChart","_categoricalChartProp","rootChartProps","otherCategoricalProps","chartName","defaultTooltipEventType","validateTooltipEventTypes","tooltipPayloadSearcher","categoricalChartProps","RechartsStoreProvider","ChartDataContextProvider","allowedTooltipTypes","BarChart","arrayTooltipSearcher"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]}