{"version":3,"file":"dashboardTokens-2ZHDMsUF.cjs","sources":["../node_modules/recharts/es6/component/DefaultLegendContent.js","../node_modules/es-toolkit/dist/array/uniqBy.js","../node_modules/es-toolkit/dist/function/ary.js","../node_modules/es-toolkit/dist/function/identity.js","../node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js","../node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js","../node_modules/es-toolkit/dist/compat/object/property.js","../node_modules/es-toolkit/dist/predicate/isPrimitive.js","../node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js","../node_modules/es-toolkit/dist/compat/predicate/isMatch.js","../node_modules/es-toolkit/dist/compat/_internal/getSymbols.js","../node_modules/es-toolkit/dist/compat/_internal/getTag.js","../node_modules/es-toolkit/dist/compat/_internal/tags.js","../node_modules/es-toolkit/dist/_internal/globalThis.js","../node_modules/es-toolkit/dist/predicate/isBuffer.js","../node_modules/es-toolkit/dist/predicate/isTypedArray.js","../node_modules/es-toolkit/dist/object/cloneDeepWith.js","../node_modules/es-toolkit/dist/object/cloneDeep.js","../node_modules/es-toolkit/dist/compat/predicate/matches.js","../node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js","../node_modules/es-toolkit/dist/compat/object/cloneDeep.js","../node_modules/es-toolkit/dist/compat/predicate/isArguments.js","../node_modules/es-toolkit/dist/compat/object/has.js","../node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js","../node_modules/es-toolkit/dist/compat/util/iteratee.js","../node_modules/es-toolkit/dist/compat/array/uniqBy.js","../node_modules/es-toolkit/compat/uniqBy.js","../node_modules/recharts/es6/util/payload/getUniqPayload.js","../node_modules/recharts/es6/context/legendPayloadContext.js","../node_modules/recharts/es6/util/useElementOffset.js","../node_modules/recharts/es6/component/Legend.js","../node_modules/recharts/es6/component/DefaultTooltipContent.js","../node_modules/recharts/es6/util/tooltip/translate.js","../node_modules/recharts/es6/component/TooltipBoundingBox.js","../node_modules/recharts/es6/shape/Cross.js","../node_modules/recharts/es6/util/cursor/getCursorRectangle.js","../node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js","../node_modules/recharts/es6/util/cursor/getCursorPoints.js","../node_modules/recharts/es6/context/useTooltipAxis.js","../node_modules/recharts/es6/component/Cursor.js","../node_modules/recharts/es6/component/Tooltip.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/recharts/es6/util/getEveryNth.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/util/YAxisUtils.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","../node_modules/recharts/es6/context/ErrorBarContext.js","../node_modules/recharts/es6/cartesian/GraphicalItemClipPath.js","../node_modules/recharts/es6/state/selectors/graphicalItemSelectors.js","../node_modules/recharts/es6/util/axisPropsAreEqual.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/recharts/es6/chart/CartesianChart.js","../src/dashboard/components/ChartTooltip.tsx","../src/dashboard/utils/dashboardTokens.ts"],"sourcesContent":["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); }\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 { clsx } from 'clsx';\nimport { Surface } from '../container/Surface';\nimport { Symbols } from '../shape/Symbols';\nimport { adaptEventsOfChild } from '../util/types';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nvar SIZE = 32;\nexport var defaultLegendContentDefaultProps = {\n  align: 'center',\n  iconSize: 14,\n  inactiveColor: '#ccc',\n  layout: 'horizontal',\n  verticalAlign: 'middle',\n  labelStyle: {}\n};\nfunction getStrokeDasharray(input) {\n  if (typeof input === 'object' && input !== null && 'strokeDasharray' in input) {\n    return String(input.strokeDasharray);\n  }\n  return undefined;\n}\nfunction Icon(_ref) {\n  var {\n    data,\n    iconType,\n    inactiveColor\n  } = _ref;\n  var halfSize = SIZE / 2;\n  var sixthSize = SIZE / 6;\n  var thirdSize = SIZE / 3;\n  var color = data.inactive ? inactiveColor : data.color;\n  var preferredIcon = iconType !== null && iconType !== void 0 ? iconType : data.type;\n  if (preferredIcon === 'none') {\n    return null;\n  }\n  if (preferredIcon === 'plainline') {\n    return /*#__PURE__*/React.createElement(\"line\", {\n      strokeWidth: 4,\n      fill: \"none\",\n      stroke: color,\n      strokeDasharray: getStrokeDasharray(data.payload),\n      x1: 0,\n      y1: halfSize,\n      x2: SIZE,\n      y2: halfSize,\n      className: \"recharts-legend-icon\"\n    });\n  }\n  if (preferredIcon === 'line') {\n    return /*#__PURE__*/React.createElement(\"path\", {\n      strokeWidth: 4,\n      fill: \"none\",\n      stroke: color,\n      d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n            A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n            H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n            A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n      className: \"recharts-legend-icon\"\n    });\n  }\n  if (preferredIcon === 'rect') {\n    return /*#__PURE__*/React.createElement(\"path\", {\n      stroke: \"none\",\n      fill: color,\n      d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n      className: \"recharts-legend-icon\"\n    });\n  }\n  if (/*#__PURE__*/React.isValidElement(data.legendIcon)) {\n    var iconProps = _objectSpread({}, data);\n    delete iconProps.legendIcon;\n    return /*#__PURE__*/React.cloneElement(data.legendIcon, iconProps);\n  }\n  return /*#__PURE__*/React.createElement(Symbols, {\n    fill: color,\n    cx: halfSize,\n    cy: halfSize,\n    size: SIZE,\n    sizeType: \"diameter\",\n    type: preferredIcon\n  });\n}\nfunction Items(props) {\n  var {\n    payload,\n    iconSize,\n    layout,\n    formatter,\n    inactiveColor,\n    iconType,\n    labelStyle\n  } = props;\n  var viewBox = {\n    x: 0,\n    y: 0,\n    width: SIZE,\n    height: SIZE\n  };\n  var itemStyle = {\n    display: layout === 'horizontal' ? 'inline-block' : 'block',\n    marginRight: 10\n  };\n  var svgStyle = {\n    display: 'inline-block',\n    verticalAlign: 'middle',\n    marginRight: 4\n  };\n  return payload.map((entry, i) => {\n    var finalFormatter = entry.formatter || formatter;\n    var className = clsx({\n      'recharts-legend-item': true,\n      [\"legend-item-\".concat(i)]: true,\n      inactive: entry.inactive\n    });\n    if (entry.type === 'none') {\n      return null;\n    }\n    var finalLabelStyle = typeof labelStyle === 'object' ? _objectSpread({}, labelStyle) : {};\n    finalLabelStyle.color = entry.inactive ? inactiveColor : finalLabelStyle.color || entry.color;\n    var finalValue = finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value;\n    return /*#__PURE__*/React.createElement(\"li\", _extends({\n      className: className,\n      style: itemStyle,\n      key: \"legend-item-\".concat(i)\n    }, adaptEventsOfChild(props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n      width: iconSize,\n      height: iconSize,\n      viewBox: viewBox,\n      style: svgStyle,\n      \"aria-label\": \"\".concat(entry.value, \" legend icon\")\n    }, /*#__PURE__*/React.createElement(Icon, {\n      data: entry,\n      iconType: iconType,\n      inactiveColor: inactiveColor\n    })), /*#__PURE__*/React.createElement(\"span\", {\n      className: \"recharts-legend-item-text\",\n      style: finalLabelStyle\n    }, finalValue));\n  });\n}\n\n/**\n * This component is by default rendered inside the {@link Legend} component. You would not use it directly.\n *\n * You can use this component to customize the content of the legend,\n * or you can provide your own completely independent content.\n */\nexport var DefaultLegendContent = outsideProps => {\n  var props = resolveDefaultProps(outsideProps, defaultLegendContentDefaultProps);\n  var {\n    payload,\n    layout,\n    align\n  } = props;\n  if (!payload || !payload.length) {\n    return null;\n  }\n  var finalStyle = {\n    padding: 0,\n    margin: 0,\n    textAlign: layout === 'horizontal' ? align : 'left'\n  };\n  return /*#__PURE__*/React.createElement(\"ul\", {\n    className: \"recharts-default-legend\",\n    style: finalStyle\n  }, /*#__PURE__*/React.createElement(Items, _extends({}, props, {\n    payload: payload\n  })));\n};","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction uniqBy(arr, mapper) {\n    const map = new Map();\n    for (let i = 0; i < arr.length; i++) {\n        const item = arr[i];\n        const key = mapper(item, i, arr);\n        if (!map.has(key)) {\n            map.set(key, item);\n        }\n    }\n    return Array.from(map.values());\n}\n\nexports.uniqBy = uniqBy;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction ary(func, n) {\n    return function (...args) {\n        return func.apply(this, args.slice(0, n));\n    };\n}\n\nexports.ary = ary;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction identity(x) {\n    return x;\n}\n\nexports.identity = identity;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction isObjectLike(value) {\n    return typeof value === 'object' && value !== null;\n}\n\nexports.isObjectLike = isObjectLike;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst isArrayLike = require('./isArrayLike.js');\nconst isObjectLike = require('./isObjectLike.js');\n\nfunction isArrayLikeObject(value) {\n    return isObjectLike.isObjectLike(value) && isArrayLike.isArrayLike(value);\n}\n\nexports.isArrayLikeObject = isArrayLikeObject;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst get = require('./get.js');\n\nfunction property(path) {\n    return function (object) {\n        return get.get(object, path);\n    };\n}\n\nexports.property = property;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction isPrimitive(value) {\n    return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexports.isPrimitive = isPrimitive;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst isObject = require('./isObject.js');\nconst isPrimitive = require('../../predicate/isPrimitive.js');\nconst isEqualsSameValueZero = require('../../_internal/isEqualsSameValueZero.js');\n\nfunction isMatchWith(target, source, compare) {\n    if (typeof compare !== 'function') {\n        return isMatchWith(target, source, () => undefined);\n    }\n    return isMatchWithInternal(target, source, function doesMatch(objValue, srcValue, key, object, source, stack) {\n        const isEqual = compare(objValue, srcValue, key, object, source, stack);\n        if (isEqual !== undefined) {\n            return Boolean(isEqual);\n        }\n        return isMatchWithInternal(objValue, srcValue, doesMatch, stack);\n    }, new Map());\n}\nfunction isMatchWithInternal(target, source, compare, stack) {\n    if (source === target) {\n        return true;\n    }\n    switch (typeof source) {\n        case 'object': {\n            return isObjectMatch(target, source, compare, stack);\n        }\n        case 'function': {\n            const sourceKeys = Object.keys(source);\n            if (sourceKeys.length > 0) {\n                return isMatchWithInternal(target, { ...source }, compare, stack);\n            }\n            return isEqualsSameValueZero.isEqualsSameValueZero(target, source);\n        }\n        default: {\n            if (!isObject.isObject(target)) {\n                return isEqualsSameValueZero.isEqualsSameValueZero(target, source);\n            }\n            if (typeof source === 'string') {\n                return source === '';\n            }\n            return true;\n        }\n    }\n}\nfunction isObjectMatch(target, source, compare, stack) {\n    if (source == null) {\n        return true;\n    }\n    if (Array.isArray(source)) {\n        return isArrayMatch(target, source, compare, stack);\n    }\n    if (source instanceof Map) {\n        return isMapMatch(target, source, compare, stack);\n    }\n    if (source instanceof Set) {\n        return isSetMatch(target, source, compare, stack);\n    }\n    const keys = Object.keys(source);\n    if (target == null || isPrimitive.isPrimitive(target)) {\n        return keys.length === 0;\n    }\n    if (keys.length === 0) {\n        return true;\n    }\n    if (stack?.has(source)) {\n        return stack.get(source) === target;\n    }\n    stack?.set(source, target);\n    try {\n        for (let i = 0; i < keys.length; i++) {\n            const key = keys[i];\n            if (!isPrimitive.isPrimitive(target) && !(key in target)) {\n                return false;\n            }\n            if (source[key] === undefined && target[key] !== undefined) {\n                return false;\n            }\n            if (source[key] === null && target[key] !== null) {\n                return false;\n            }\n            const isEqual = compare(target[key], source[key], key, target, source, stack);\n            if (!isEqual) {\n                return false;\n            }\n        }\n        return true;\n    }\n    finally {\n        stack?.delete(source);\n    }\n}\nfunction isMapMatch(target, source, compare, stack) {\n    if (source.size === 0) {\n        return true;\n    }\n    if (!(target instanceof Map)) {\n        return false;\n    }\n    for (const [key, sourceValue] of source.entries()) {\n        const targetValue = target.get(key);\n        const isEqual = compare(targetValue, sourceValue, key, target, source, stack);\n        if (isEqual === false) {\n            return false;\n        }\n    }\n    return true;\n}\nfunction isArrayMatch(target, source, compare, stack) {\n    if (source.length === 0) {\n        return true;\n    }\n    if (!Array.isArray(target)) {\n        return false;\n    }\n    const countedIndex = new Set();\n    for (let i = 0; i < source.length; i++) {\n        const sourceItem = source[i];\n        let found = false;\n        for (let j = 0; j < target.length; j++) {\n            if (countedIndex.has(j)) {\n                continue;\n            }\n            const targetItem = target[j];\n            let matches = false;\n            const isEqual = compare(targetItem, sourceItem, i, target, source, stack);\n            if (isEqual) {\n                matches = true;\n            }\n            if (matches) {\n                countedIndex.add(j);\n                found = true;\n                break;\n            }\n        }\n        if (!found) {\n            return false;\n        }\n    }\n    return true;\n}\nfunction isSetMatch(target, source, compare, stack) {\n    if (source.size === 0) {\n        return true;\n    }\n    if (!(target instanceof Set)) {\n        return false;\n    }\n    return isArrayMatch([...target], [...source], compare, stack);\n}\n\nexports.isMatchWith = isMatchWith;\nexports.isSetMatch = isSetMatch;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst isMatchWith = require('./isMatchWith.js');\n\nfunction isMatch(target, source) {\n    return isMatchWith.isMatchWith(target, source, () => undefined);\n}\n\nexports.isMatch = isMatch;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction getSymbols(object) {\n    return Object.getOwnPropertySymbols(object).filter(symbol => Object.prototype.propertyIsEnumerable.call(object, symbol));\n}\n\nexports.getSymbols = getSymbols;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction getTag(value) {\n    if (value == null) {\n        return value === undefined ? '[object Undefined]' : '[object Null]';\n    }\n    return Object.prototype.toString.call(value);\n}\n\nexports.getTag = getTag;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst regexpTag = '[object RegExp]';\nconst stringTag = '[object String]';\nconst numberTag = '[object Number]';\nconst booleanTag = '[object Boolean]';\nconst argumentsTag = '[object Arguments]';\nconst symbolTag = '[object Symbol]';\nconst dateTag = '[object Date]';\nconst mapTag = '[object Map]';\nconst setTag = '[object Set]';\nconst arrayTag = '[object Array]';\nconst functionTag = '[object Function]';\nconst arrayBufferTag = '[object ArrayBuffer]';\nconst objectTag = '[object Object]';\nconst errorTag = '[object Error]';\nconst dataViewTag = '[object DataView]';\nconst uint8ArrayTag = '[object Uint8Array]';\nconst uint8ClampedArrayTag = '[object Uint8ClampedArray]';\nconst uint16ArrayTag = '[object Uint16Array]';\nconst uint32ArrayTag = '[object Uint32Array]';\nconst bigUint64ArrayTag = '[object BigUint64Array]';\nconst int8ArrayTag = '[object Int8Array]';\nconst int16ArrayTag = '[object Int16Array]';\nconst int32ArrayTag = '[object Int32Array]';\nconst bigInt64ArrayTag = '[object BigInt64Array]';\nconst float32ArrayTag = '[object Float32Array]';\nconst float64ArrayTag = '[object Float64Array]';\n\nexports.argumentsTag = argumentsTag;\nexports.arrayBufferTag = arrayBufferTag;\nexports.arrayTag = arrayTag;\nexports.bigInt64ArrayTag = bigInt64ArrayTag;\nexports.bigUint64ArrayTag = bigUint64ArrayTag;\nexports.booleanTag = booleanTag;\nexports.dataViewTag = dataViewTag;\nexports.dateTag = dateTag;\nexports.errorTag = errorTag;\nexports.float32ArrayTag = float32ArrayTag;\nexports.float64ArrayTag = float64ArrayTag;\nexports.functionTag = functionTag;\nexports.int16ArrayTag = int16ArrayTag;\nexports.int32ArrayTag = int32ArrayTag;\nexports.int8ArrayTag = int8ArrayTag;\nexports.mapTag = mapTag;\nexports.numberTag = numberTag;\nexports.objectTag = objectTag;\nexports.regexpTag = regexpTag;\nexports.setTag = setTag;\nexports.stringTag = stringTag;\nexports.symbolTag = symbolTag;\nexports.uint16ArrayTag = uint16ArrayTag;\nexports.uint32ArrayTag = uint32ArrayTag;\nexports.uint8ArrayTag = uint8ArrayTag;\nexports.uint8ClampedArrayTag = uint8ClampedArrayTag;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst globalThis_ = (typeof globalThis === 'object' && globalThis) ||\n    (typeof window === 'object' && window) ||\n    (typeof self === 'object' && self) ||\n    (typeof global === 'object' && global) ||\n    (function () {\n        return this;\n    })() ||\n    Function('return this')();\n\nexports.globalThis = globalThis_;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst globalThis = require('../_internal/globalThis.js');\n\nfunction isBuffer(x) {\n    return typeof globalThis.globalThis.Buffer !== 'undefined' && globalThis.globalThis.Buffer.isBuffer(x);\n}\n\nexports.isBuffer = isBuffer;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nfunction isTypedArray(x) {\n    return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexports.isTypedArray = isTypedArray;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst getSymbols = require('../compat/_internal/getSymbols.js');\nconst getTag = require('../compat/_internal/getTag.js');\nconst tags = require('../compat/_internal/tags.js');\nconst isBuffer = require('../predicate/isBuffer.js');\nconst isPrimitive = require('../predicate/isPrimitive.js');\nconst isTypedArray = require('../predicate/isTypedArray.js');\n\nfunction cloneDeepWith(obj, cloneValue) {\n    return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) {\n    const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n    if (cloned !== undefined) {\n        return cloned;\n    }\n    if (isPrimitive.isPrimitive(valueToClone)) {\n        return valueToClone;\n    }\n    if (stack.has(valueToClone)) {\n        return stack.get(valueToClone);\n    }\n    if (Array.isArray(valueToClone)) {\n        const result = new Array(valueToClone.length);\n        stack.set(valueToClone, result);\n        for (let i = 0; i < valueToClone.length; i++) {\n            result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n        }\n        if (Object.hasOwn(valueToClone, 'index')) {\n            result.index = valueToClone.index;\n        }\n        if (Object.hasOwn(valueToClone, 'input')) {\n            result.input = valueToClone.input;\n        }\n        return result;\n    }\n    if (valueToClone instanceof Date) {\n        return new Date(valueToClone.getTime());\n    }\n    if (valueToClone instanceof RegExp) {\n        const result = new RegExp(valueToClone.source, valueToClone.flags);\n        result.lastIndex = valueToClone.lastIndex;\n        return result;\n    }\n    if (valueToClone instanceof Map) {\n        const result = new Map();\n        stack.set(valueToClone, result);\n        for (const [key, value] of valueToClone) {\n            result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n        }\n        return result;\n    }\n    if (valueToClone instanceof Set) {\n        const result = new Set();\n        stack.set(valueToClone, result);\n        for (const value of valueToClone) {\n            result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));\n        }\n        return result;\n    }\n    if (isBuffer.isBuffer(valueToClone)) {\n        return valueToClone.subarray();\n    }\n    if (isTypedArray.isTypedArray(valueToClone)) {\n        const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length);\n        stack.set(valueToClone, result);\n        for (let i = 0; i < valueToClone.length; i++) {\n            result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n        }\n        return result;\n    }\n    if (valueToClone instanceof ArrayBuffer ||\n        (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) {\n        return valueToClone.slice(0);\n    }\n    if (valueToClone instanceof DataView) {\n        const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n        stack.set(valueToClone, result);\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    if (typeof File !== 'undefined' && valueToClone instanceof File) {\n        const result = new File([valueToClone], valueToClone.name, {\n            type: valueToClone.type,\n        });\n        stack.set(valueToClone, result);\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    if (typeof Blob !== 'undefined' && valueToClone instanceof Blob) {\n        const result = new Blob([valueToClone], { type: valueToClone.type });\n        stack.set(valueToClone, result);\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    if (valueToClone instanceof Error) {\n        const result = structuredClone(valueToClone);\n        stack.set(valueToClone, result);\n        result.message = valueToClone.message;\n        result.name = valueToClone.name;\n        result.stack = valueToClone.stack;\n        result.cause = valueToClone.cause;\n        result.constructor = valueToClone.constructor;\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    if (valueToClone instanceof Boolean) {\n        const result = new Boolean(valueToClone.valueOf());\n        stack.set(valueToClone, result);\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    if (valueToClone instanceof Number) {\n        const result = new Number(valueToClone.valueOf());\n        stack.set(valueToClone, result);\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    if (valueToClone instanceof String) {\n        const result = new String(valueToClone.valueOf());\n        stack.set(valueToClone, result);\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    if (typeof valueToClone === 'object' && isCloneableObject(valueToClone)) {\n        const result = Object.create(Object.getPrototypeOf(valueToClone));\n        stack.set(valueToClone, result);\n        copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n        return result;\n    }\n    return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n    const keys = [...Object.keys(source), ...getSymbols.getSymbols(source)];\n    for (let i = 0; i < keys.length; i++) {\n        const key = keys[i];\n        const descriptor = Object.getOwnPropertyDescriptor(target, key);\n        if (descriptor == null || descriptor.writable) {\n            target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n        }\n    }\n}\nfunction isCloneableObject(object) {\n    switch (getTag.getTag(object)) {\n        case tags.argumentsTag:\n        case tags.arrayTag:\n        case tags.arrayBufferTag:\n        case tags.dataViewTag:\n        case tags.booleanTag:\n        case tags.dateTag:\n        case tags.float32ArrayTag:\n        case tags.float64ArrayTag:\n        case tags.int8ArrayTag:\n        case tags.int16ArrayTag:\n        case tags.int32ArrayTag:\n        case tags.mapTag:\n        case tags.numberTag:\n        case tags.objectTag:\n        case tags.regexpTag:\n        case tags.setTag:\n        case tags.stringTag:\n        case tags.symbolTag:\n        case tags.uint8ArrayTag:\n        case tags.uint8ClampedArrayTag:\n        case tags.uint16ArrayTag:\n        case tags.uint32ArrayTag: {\n            return true;\n        }\n        default: {\n            return false;\n        }\n    }\n}\n\nexports.cloneDeepWith = cloneDeepWith;\nexports.cloneDeepWithImpl = cloneDeepWithImpl;\nexports.copyProperties = copyProperties;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst cloneDeepWith = require('./cloneDeepWith.js');\n\nfunction cloneDeep(obj) {\n    return cloneDeepWith.cloneDeepWithImpl(obj, undefined, obj, new Map(), undefined);\n}\n\nexports.cloneDeep = cloneDeep;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst isMatch = require('./isMatch.js');\nconst cloneDeep = require('../../object/cloneDeep.js');\n\nfunction matches(source) {\n    source = cloneDeep.cloneDeep(source);\n    return (target) => {\n        return isMatch.isMatch(target, source);\n    };\n}\n\nexports.matches = matches;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst cloneDeepWith$1 = require('../../object/cloneDeepWith.js');\nconst getTag = require('../_internal/getTag.js');\nconst tags = require('../_internal/tags.js');\n\nfunction cloneDeepWith(obj, customizer) {\n    return cloneDeepWith$1.cloneDeepWith(obj, (value, key, object, stack) => {\n        const cloned = customizer?.(value, key, object, stack);\n        if (cloned !== undefined) {\n            return cloned;\n        }\n        if (typeof obj !== 'object') {\n            return undefined;\n        }\n        if (getTag.getTag(obj) === tags.objectTag && typeof obj.constructor !== 'function') {\n            const result = {};\n            stack.set(obj, result);\n            cloneDeepWith$1.copyProperties(result, obj, object, stack);\n            return result;\n        }\n        switch (Object.prototype.toString.call(obj)) {\n            case tags.numberTag:\n            case tags.stringTag:\n            case tags.booleanTag: {\n                const result = new obj.constructor(obj?.valueOf());\n                cloneDeepWith$1.copyProperties(result, obj);\n                return result;\n            }\n            case tags.argumentsTag: {\n                const result = {};\n                cloneDeepWith$1.copyProperties(result, obj);\n                result.length = obj.length;\n                result[Symbol.iterator] = obj[Symbol.iterator];\n                return result;\n            }\n            default: {\n                return undefined;\n            }\n        }\n    });\n}\n\nexports.cloneDeepWith = cloneDeepWith;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst cloneDeepWith = require('./cloneDeepWith.js');\n\nfunction cloneDeep(obj) {\n    return cloneDeepWith.cloneDeepWith(obj);\n}\n\nexports.cloneDeep = cloneDeep;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst getTag = require('../_internal/getTag.js');\n\nfunction isArguments(value) {\n    return value !== null && typeof value === 'object' && getTag.getTag(value) === '[object Arguments]';\n}\n\nexports.isArguments = isArguments;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst isDeepKey = require('../_internal/isDeepKey.js');\nconst isIndex = require('../_internal/isIndex.js');\nconst isArguments = require('../predicate/isArguments.js');\nconst toPath = require('../util/toPath.js');\n\nfunction has(object, path) {\n    let resolvedPath;\n    if (Array.isArray(path)) {\n        resolvedPath = path;\n    }\n    else if (typeof path === 'string' && isDeepKey.isDeepKey(path) && object?.[path] == null) {\n        resolvedPath = toPath.toPath(path);\n    }\n    else {\n        resolvedPath = [path];\n    }\n    if (resolvedPath.length === 0) {\n        return false;\n    }\n    let current = object;\n    for (let i = 0; i < resolvedPath.length; i++) {\n        const key = resolvedPath[i];\n        if (current == null || !Object.hasOwn(current, key)) {\n            const isSparseIndex = (Array.isArray(current) || isArguments.isArguments(current)) && isIndex.isIndex(key) && key < current.length;\n            if (!isSparseIndex) {\n                return false;\n            }\n        }\n        current = current[key];\n    }\n    return true;\n}\n\nexports.has = has;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst isMatch = require('./isMatch.js');\nconst toKey = require('../_internal/toKey.js');\nconst cloneDeep = require('../object/cloneDeep.js');\nconst get = require('../object/get.js');\nconst has = require('../object/has.js');\n\nfunction matchesProperty(property, source) {\n    switch (typeof property) {\n        case 'object': {\n            if (Object.is(property?.valueOf(), -0)) {\n                property = '-0';\n            }\n            break;\n        }\n        case 'number': {\n            property = toKey.toKey(property);\n            break;\n        }\n    }\n    source = cloneDeep.cloneDeep(source);\n    return function (target) {\n        const result = get.get(target, property);\n        if (result === undefined) {\n            return has.has(target, property);\n        }\n        if (source === undefined) {\n            return result === undefined;\n        }\n        return isMatch.isMatch(result, source);\n    };\n}\n\nexports.matchesProperty = matchesProperty;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst identity = require('../../function/identity.js');\nconst property = require('../object/property.js');\nconst matches = require('../predicate/matches.js');\nconst matchesProperty = require('../predicate/matchesProperty.js');\n\nfunction iteratee(value) {\n    if (value == null) {\n        return identity.identity;\n    }\n    switch (typeof value) {\n        case 'function': {\n            return value;\n        }\n        case 'object': {\n            if (Array.isArray(value) && value.length === 2) {\n                return matchesProperty.matchesProperty(value[0], value[1]);\n            }\n            return matches.matches(value);\n        }\n        case 'string':\n        case 'symbol':\n        case 'number': {\n            return property.property(value);\n        }\n    }\n}\n\nexports.iteratee = iteratee;\n","'use strict';\n\nObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\nconst uniqBy$1 = require('../../array/uniqBy.js');\nconst ary = require('../../function/ary.js');\nconst identity = require('../../function/identity.js');\nconst isArrayLikeObject = require('../predicate/isArrayLikeObject.js');\nconst iteratee = require('../util/iteratee.js');\n\nfunction uniqBy(array, iteratee$1 = identity.identity) {\n    if (!isArrayLikeObject.isArrayLikeObject(array)) {\n        return [];\n    }\n    return uniqBy$1.uniqBy(Array.from(array), ary.ary(iteratee.iteratee(iteratee$1), 1));\n}\n\nexports.uniqBy = uniqBy;\n","module.exports = require('../dist/compat/array/uniqBy.js').uniqBy;\n","import uniqBy from 'es-toolkit/compat/uniqBy';\n\n/**\n * This is configuration option that decides how to filter for unique values only:\n *\n * - `false` means \"no filter\"\n * - `true` means \"use recharts default filter\"\n * - function means \"use return of this function as the default key\"\n */\n\nexport function getUniqPayload(payload, option, defaultUniqBy) {\n  if (option === true) {\n    return uniqBy(payload, defaultUniqBy);\n  }\n  if (typeof option === 'function') {\n    return uniqBy(payload, option);\n  }\n  return payload;\n}","import { useAppSelector } from '../state/hooks';\nimport { selectLegendPayload } from '../state/selectors/legendSelectors';\n\n/**\n * Use this hook in Legend, or anywhere else where you want to read the current Legend items.\n * @return all Legend items ready to be rendered\n */\nexport function useLegendPayload() {\n  return useAppSelector(selectLegendPayload);\n}","import { useCallback, useState } from 'react';\nvar EPS = 1;\n\n/**\n * TODO this documentation does not reflect what this hook is doing, update it.\n * Stores the `offsetHeight`, `offsetLeft`, `offsetTop`, and `offsetWidth` of a DOM element.\n */\n\n/**\n * Use this to listen to element layout changes.\n *\n * Very useful for reading actual sizes of DOM elements relative to the viewport.\n *\n * @param extraDependencies use this to trigger new DOM dimensions read when any of these change. Good for things like payload and label, that will re-render something down in the children array, but you want to read the layout box of a parent.\n * @returns [lastElementOffset, updateElementOffset] most recent value, and setter. Pass the setter to a DOM element ref like this: `<div ref={updateElementOffset}>`\n */\nexport function useElementOffset() {\n  var extraDependencies = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n  var [lastBoundingBox, setLastBoundingBox] = useState({\n    height: 0,\n    left: 0,\n    top: 0,\n    width: 0\n  });\n  var updateBoundingBox = useCallback(node => {\n    if (node != null) {\n      var rect = node.getBoundingClientRect();\n      var box = {\n        height: rect.height,\n        left: rect.left,\n        top: rect.top,\n        width: rect.width\n      };\n      if (Math.abs(box.height - lastBoundingBox.height) > EPS || Math.abs(box.left - lastBoundingBox.left) > EPS || Math.abs(box.top - lastBoundingBox.top) > EPS || Math.abs(box.width - lastBoundingBox.width) > EPS) {\n        setLastBoundingBox({\n          height: box.height,\n          left: box.left,\n          top: box.top,\n          width: box.width\n        });\n      }\n    }\n  },\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [lastBoundingBox.width, lastBoundingBox.height, lastBoundingBox.top, lastBoundingBox.left, ...extraDependencies]);\n  return [lastBoundingBox, updateBoundingBox];\n}","var _excluded = [\"contextPayload\"];\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 { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useLegendPortal } from '../context/legendPortalContext';\nimport { DefaultLegendContent } from './DefaultLegendContent';\nimport { getUniqPayload } from '../util/payload/getUniqPayload';\nimport { useLegendPayload } from '../context/legendPayloadContext';\nimport { useElementOffset } from '../util/useElementOffset';\nimport { useChartHeight, useChartWidth, useMargin } from '../context/chartLayoutContext';\nimport { setLegendSettings, setLegendSize } from '../state/legendSlice';\nimport { useAppDispatch } from '../state/hooks';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { propsAreEqual } from '../util/propsAreEqual';\nfunction defaultUniqBy(entry) {\n  return entry.value;\n}\nfunction LegendContent(props) {\n  var {\n      contextPayload\n    } = props,\n    otherProps = _objectWithoutProperties(props, _excluded);\n  var finalPayload = getUniqPayload(contextPayload, props.payloadUniqBy, defaultUniqBy);\n  var contentProps = _objectSpread(_objectSpread({}, otherProps), {}, {\n    payload: finalPayload\n  });\n  if (/*#__PURE__*/React.isValidElement(props.content)) {\n    return /*#__PURE__*/React.cloneElement(props.content, contentProps);\n  }\n  if (typeof props.content === 'function') {\n    return /*#__PURE__*/React.createElement(props.content, contentProps);\n  }\n  return /*#__PURE__*/React.createElement(DefaultLegendContent, contentProps);\n}\nfunction getDefaultPosition(style, props, margin, chartWidth, chartHeight, box) {\n  var {\n    layout,\n    align,\n    verticalAlign\n  } = props;\n  var hPos, vPos;\n  if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n    if (align === 'center' && layout === 'vertical') {\n      hPos = {\n        left: ((chartWidth || 0) - box.width) / 2\n      };\n    } else {\n      hPos = align === 'right' ? {\n        right: margin && margin.right || 0\n      } : {\n        left: margin && margin.left || 0\n      };\n    }\n  }\n  if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n    if (verticalAlign === 'middle') {\n      vPos = {\n        top: ((chartHeight || 0) - box.height) / 2\n      };\n    } else {\n      vPos = verticalAlign === 'bottom' ? {\n        bottom: margin && margin.bottom || 0\n      } : {\n        top: margin && margin.top || 0\n      };\n    }\n  }\n  return _objectSpread(_objectSpread({}, hPos), vPos);\n}\nfunction LegendSettingsDispatcher(props) {\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    dispatch(setLegendSettings(props));\n  }, [dispatch, props]);\n  return null;\n}\nfunction LegendSizeDispatcher(props) {\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    dispatch(setLegendSize(props));\n    return () => {\n      dispatch(setLegendSize({\n        width: 0,\n        height: 0\n      }));\n    };\n  }, [dispatch, props]);\n  return null;\n}\nfunction getWidthOrHeight(layout, height, width, maxWidth) {\n  if (layout === 'vertical' && height != null) {\n    return {\n      height\n    };\n  }\n  if (layout === 'horizontal') {\n    return {\n      width: width || maxWidth\n    };\n  }\n  return null;\n}\nexport var legendDefaultProps = {\n  align: 'center',\n  iconSize: 14,\n  inactiveColor: '#ccc',\n  itemSorter: 'value',\n  layout: 'horizontal',\n  verticalAlign: 'bottom'\n};\n\n/**\n * @consumes CartesianChartContext\n * @consumes PolarChartContext\n */\nfunction LegendImpl(outsideProps) {\n  var props = resolveDefaultProps(outsideProps, legendDefaultProps);\n  var contextPayload = useLegendPayload();\n  var legendPortalFromContext = useLegendPortal();\n  var margin = useMargin();\n  var {\n    width: widthFromProps,\n    height: heightFromProps,\n    wrapperStyle,\n    portal: portalFromProps\n  } = props;\n  // The contextPayload is not used directly inside the hook, but we need the onBBoxUpdate call\n  // when the payload changes, therefore it's here as a dependency.\n  var [lastBoundingBox, updateBoundingBox] = useElementOffset([contextPayload]);\n  var chartWidth = useChartWidth();\n  var chartHeight = useChartHeight();\n  if (chartWidth == null || chartHeight == null) {\n    return null;\n  }\n  var maxWidth = chartWidth - ((margin === null || margin === void 0 ? void 0 : margin.left) || 0) - ((margin === null || margin === void 0 ? void 0 : margin.right) || 0);\n  var widthOrHeight = getWidthOrHeight(props.layout, heightFromProps, widthFromProps, maxWidth);\n  // if the user supplies their own portal, only use their defined wrapper styles\n  var outerStyle = portalFromProps ? wrapperStyle : _objectSpread(_objectSpread({\n    position: 'absolute',\n    width: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.width) || widthFromProps || 'auto',\n    height: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.height) || heightFromProps || 'auto'\n  }, getDefaultPosition(wrapperStyle, props, margin, chartWidth, chartHeight, lastBoundingBox)), wrapperStyle);\n  var legendPortal = portalFromProps !== null && portalFromProps !== void 0 ? portalFromProps : legendPortalFromContext;\n  if (legendPortal == null || contextPayload == null) {\n    return null;\n  }\n  var legendElement = /*#__PURE__*/React.createElement(\"div\", {\n    className: \"recharts-legend-wrapper\",\n    style: outerStyle,\n    ref: updateBoundingBox\n  }, /*#__PURE__*/React.createElement(LegendSettingsDispatcher, {\n    layout: props.layout,\n    align: props.align,\n    verticalAlign: props.verticalAlign,\n    itemSorter: props.itemSorter\n  }), !portalFromProps && /*#__PURE__*/React.createElement(LegendSizeDispatcher, {\n    width: lastBoundingBox.width,\n    height: lastBoundingBox.height\n  }), /*#__PURE__*/React.createElement(LegendContent, _extends({}, props, widthOrHeight, {\n    margin: margin,\n    chartWidth: chartWidth,\n    chartHeight: chartHeight,\n    contextPayload: contextPayload\n  })));\n  return /*#__PURE__*/createPortal(legendElement, legendPortal);\n}\nexport var Legend = /*#__PURE__*/React.memo(LegendImpl, propsAreEqual);\nLegend.displayName = 'Legend';","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); }\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); }\n/**\n * @fileOverview Default Tooltip Content\n */\n\nimport * as React from 'react';\nimport sortBy from 'es-toolkit/compat/sortBy';\nimport { clsx } from 'clsx';\nimport { isNullish, isNumOrStr } from '../util/DataUtils';\nfunction defaultFormatter(value) {\n  return Array.isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n}\n\n/**\n * @inline\n */\n\nexport var defaultDefaultTooltipContentProps = {\n  separator: ' : ',\n  contentStyle: {\n    margin: 0,\n    padding: 10,\n    backgroundColor: '#fff',\n    border: '1px solid #ccc',\n    whiteSpace: 'nowrap'\n  },\n  itemStyle: {\n    display: 'block',\n    paddingTop: 4,\n    paddingBottom: 4,\n    color: '#000'\n  },\n  labelStyle: {},\n  accessibilityLayer: false\n};\nfunction lodashLikeSortBy(array, itemSorter) {\n  if (itemSorter == null) {\n    return array;\n  }\n  // @ts-expect-error sortBy types somehow are returning a number type.\n  return sortBy(array, itemSorter);\n}\n\n/**\n * This component is by default rendered inside the {@link Tooltip} component. You would not use it directly.\n *\n * You can use this component to customize the content of the tooltip,\n * or you can provide your own completely independent content.\n */\nexport var DefaultTooltipContent = props => {\n  var {\n    separator = defaultDefaultTooltipContentProps.separator,\n    contentStyle,\n    itemStyle,\n    labelStyle = defaultDefaultTooltipContentProps.labelStyle,\n    payload,\n    formatter,\n    itemSorter,\n    wrapperClassName,\n    labelClassName,\n    label,\n    labelFormatter,\n    accessibilityLayer = defaultDefaultTooltipContentProps.accessibilityLayer\n  } = props;\n  var renderContent = () => {\n    if (payload && payload.length) {\n      var listStyle = {\n        padding: 0,\n        margin: 0\n      };\n      var sortedPayload = lodashLikeSortBy(payload, itemSorter);\n      var items = sortedPayload.map((entry, i) => {\n        if (!entry || entry.type === 'none') {\n          return null;\n        }\n        var finalFormatter = entry.formatter || formatter || defaultFormatter;\n        var {\n          value,\n          name\n        } = entry;\n        var finalValue = value;\n        var finalName = name;\n        if (finalFormatter) {\n          var formatted = finalFormatter(value, name, entry, i, payload);\n          if (Array.isArray(formatted)) {\n            [finalValue, finalName] = formatted;\n          } else if (formatted != null) {\n            finalValue = formatted;\n          } else {\n            return null;\n          }\n        }\n        var finalItemStyle = _objectSpread(_objectSpread({}, defaultDefaultTooltipContentProps.itemStyle), {}, {\n          color: entry.color || defaultDefaultTooltipContentProps.itemStyle.color\n        }, itemStyle);\n        return /*#__PURE__*/React.createElement(\"li\", {\n          className: \"recharts-tooltip-item\",\n          key: \"tooltip-item-\".concat(i),\n          style: finalItemStyle\n        }, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n          className: \"recharts-tooltip-item-name\"\n        }, finalName) : null, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n          className: \"recharts-tooltip-item-separator\"\n        }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n          className: \"recharts-tooltip-item-value\"\n        }, finalValue), /*#__PURE__*/React.createElement(\"span\", {\n          className: \"recharts-tooltip-item-unit\"\n        }, entry.unit || ''));\n      });\n      return /*#__PURE__*/React.createElement(\"ul\", {\n        className: \"recharts-tooltip-item-list\",\n        style: listStyle\n      }, items);\n    }\n    return null;\n  };\n  var finalStyle = _objectSpread(_objectSpread({}, defaultDefaultTooltipContentProps.contentStyle), contentStyle);\n  var finalLabelStyle = _objectSpread({\n    margin: 0\n  }, labelStyle);\n  var hasLabel = !isNullish(label);\n  var finalLabel = hasLabel ? label : '';\n  var wrapperCN = clsx('recharts-default-tooltip', wrapperClassName);\n  var labelCN = clsx('recharts-tooltip-label', labelClassName);\n  if (hasLabel && labelFormatter && payload !== undefined && payload !== null) {\n    finalLabel = labelFormatter(label, payload);\n  }\n  var accessibilityAttributes = accessibilityLayer ? {\n    role: 'status',\n    'aria-live': 'assertive'\n  } : {};\n  return /*#__PURE__*/React.createElement(\"div\", _extends({\n    className: wrapperCN,\n    style: finalStyle\n  }, accessibilityAttributes), /*#__PURE__*/React.createElement(\"p\", {\n    className: labelCN,\n    style: finalLabelStyle\n  }, /*#__PURE__*/React.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), renderContent());\n};","import { clsx } from 'clsx';\nimport { isNumber } from '../DataUtils';\nvar CSS_CLASS_PREFIX = 'recharts-tooltip-wrapper';\nvar TOOLTIP_HIDDEN = {\n  visibility: 'hidden'\n};\nexport function getTooltipCSSClassName(_ref) {\n  var {\n    coordinate,\n    translateX,\n    translateY\n  } = _ref;\n  return clsx(CSS_CLASS_PREFIX, {\n    [\"\".concat(CSS_CLASS_PREFIX, \"-right\")]: isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x,\n    [\"\".concat(CSS_CLASS_PREFIX, \"-left\")]: isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x,\n    [\"\".concat(CSS_CLASS_PREFIX, \"-bottom\")]: isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y,\n    [\"\".concat(CSS_CLASS_PREFIX, \"-top\")]: isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y\n  });\n}\nexport function getTooltipTranslateXY(_ref2) {\n  var {\n    allowEscapeViewBox,\n    coordinate,\n    key,\n    offset,\n    position,\n    reverseDirection,\n    tooltipDimension,\n    viewBox,\n    viewBoxDimension\n  } = _ref2;\n  if (position && isNumber(position[key])) {\n    return position[key];\n  }\n  var negative = coordinate[key] - tooltipDimension - (offset > 0 ? offset : 0);\n  var positive = coordinate[key] + offset;\n  if (allowEscapeViewBox[key]) {\n    return reverseDirection[key] ? negative : positive;\n  }\n  var viewBoxKey = viewBox[key];\n  if (viewBoxKey == null) {\n    return 0;\n  }\n  if (reverseDirection[key]) {\n    var _tooltipBoundary = negative;\n    var _viewBoxBoundary = viewBoxKey;\n    if (_tooltipBoundary < _viewBoxBoundary) {\n      return Math.max(positive, viewBoxKey);\n    }\n    return Math.max(negative, viewBoxKey);\n  }\n  if (viewBoxDimension == null) {\n    return 0;\n  }\n  var tooltipBoundary = positive + tooltipDimension;\n  var viewBoxBoundary = viewBoxKey + viewBoxDimension;\n  if (tooltipBoundary > viewBoxBoundary) {\n    return Math.max(negative, viewBoxKey);\n  }\n  return Math.max(positive, viewBoxKey);\n}\nexport function getTransformStyle(_ref3) {\n  var {\n    translateX,\n    translateY,\n    useTranslate3d\n  } = _ref3;\n  return {\n    transform: useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n  };\n}\nexport function getTooltipTranslate(_ref4) {\n  var {\n    allowEscapeViewBox,\n    coordinate,\n    offsetTop,\n    offsetLeft,\n    position,\n    reverseDirection,\n    tooltipBox,\n    useTranslate3d,\n    viewBox\n  } = _ref4;\n  var cssProperties, translateX, translateY;\n  if (tooltipBox.height > 0 && tooltipBox.width > 0 && coordinate) {\n    translateX = getTooltipTranslateXY({\n      allowEscapeViewBox,\n      coordinate,\n      key: 'x',\n      offset: offsetLeft,\n      position,\n      reverseDirection,\n      tooltipDimension: tooltipBox.width,\n      viewBox,\n      viewBoxDimension: viewBox.width\n    });\n    translateY = getTooltipTranslateXY({\n      allowEscapeViewBox,\n      coordinate,\n      key: 'y',\n      offset: offsetTop,\n      position,\n      reverseDirection,\n      tooltipDimension: tooltipBox.height,\n      viewBox,\n      viewBoxDimension: viewBox.height\n    });\n    cssProperties = getTransformStyle({\n      translateX,\n      translateY,\n      useTranslate3d\n    });\n  } else {\n    cssProperties = TOOLTIP_HIDDEN;\n  }\n  return {\n    cssProperties,\n    cssClasses: getTooltipCSSClassName({\n      translateX,\n      translateY,\n      coordinate\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 * as React from 'react';\nimport { getTooltipTranslate } from '../util/tooltip/translate';\nimport { usePrefersReducedMotion } from '../util/usePrefersReducedMotion';\nfunction resolveTransitionProperty(args) {\n  if (args.prefersReducedMotion && args.isAnimationActive === 'auto') {\n    return undefined;\n  }\n  if (args.isAnimationActive && args.active) {\n    return \"transform \".concat(args.animationDuration, \"ms \").concat(args.animationEasing);\n  }\n  return undefined;\n}\nfunction TooltipBoundingBoxImpl(props) {\n  var _props$coordinate3, _props$coordinate4, _props$coordinate$x2, _props$coordinate5, _props$coordinate$y2, _props$coordinate6;\n  var prefersReducedMotion = usePrefersReducedMotion();\n  var [state, setState] = React.useState(() => ({\n    dismissed: false,\n    dismissedAtCoordinate: {\n      x: 0,\n      y: 0\n    }\n  }));\n  React.useEffect(() => {\n    var handleKeyDown = event => {\n      if (event.key === 'Escape') {\n        var _props$coordinate$x, _props$coordinate, _props$coordinate$y, _props$coordinate2;\n        setState({\n          dismissed: true,\n          dismissedAtCoordinate: {\n            x: (_props$coordinate$x = (_props$coordinate = props.coordinate) === null || _props$coordinate === void 0 ? void 0 : _props$coordinate.x) !== null && _props$coordinate$x !== void 0 ? _props$coordinate$x : 0,\n            y: (_props$coordinate$y = (_props$coordinate2 = props.coordinate) === null || _props$coordinate2 === void 0 ? void 0 : _props$coordinate2.y) !== null && _props$coordinate$y !== void 0 ? _props$coordinate$y : 0\n          }\n        });\n      }\n    };\n    document.addEventListener('keydown', handleKeyDown);\n    return () => {\n      document.removeEventListener('keydown', handleKeyDown);\n    };\n  }, [(_props$coordinate3 = props.coordinate) === null || _props$coordinate3 === void 0 ? void 0 : _props$coordinate3.x, (_props$coordinate4 = props.coordinate) === null || _props$coordinate4 === void 0 ? void 0 : _props$coordinate4.y]);\n  if (state.dismissed && (((_props$coordinate$x2 = (_props$coordinate5 = props.coordinate) === null || _props$coordinate5 === void 0 ? void 0 : _props$coordinate5.x) !== null && _props$coordinate$x2 !== void 0 ? _props$coordinate$x2 : 0) !== state.dismissedAtCoordinate.x || ((_props$coordinate$y2 = (_props$coordinate6 = props.coordinate) === null || _props$coordinate6 === void 0 ? void 0 : _props$coordinate6.y) !== null && _props$coordinate$y2 !== void 0 ? _props$coordinate$y2 : 0) !== state.dismissedAtCoordinate.y)) {\n    setState(_objectSpread(_objectSpread({}, state), {}, {\n      dismissed: false\n    }));\n  }\n  var {\n    cssClasses,\n    cssProperties\n  } = getTooltipTranslate({\n    allowEscapeViewBox: props.allowEscapeViewBox,\n    coordinate: props.coordinate,\n    offsetLeft: typeof props.offset === 'number' ? props.offset : props.offset.x,\n    offsetTop: typeof props.offset === 'number' ? props.offset : props.offset.y,\n    position: props.position,\n    reverseDirection: props.reverseDirection,\n    tooltipBox: {\n      height: props.lastBoundingBox.height,\n      width: props.lastBoundingBox.width\n    },\n    useTranslate3d: props.useTranslate3d,\n    viewBox: props.viewBox\n  });\n  var positionStyle = props.hasPortalFromProps ? {} : _objectSpread(_objectSpread({\n    transition: resolveTransitionProperty({\n      prefersReducedMotion,\n      isAnimationActive: props.isAnimationActive,\n      active: props.active,\n      animationDuration: props.animationDuration,\n      animationEasing: props.animationEasing\n    })\n  }, cssProperties), {}, {\n    pointerEvents: 'none',\n    position: 'absolute',\n    top: 0,\n    left: 0\n  });\n  var outerStyle = _objectSpread(_objectSpread({}, positionStyle), {}, {\n    visibility: !state.dismissed && props.active && props.hasPayload ? 'visible' : 'hidden'\n  }, props.wrapperStyle);\n  return /*#__PURE__*/React.createElement(\"div\", {\n    // @ts-expect-error typescript library does not recognize xmlns attribute, but it's required for an HTML chunk inside SVG.\n    xmlns: \"http://www.w3.org/1999/xhtml\",\n    tabIndex: -1,\n    className: cssClasses,\n    style: outerStyle,\n    ref: props.innerRef\n  }, props.children);\n}\nexport var TooltipBoundingBox = /*#__PURE__*/React.memo(TooltipBoundingBoxImpl);","var _excluded = [\"x\", \"y\", \"top\", \"left\", \"width\", \"height\", \"className\"];\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 Cross\n */\nimport * as React from 'react';\nimport { clsx } from 'clsx';\nimport { isNumber } from '../util/DataUtils';\nimport { svgPropertiesAndEvents } from '../util/svgPropertiesAndEvents';\nvar getPath = (x, y, width, height, top, left) => {\n  return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n};\nexport var Cross = _ref => {\n  var {\n      x = 0,\n      y = 0,\n      top = 0,\n      left = 0,\n      width = 0,\n      height = 0,\n      className\n    } = _ref,\n    rest = _objectWithoutProperties(_ref, _excluded);\n  var props = _objectSpread({\n    x,\n    y,\n    top,\n    left,\n    width,\n    height\n  }, rest);\n  if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n    return null;\n  }\n  return /*#__PURE__*/React.createElement(\"path\", _extends({}, svgPropertiesAndEvents(props), {\n    className: clsx('recharts-cross', className),\n    d: getPath(x, y, width, height, top, left)\n  }));\n};","export function getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize) {\n  var halfSize = tooltipAxisBandSize / 2;\n  return {\n    stroke: 'none',\n    fill: '#ccc',\n    x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n    y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n    width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n    height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n  };\n}","import { polarToCartesian } from '../PolarUtils';\n/**\n * Only applicable for radial layouts\n * @param {Object} activeCoordinate ChartCoordinate\n * @returns {Object} RadialCursorPoints\n */\nexport function getRadialCursorPoints(activeCoordinate) {\n  var {\n    cx,\n    cy,\n    radius,\n    startAngle,\n    endAngle\n  } = activeCoordinate;\n  var startPoint = polarToCartesian(cx, cy, radius, startAngle);\n  var endPoint = polarToCartesian(cx, cy, radius, endAngle);\n  return {\n    points: [startPoint, endPoint],\n    cx,\n    cy,\n    radius,\n    startAngle,\n    endAngle\n  };\n}","import { polarToCartesian } from '../PolarUtils';\nimport { isPolarCoordinate } from '../types';\nimport { getRadialCursorPoints } from './getRadialCursorPoints';\nexport function getCursorPoints(layout, activeCoordinate, offset) {\n  if (layout === 'horizontal') {\n    return [{\n      x: activeCoordinate.x,\n      y: offset.top\n    }, {\n      x: activeCoordinate.x,\n      y: offset.top + offset.height\n    }];\n  }\n  if (layout === 'vertical') {\n    return [{\n      x: offset.left,\n      y: activeCoordinate.y\n    }, {\n      x: offset.left + offset.width,\n      y: activeCoordinate.y\n    }];\n  }\n  if (isPolarCoordinate(activeCoordinate)) {\n    if (layout === 'centric') {\n      var {\n        cx,\n        cy,\n        innerRadius,\n        outerRadius,\n        angle\n      } = activeCoordinate;\n      var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n      var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n      return [{\n        x: innerPoint.x,\n        y: innerPoint.y\n      }, {\n        x: outerPoint.x,\n        y: outerPoint.y\n      }];\n    }\n    return getRadialCursorPoints(activeCoordinate);\n  }\n  return undefined;\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 { useAppSelector } from '../state/hooks';\nimport { getBandSizeOfAxis } from '../util/ChartUtils';\nimport { selectTooltipAxis } from '../state/selectors/axisSelectors';\nimport { selectTooltipAxisScale, selectTooltipAxisTicks } from '../state/selectors/tooltipSelectors';\nexport var useTooltipAxis = () => useAppSelector(selectTooltipAxis);\nexport var useTooltipAxisBandSize = () => {\n  var tooltipAxis = useTooltipAxis();\n  var tooltipTicks = useAppSelector(selectTooltipAxisTicks);\n  var tooltipAxisScale = useAppSelector(selectTooltipAxisScale);\n  if (!tooltipAxis || !tooltipAxisScale) {\n    return getBandSizeOfAxis(undefined, tooltipTicks);\n  }\n  return getBandSizeOfAxis(_objectSpread(_objectSpread({}, tooltipAxis), {}, {\n    scale: tooltipAxisScale\n  }), tooltipTicks);\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); }\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, createElement, isValidElement } from 'react';\nimport { clsx } from 'clsx';\nimport { isPolarCoordinate } from '../util/types';\nimport { Curve } from '../shape/Curve';\nimport { Cross } from '../shape/Cross';\nimport { getCursorRectangle } from '../util/cursor/getCursorRectangle';\nimport { Rectangle } from '../shape/Rectangle';\nimport { getRadialCursorPoints } from '../util/cursor/getRadialCursorPoints';\nimport { Sector } from '../shape/Sector';\nimport { getCursorPoints } from '../util/cursor/getCursorPoints';\nimport { useChartLayout, useOffsetInternal } from '../context/chartLayoutContext';\nimport { useTooltipAxisBandSize } from '../context/useTooltipAxis';\nimport { useChartName } from '../state/selectors/selectors';\nimport { svgPropertiesNoEventsFromUnknown } from '../util/svgPropertiesNoEvents';\nimport { ZIndexLayer } from '../zIndex/ZIndexLayer';\nimport { DefaultZIndexes } from '../zIndex/DefaultZIndexes';\n\n/**\n * If set false, no cursor will be drawn when tooltip is active.\n * If set an object, the option is the configuration of cursor.\n * If set a React element, the option is the custom react element of drawing cursor\n */\n\nfunction RenderCursor(_ref) {\n  var {\n    cursor,\n    cursorComp,\n    cursorProps\n  } = _ref;\n  if (/*#__PURE__*/isValidElement(cursor)) {\n    return /*#__PURE__*/cloneElement(cursor, cursorProps);\n  }\n  return /*#__PURE__*/createElement(cursorComp, cursorProps);\n}\nexport function CursorInternal(props) {\n  var _props$zIndex;\n  var {\n    coordinate,\n    payload,\n    index,\n    offset,\n    tooltipAxisBandSize,\n    layout,\n    cursor,\n    tooltipEventType,\n    chartName\n  } = props;\n\n  // The cursor is a part of the Tooltip, and it should be shown (by default) when the Tooltip is active.\n  var activeCoordinate = coordinate;\n  var activePayload = payload;\n  var activeTooltipIndex = index;\n  if (!cursor || !activeCoordinate || chartName !== 'ScatterChart' && tooltipEventType !== 'axis') {\n    return null;\n  }\n  var restProps, cursorComp, preferredZIndex;\n  if (chartName === 'ScatterChart') {\n    restProps = activeCoordinate;\n    cursorComp = Cross;\n    preferredZIndex = DefaultZIndexes.cursorLine;\n  } else if (chartName === 'BarChart') {\n    restProps = getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize);\n    cursorComp = Rectangle;\n    preferredZIndex = DefaultZIndexes.cursorRectangle;\n  } else if (layout === 'radial' && isPolarCoordinate(activeCoordinate)) {\n    var {\n      cx,\n      cy,\n      radius,\n      startAngle,\n      endAngle\n    } = getRadialCursorPoints(activeCoordinate);\n    restProps = {\n      cx,\n      cy,\n      startAngle,\n      endAngle,\n      innerRadius: radius,\n      outerRadius: radius\n    };\n    cursorComp = Sector;\n    preferredZIndex = DefaultZIndexes.cursorLine;\n  } else {\n    restProps = {\n      points: getCursorPoints(layout, activeCoordinate, offset)\n    };\n    cursorComp = Curve;\n    preferredZIndex = DefaultZIndexes.cursorLine;\n  }\n  var extraClassName = typeof cursor === 'object' && 'className' in cursor ? cursor.className : undefined;\n  var cursorProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n    stroke: '#ccc',\n    pointerEvents: 'none'\n  }, offset), restProps), svgPropertiesNoEventsFromUnknown(cursor)), {}, {\n    payload: activePayload,\n    payloadIndex: activeTooltipIndex,\n    className: clsx('recharts-tooltip-cursor', extraClassName)\n  });\n  return /*#__PURE__*/React.createElement(ZIndexLayer, {\n    zIndex: (_props$zIndex = props.zIndex) !== null && _props$zIndex !== void 0 ? _props$zIndex : preferredZIndex\n  }, /*#__PURE__*/React.createElement(RenderCursor, {\n    cursor: cursor,\n    cursorComp: cursorComp,\n    cursorProps: cursorProps\n  }));\n}\n\n/*\n * Cursor is the background, or a highlight,\n * that shows when user mouses over or activates\n * an area.\n *\n * It usually shows together with a tooltip\n * to emphasise which part of the chart does the tooltip refer to.\n */\nexport function Cursor(props) {\n  var tooltipAxisBandSize = useTooltipAxisBandSize();\n  var offset = useOffsetInternal();\n  var layout = useChartLayout();\n  var chartName = useChartName();\n  if (tooltipAxisBandSize == null || offset == null || layout == null || chartName == null) {\n    return null;\n  }\n  return /*#__PURE__*/React.createElement(CursorInternal, _extends({}, props, {\n    offset: offset,\n    layout: layout,\n    tooltipAxisBandSize: tooltipAxisBandSize,\n    chartName: chartName\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 * as React from 'react';\nimport { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { DefaultTooltipContent } from './DefaultTooltipContent';\nimport { TooltipBoundingBox } from './TooltipBoundingBox';\nimport { getUniqPayload } from '../util/payload/getUniqPayload';\nimport { useViewBox } from '../context/chartLayoutContext';\nimport { useAccessibilityLayer } from '../context/accessibilityContext';\nimport { useElementOffset } from '../util/useElementOffset';\nimport { Cursor } from './Cursor';\nimport { selectActiveCoordinate, selectActiveLabel, selectIsTooltipActive, selectTooltipPayload } from '../state/selectors/selectors';\nimport { useTooltipPortal } from '../context/tooltipPortalContext';\nimport { useAppDispatch, useAppSelector } from '../state/hooks';\nimport { setTooltipSettingsState } from '../state/tooltipSlice';\nimport { useTooltipChartSynchronisation } from '../synchronisation/useChartSynchronisation';\nimport { useTooltipEventType } from '../state/selectors/selectTooltipEventType';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nfunction defaultUniqBy(entry) {\n  return entry.dataKey;\n}\nfunction renderContent(content, props) {\n  if (/*#__PURE__*/React.isValidElement(content)) {\n    return /*#__PURE__*/React.cloneElement(content, props);\n  }\n  if (typeof content === 'function') {\n    return /*#__PURE__*/React.createElement(content, props);\n  }\n  return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n}\nvar emptyPayload = [];\nexport var defaultTooltipProps = {\n  allowEscapeViewBox: {\n    x: false,\n    y: false\n  },\n  animationDuration: 400,\n  animationEasing: 'ease',\n  axisId: 0,\n  contentStyle: {},\n  cursor: true,\n  filterNull: true,\n  includeHidden: false,\n  isAnimationActive: 'auto',\n  itemSorter: 'name',\n  itemStyle: {},\n  labelStyle: {},\n  offset: 10,\n  reverseDirection: {\n    x: false,\n    y: false\n  },\n  separator: ' : ',\n  trigger: 'hover',\n  useTranslate3d: false,\n  wrapperStyle: {}\n};\n\n/**\n * The Tooltip component displays a floating box with data values when hovering over or clicking on chart elements.\n *\n * It can be configured to show information for individual data points or for all points at a specific axis coordinate.\n * The appearance and content of the tooltip can be customized via props.\n *\n * @see {@link https://github.com/recharts/recharts/wiki/Tooltip-event-type-and-shared-prop Tooltip event type and shared prop wiki page}\n * @see {@link https://recharts.github.io/en-US/guide/activeIndex/ Active index replacement when migrating from Recharts v2 to v3}\n *\n * @consumes CartesianChartContext\n * @consumes PolarChartContext\n * @consumes TooltipEntrySettings\n */\nexport function Tooltip(outsideProps) {\n  var _useAppSelector, _ref;\n  var props = resolveDefaultProps(outsideProps, defaultTooltipProps);\n  var {\n    active: activeFromProps,\n    allowEscapeViewBox,\n    animationDuration,\n    animationEasing,\n    content,\n    filterNull,\n    isAnimationActive,\n    offset,\n    payloadUniqBy,\n    position,\n    reverseDirection,\n    useTranslate3d,\n    wrapperStyle,\n    cursor,\n    shared,\n    trigger,\n    defaultIndex,\n    portal: portalFromProps,\n    axisId\n  } = props;\n  var dispatch = useAppDispatch();\n  var defaultIndexAsString = typeof defaultIndex === 'number' ? String(defaultIndex) : defaultIndex;\n  useEffect(() => {\n    dispatch(setTooltipSettingsState({\n      shared,\n      trigger,\n      axisId,\n      active: activeFromProps,\n      defaultIndex: defaultIndexAsString\n    }));\n  }, [dispatch, shared, trigger, axisId, activeFromProps, defaultIndexAsString]);\n  var viewBox = useViewBox();\n  var accessibilityLayer = useAccessibilityLayer();\n  var tooltipEventType = useTooltipEventType(shared);\n  var {\n    activeIndex,\n    isActive\n  } = (_useAppSelector = useAppSelector(state => selectIsTooltipActive(state, tooltipEventType, trigger, defaultIndexAsString))) !== null && _useAppSelector !== void 0 ? _useAppSelector : {};\n  var payloadFromRedux = useAppSelector(state => selectTooltipPayload(state, tooltipEventType, trigger, defaultIndexAsString));\n  var labelFromRedux = useAppSelector(state => selectActiveLabel(state, tooltipEventType, trigger, defaultIndexAsString));\n  var coordinate = useAppSelector(state => selectActiveCoordinate(state, tooltipEventType, trigger, defaultIndexAsString));\n  var payload = payloadFromRedux;\n  var tooltipPortalFromContext = useTooltipPortal();\n  /*\n   * The user can set `active=true` on the Tooltip in which case the Tooltip will stay always active,\n   * or `active=false` in which case the Tooltip never shows.\n   *\n   * If the `active` prop is not defined then it will show and hide based on mouse or keyboard activity.\n   */\n  var finalIsActive = (_ref = activeFromProps !== null && activeFromProps !== void 0 ? activeFromProps : isActive) !== null && _ref !== void 0 ? _ref : false;\n  var [lastBoundingBox, updateBoundingBox] = useElementOffset([payload, finalIsActive]);\n  var finalLabel = tooltipEventType === 'axis' ? labelFromRedux : undefined;\n  useTooltipChartSynchronisation(tooltipEventType, trigger, coordinate, finalLabel, activeIndex, finalIsActive);\n  var tooltipPortal = portalFromProps !== null && portalFromProps !== void 0 ? portalFromProps : tooltipPortalFromContext;\n  if (tooltipPortal == null || viewBox == null || tooltipEventType == null) {\n    return null;\n  }\n  var finalPayload = payload !== null && payload !== void 0 ? payload : emptyPayload;\n  if (!finalIsActive) {\n    finalPayload = emptyPayload;\n  }\n  if (filterNull && finalPayload.length) {\n    finalPayload = getUniqPayload(finalPayload.filter(entry => entry.value != null && (entry.hide !== true || props.includeHidden)), payloadUniqBy, defaultUniqBy);\n  }\n  var hasPayload = finalPayload.length > 0;\n  var tooltipContentProps = _objectSpread(_objectSpread({}, props), {}, {\n    payload: finalPayload,\n    label: finalLabel,\n    active: finalIsActive,\n    activeIndex,\n    coordinate,\n    accessibilityLayer\n  });\n  var tooltipElement = /*#__PURE__*/React.createElement(TooltipBoundingBox, {\n    allowEscapeViewBox: allowEscapeViewBox,\n    animationDuration: animationDuration,\n    animationEasing: animationEasing,\n    isAnimationActive: isAnimationActive,\n    active: finalIsActive,\n    coordinate: coordinate,\n    hasPayload: hasPayload,\n    offset: offset,\n    position: position,\n    reverseDirection: reverseDirection,\n    useTranslate3d: useTranslate3d,\n    viewBox: viewBox,\n    wrapperStyle: wrapperStyle,\n    lastBoundingBox: lastBoundingBox,\n    innerRef: updateBoundingBox,\n    hasPortalFromProps: Boolean(portalFromProps)\n  }, renderContent(content, tooltipContentProps));\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/createPortal(tooltipElement, tooltipPortal), finalIsActive && /*#__PURE__*/React.createElement(Cursor, {\n    cursor: cursor,\n    tooltipEventType: tooltipEventType,\n    coordinate: coordinate,\n    payload: finalPayload,\n    index: activeIndex\n  }));\n}","export 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};\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(_ref4) {\n  var {\n    width,\n    height\n  } = _ref4;\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};","/**\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 * For n equal to 1, the input array is returned as is.\n * For n greater than the length of the array, an array containing the first element\n * and every nTh element after that (if any) is returned.\n *\n * @param array An input array.\n * @param n A number specifying which elements to take.\n * @returns The result array of the same type as the input array.\n */\nexport function getEveryNth(array, n) {\n  if (n < 1) {\n    return [];\n  }\n  if (n === 1) {\n    return array;\n  }\n  var result = [];\n  for (var i = 0; i < array.length; i += n) {\n    var item = array[i];\n    if (item !== undefined) {\n      result.push(item);\n    }\n  }\n  return result;\n}","import { getAngledRectangleWidth } from './CartesianUtils';\nimport { getEveryNth } from './getEveryNth';\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 getEveryNth(ticks, interval + 1);\n}","import { isVisible } from '../util/TickUtils';\nimport { getEveryNth } from '../util/getEveryNth';\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: getEveryNth(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}\nexport function getEquidistantPreserveEndTicks(sign, boundaries, getTickSize, ticks, minTickGap) {\n  // If the ticks are readonly, then the slice might not be necessary\n  // Reworked logic for getEquidistantPreserveEndTicks\n  var result = (ticks || []).slice();\n  var len = result.length;\n  if (len === 0) {\n    return [];\n  }\n  var {\n    start: initialStart,\n    end\n  } = boundaries;\n\n  // Start with stepsize = 1 (every tick) up to the maximum possible stepsize (len)\n  for (var stepsize = 1; stepsize <= len; stepsize++) {\n    // 1. Calculate the offset so the last tick (index len - 1) is always included in the sequence.\n    var offset = (len - 1) % stepsize;\n    var start = initialStart; // `start` tracks the coordinate of the last successfully drawn tick + gap\n    var ok = true;\n\n    // 2. Iterate through the end-anchored sequence: offset, offset + stepsize, ..., len - 1\n    var _loop2 = function _loop2() {\n        var entry = ticks[index];\n        if (entry == null) {\n          return 0; // continue\n        }\n        var i = index;\n        var size;\n\n        // Use a function to get size, as in the original code\n        var getSize = () => {\n          if (size === undefined) {\n            size = getTickSize(entry, i);\n          }\n          return size;\n        };\n        var tickCoord = entry.coordinate;\n\n        // 3. Apply visibility logic (including the first tick special case)\n        // The reviewer says *not* to unconditionally bypass checks for the last tick.\n        var isShow = index === offset || isVisible(sign, tickCoord, getSize, start, end);\n        if (!isShow) {\n          // If any tick in this end-anchored sequence fails visibility/collision,\n          // reject this stepsize and move to the next iteration (larger stepsize).\n          ok = false;\n          return 1; // break\n        }\n\n        // 4. If showable, update the 'start' coordinate for the next collision check\n        if (isShow) {\n          start = tickCoord + sign * (getSize() / 2 + minTickGap);\n        }\n      },\n      _ret2;\n    for (var index = offset; index < len; index += stepsize) {\n      _ret2 = _loop2();\n      if (_ret2 === 0) continue;\n      if (_ret2 === 1) break;\n    }\n\n    // 5. If the entire sequence for this stepsize passed the visibility check, return the result\n    if (ok) {\n      // Build the final result array explicitly using the validated stepsize and offset.\n      var finalTicks = [];\n      for (var _index = offset; _index < len; _index += stepsize) {\n        var tick = ticks[_index];\n        if (tick != null) {\n          finalTicks.push(tick);\n        }\n      }\n      return finalTicks;\n    }\n  }\n\n  // If no stepsize works (this shouldn't happen unless minTickGap is huge), return an empty array.\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, getEquidistantPreserveEndTicks } 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 initialEntry = result[i];\n    if (initialEntry == null) {\n      return 1; // continue\n    }\n    var entry = initialEntry;\n    var size;\n    var getSize = () => {\n      if (size === undefined) {\n        size = getTickSize(initialEntry, 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    if (entry.tickCoord != null) {\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  };\n  for (var i = len - 1; i >= 0; i--) {\n    if (_loop(i)) continue;\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    if (tail != null) {\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      if (tail.tickCoord != null) {\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    }\n  }\n  var count = preserveEnd ? len - 1 : len;\n  var _loop2 = function _loop2(i) {\n    var initialEntry = result[i];\n    if (initialEntry == null) {\n      return 1; // continue\n    }\n    var entry = initialEntry;\n    var size;\n    var getSize = () => {\n      if (size === undefined) {\n        size = getTickSize(initialEntry, 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    if (entry.tickCoord != null) {\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  };\n  for (var i = 0; i < count; i++) {\n    if (_loop2(i)) continue;\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 tick0 = ticks[0];\n  var tick1 = ticks[1];\n  var sign = ticks.length >= 2 && tick0 != null && tick1 != null ? mathSign(tick1.coordinate - tick0.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 === 'equidistantPreserveEnd') {\n    return getEquidistantPreserveEndTicks(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}","/**\n * Calculates the width of the Y-axis based on the tick labels and the axis label.\n * @param params - The parameters object.\n * @param [params.ticks] - An array-like object of tick elements, each with a `getBoundingClientRect` method.\n * @param [params.label] - The axis label element, with a `getBoundingClientRect` method.\n * @param [params.labelGapWithTick=5] - The gap between the label and the tick.\n * @param [params.tickSize=0] - The length of the tick line.\n * @param [params.tickMargin=0] - The margin between the tick line and the tick text.\n * @returns 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    Array.from(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 = [\"axisLine\", \"width\", \"height\", \"className\", \"hide\", \"ticks\", \"axisType\", \"axisId\"];\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); }\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); }\n/**\n * @fileOverview Cartesian Axis\n */\nimport * as React from 'react';\nimport { useState, useRef, useCallback, forwardRef, useImperativeHandle, useEffect } from 'react';\nimport get from 'es-toolkit/compat/get';\nimport { clsx } from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Text, isValidTextAnchor } from '../component/Text';\nimport { CartesianLabelContextProvider, CartesianLabelFromLabelProp } from '../component/Label';\nimport { isNumber, noop } from '../util/DataUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { getTicks } from './getTicks';\nimport { svgPropertiesNoEvents, svgPropertiesNoEventsFromUnknown } from '../util/svgPropertiesNoEvents';\nimport { getCalculatedYAxisWidth } from '../util/YAxisUtils';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { ZIndexLayer } from '../zIndex/ZIndexLayer';\nimport { DefaultZIndexes } from '../zIndex/DefaultZIndexes';\nimport { getClassNameFromUnknown } from '../util/getClassNameFromUnknown';\nimport { removeRenderedTicks, setRenderedTicks } from '../state/renderedTicksSlice';\nimport { useAppDispatch } from '../state/hooks';\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\nexport var defaultCartesianAxisProps = {\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  zIndex: DefaultZIndexes.axis\n};\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\nfunction AxisLine(axisLineProps) {\n  var {\n    x,\n    y,\n    width,\n    height,\n    orientation,\n    mirror,\n    axisLine,\n    otherSvgProps\n  } = axisLineProps;\n  if (!axisLine) {\n    return null;\n  }\n  var props = _objectSpread(_objectSpread(_objectSpread({}, otherSvgProps), svgPropertiesNoEvents(axisLine)), {}, {\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\n/**\n * Calculate the coordinates of endpoints in ticks.\n * @param data The data of a simple tick.\n * @param x The x-coordinate of the axis.\n * @param y The y-coordinate of the axis.\n * @param width The width of the axis.\n * @param height The height of the axis.\n * @param orientation The orientation of the axis.\n * @param tickSize The length of the tick line.\n * @param mirror If true, the ticks are mirrored.\n * @param tickMargin The margin between the tick line and the tick text.\n * @returns An object with `line` and `tick` coordinates.\n * `line` is the coordinates for the tick line, and `tick` is the coordinate for the tick text.\n */\nfunction getTickLineCoord(data, x, y, width, height, orientation, tickSize, mirror, tickMargin) {\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\n/**\n * @param orientation The orientation of the axis.\n * @param mirror If true, the ticks are mirrored.\n * @returns The text anchor of the tick.\n */\nfunction getTickTextAnchor(orientation, mirror) {\n  switch (orientation) {\n    case 'left':\n      return mirror ? 'start' : 'end';\n    case 'right':\n      return mirror ? 'end' : 'start';\n    default:\n      return 'middle';\n  }\n}\n\n/**\n * @param orientation The orientation of the axis.\n * @param mirror If true, the ticks are mirrored.\n * @returns The vertical text anchor of the tick.\n */\nfunction getTickVerticalAnchor(orientation, mirror) {\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}\nfunction TickItem(props) {\n  var {\n    option,\n    tickProps,\n    value\n  } = props;\n  var tickItem;\n  var combinedClassName = clsx(tickProps.className, 'recharts-cartesian-axis-tick-value');\n  if (/*#__PURE__*/React.isValidElement(option)) {\n    // @ts-expect-error element cloning is not typed\n    tickItem = /*#__PURE__*/React.cloneElement(option, _objectSpread(_objectSpread({}, tickProps), {}, {\n      className: combinedClassName\n    }));\n  } else if (typeof option === 'function') {\n    tickItem = option(_objectSpread(_objectSpread({}, tickProps), {}, {\n      className: combinedClassName\n    }));\n  } else {\n    var className = 'recharts-cartesian-axis-tick-value';\n    if (typeof option !== 'boolean') {\n      className = clsx(className, getClassNameFromUnknown(option));\n    }\n    tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, tickProps, {\n      className: className\n    }), value);\n  }\n  return tickItem;\n}\nfunction RenderedTicksReporter(_ref) {\n  var {\n    ticks,\n    axisType,\n    axisId\n  } = _ref;\n  var dispatch = useAppDispatch();\n  useEffect(() => {\n    if (axisId == null || axisType == null) {\n      return noop;\n    }\n    // Filter out irrelevant internal properties before exposing externally\n    var tickItems = ticks.map(tick => ({\n      value: tick.value,\n      coordinate: tick.coordinate,\n      offset: tick.offset,\n      index: tick.index\n    }));\n    dispatch(setRenderedTicks({\n      ticks: tickItems,\n      axisId,\n      axisType\n    }));\n    return () => {\n      dispatch(removeRenderedTicks({\n        axisId,\n        axisType\n      }));\n    };\n  }, [dispatch, ticks, axisId, axisType]);\n  return null;\n}\nvar Ticks = /*#__PURE__*/forwardRef((props, ref) => {\n  var {\n    ticks = [],\n    tick,\n    tickLine,\n    stroke,\n    tickFormatter,\n    unit,\n    padding,\n    tickTextProps,\n    orientation,\n    mirror,\n    x,\n    y,\n    width,\n    height,\n    tickSize,\n    tickMargin,\n    fontSize,\n    letterSpacing,\n    getTicksConfig,\n    events,\n    axisType,\n    axisId\n  } = props;\n  // @ts-expect-error some properties are optional in props but required in getTicks\n  var finalTicks = getTicks(_objectSpread(_objectSpread({}, getTicksConfig), {}, {\n    ticks\n  }), fontSize, letterSpacing);\n  var axisProps = svgPropertiesNoEvents(getTicksConfig);\n  var customTickProps = svgPropertiesNoEventsFromUnknown(tick);\n  // Use user-provided textAnchor if available, otherwise calculate from orientation/mirror\n  var textAnchor = isValidTextAnchor(axisProps.textAnchor) ? axisProps.textAnchor : getTickTextAnchor(orientation, mirror);\n  var verticalAnchor = getTickVerticalAnchor(orientation, mirror);\n  var tickLinePropsObject = {};\n  if (typeof tickLine === 'object') {\n    tickLinePropsObject = tickLine;\n  }\n  var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n    fill: 'none'\n  }, tickLinePropsObject);\n  var tickLineCoords = finalTicks.map(entry => _objectSpread({\n    entry\n  }, getTickLineCoord(entry, x, y, width, height, orientation, tickSize, mirror, tickMargin)));\n  var tickLines = tickLineCoords.map(_ref2 => {\n    var {\n      entry,\n      line: lineCoord\n    } = _ref2;\n    return /*#__PURE__*/React.createElement(Layer, {\n      className: \"recharts-cartesian-axis-tick\",\n      key: \"tick-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n    }, tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n      className: clsx('recharts-cartesian-axis-tick-line', get(tickLine, 'className'))\n    })));\n  });\n  var tickLabels = tickLineCoords.map((_ref3, i) => {\n    var _ref4, _tickTextProps$angle;\n    var {\n      entry,\n      tick: tickCoord\n    } = _ref3;\n    // @ts-expect-error we're not checking that padding and orientation types are in sync\n    var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n      verticalAnchor\n    }, axisProps), {}, {\n      textAnchor,\n      stroke: 'none',\n      fill: stroke\n    }, tickCoord), {}, {\n      index: i,\n      payload: entry,\n      visibleTicksCount: finalTicks.length,\n      tickFormatter,\n      padding\n    }, tickTextProps), {}, {\n      angle: (_ref4 = (_tickTextProps$angle = tickTextProps === null || tickTextProps === void 0 ? void 0 : tickTextProps.angle) !== null && _tickTextProps$angle !== void 0 ? _tickTextProps$angle : axisProps.angle) !== null && _ref4 !== void 0 ? _ref4 : 0\n    });\n\n    // @ts-expect-error customTickProps is contributing unknown props which we don't type properly\n    var finalTickProps = _objectSpread(_objectSpread({}, tickProps), customTickProps);\n    return /*#__PURE__*/React.createElement(Layer, _extends({\n      className: \"recharts-cartesian-axis-tick-label\",\n      key: \"tick-label-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n    }, adaptEventsOfChild(events, entry, i)), tick && /*#__PURE__*/React.createElement(TickItem, {\n      option: tick,\n      tickProps: finalTickProps,\n      value: \"\".concat(typeof tickFormatter === 'function' ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')\n    }));\n  });\n  return /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-axis-ticks recharts-\".concat(axisType, \"-ticks\")\n  }, /*#__PURE__*/React.createElement(RenderedTicksReporter, {\n    ticks: finalTicks,\n    axisId: axisId,\n    axisType: axisType\n  }), tickLabels.length > 0 && /*#__PURE__*/React.createElement(ZIndexLayer, {\n    zIndex: DefaultZIndexes.label\n  }, /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-axis-tick-labels recharts-\".concat(axisType, \"-tick-labels\"),\n    ref: ref\n  }, tickLabels)), tickLines.length > 0 && /*#__PURE__*/React.createElement(\"g\", {\n    className: \"recharts-cartesian-axis-tick-lines recharts-\".concat(axisType, \"-tick-lines\")\n  }, tickLines));\n});\nvar CartesianAxisComponent = /*#__PURE__*/forwardRef((props, ref) => {\n  var {\n      axisLine,\n      width,\n      height,\n      className,\n      hide,\n      ticks,\n      axisType,\n      axisId\n    } = props,\n    rest = _objectWithoutProperties(props, _excluded);\n  var [fontSize, setFontSize] = useState('');\n  var [letterSpacing, setLetterSpacing] = useState('');\n  var tickRefs = useRef(null);\n  useImperativeHandle(ref, () => ({\n    getCalculatedWidth: () => {\n      var _props$labelRef;\n      return getCalculatedYAxisWidth({\n        ticks: tickRefs.current,\n        label: (_props$labelRef = props.labelRef) === null || _props$labelRef === void 0 ? void 0 : _props$labelRef.current,\n        labelGapWithTick: 5,\n        tickSize: props.tickSize,\n        tickMargin: props.tickMargin\n      });\n    }\n  }));\n  var layerRef = useCallback(el => {\n    if (el) {\n      var tickNodes = el.getElementsByClassName('recharts-cartesian-axis-tick-value');\n      tickRefs.current = tickNodes;\n      var tick = tickNodes[0];\n      if (tick) {\n        var computedStyle = window.getComputedStyle(tick);\n        var calculatedFontSize = computedStyle.fontSize;\n        var calculatedLetterSpacing = computedStyle.letterSpacing;\n        if (calculatedFontSize !== fontSize || calculatedLetterSpacing !== letterSpacing) {\n          setFontSize(calculatedFontSize);\n          setLetterSpacing(calculatedLetterSpacing);\n        }\n      }\n    }\n  }, [fontSize, letterSpacing]);\n  if (hide) {\n    return null;\n  }\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(ZIndexLayer, {\n    zIndex: props.zIndex\n  }, /*#__PURE__*/React.createElement(Layer, {\n    className: clsx('recharts-cartesian-axis', className)\n  }, /*#__PURE__*/React.createElement(AxisLine, {\n    x: props.x,\n    y: props.y,\n    width: width,\n    height: height,\n    orientation: props.orientation,\n    mirror: props.mirror,\n    axisLine: axisLine,\n    otherSvgProps: svgPropertiesNoEvents(props)\n  }), /*#__PURE__*/React.createElement(Ticks, {\n    ref: layerRef,\n    axisType: axisType,\n    events: rest,\n    fontSize: fontSize,\n    getTicksConfig: props,\n    height: props.height,\n    letterSpacing: letterSpacing,\n    mirror: props.mirror,\n    orientation: props.orientation,\n    padding: props.padding,\n    stroke: props.stroke,\n    tick: props.tick,\n    tickFormatter: props.tickFormatter,\n    tickLine: props.tickLine,\n    tickMargin: props.tickMargin,\n    tickSize: props.tickSize,\n    tickTextProps: props.tickTextProps,\n    ticks: ticks,\n    unit: props.unit,\n    width: props.width,\n    x: props.x,\n    y: props.y,\n    axisId: axisId\n  }), /*#__PURE__*/React.createElement(CartesianLabelContextProvider, {\n    x: props.x,\n    y: props.y,\n    width: props.width,\n    height: props.height,\n    lowerWidth: props.width,\n    upperWidth: props.width\n  }, /*#__PURE__*/React.createElement(CartesianLabelFromLabelProp, {\n    label: props.label,\n    labelRef: props.labelRef\n  }), props.children)));\n});\n\n/**\n * @deprecated\n *\n * This component is not meant to be used directly in app code.\n * Use XAxis or YAxis instead.\n *\n * Starting from Recharts v4.0 we will make this component internal only.\n */\nexport var CartesianAxis = /*#__PURE__*/React.forwardRef((outsideProps, ref) => {\n  var props = resolveDefaultProps(outsideProps, defaultCartesianAxisProps);\n  return /*#__PURE__*/React.createElement(CartesianAxisComponent, _extends({}, props, {\n    ref: ref\n  }));\n});\nCartesianAxis.displayName = 'CartesianAxis';","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; }\nimport * as React from 'react';\nimport { warn } from '../util/LogUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { getCoordinatesOfGrid, getTicksOfAxis } from '../util/ChartUtils';\nimport { getTicks } from './getTicks';\nimport { defaultCartesianAxisProps } from './CartesianAxis';\nimport { useChartHeight, useChartWidth, useOffsetInternal } from '../context/chartLayoutContext';\nimport { selectAxisPropsNeededForCartesianGridTicksGenerator } from '../state/selectors/axisSelectors';\nimport { useAppSelector } from '../state/hooks';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';\nimport { isPositiveNumber } from '../util/isWellBehavedNumber';\nimport { ZIndexLayer } from '../zIndex/ZIndexLayer';\nimport { DefaultZIndexes } from '../zIndex/DefaultZIndexes';\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 LineItem(_ref) {\n  var {\n    option,\n    lineItemProps\n  } = _ref;\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, lineItemProps);\n  } else if (typeof option === 'function') {\n    lineItem = option(lineItemProps);\n  } else {\n    var _svgPropertiesNoEvent;\n    var {\n        x1,\n        y1,\n        x2,\n        y2,\n        key\n      } = lineItemProps,\n      others = _objectWithoutProperties(lineItemProps, _excluded);\n    var _ref2 = (_svgPropertiesNoEvent = svgPropertiesNoEvents(others)) !== null && _svgPropertiesNoEvent !== void 0 ? _svgPropertiesNoEvent : {},\n      {\n        offset: __\n      } = _ref2,\n      restOfFilteredProps = _objectWithoutProperties(_ref2, _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 /*#__PURE__*/React.createElement(LineItem, {\n      key: \"line-\".concat(i),\n      option: horizontal,\n      lineItemProps: lineItemProps\n    });\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 /*#__PURE__*/React.createElement(LineItem, {\n      option: vertical,\n      lineItemProps: lineItemProps,\n      key: \"line-\".concat(i)\n    });\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 || horizontalPoints == null) {\n    return null;\n  }\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 nextPoint = roundedSortedHorizontalPoints[i + 1];\n    var lastStripe = nextPoint == null;\n    var lineHeight = lastStripe ? y + height - entry : nextPoint - 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),\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 nextPoint = roundedSortedVerticalPoints[i + 1];\n    var lastStripe = nextPoint == null;\n    var lineWidth = lastStripe ? x + width - entry : nextPoint - 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),\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 = (_ref3, syncWithTicks) => {\n  var {\n    xAxis,\n    width,\n    height,\n    offset\n  } = _ref3;\n  return getCoordinatesOfGrid(getTicks(_objectSpread(_objectSpread(_objectSpread({}, defaultCartesianAxisProps), 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 = (_ref4, syncWithTicks) => {\n  var {\n    yAxis,\n    width,\n    height,\n    offset\n  } = _ref4;\n  return getCoordinatesOfGrid(getTicks(_objectSpread(_objectSpread(_objectSpread({}, defaultCartesianAxisProps), 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};\nexport var defaultCartesianGridProps = {\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  syncWithTicks: false,\n  zIndex: DefaultZIndexes.grid\n};\n\n/**\n * Renders background grid with lines and fill colors in a Cartesian chart.\n *\n * @consumes CartesianChartContext\n */\nexport function CartesianGrid(props) {\n  var chartWidth = useChartWidth();\n  var chartHeight = useChartHeight();\n  var offset = useOffsetInternal();\n  var propsIncludingDefaults = _objectSpread(_objectSpread({}, resolveDefaultProps(props, defaultCartesianGridProps)), {}, {\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 (!isPositiveNumber(width) || !isPositiveNumber(height) || !isNumber(x) || !isNumber(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 !== null && chartWidth !== void 0 ? chartWidth : width,\n      height: chartHeight !== null && chartHeight !== void 0 ? chartHeight : height,\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 !== null && chartWidth !== void 0 ? chartWidth : width,\n      height: chartHeight !== null && chartHeight !== void 0 ? chartHeight : height,\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(ZIndexLayer, {\n    zIndex: propsIncludingDefaults.zIndex\n  }, /*#__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\"];\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, useContext, useEffect, useRef } from 'react';\nimport { addErrorBar, removeErrorBar, replaceErrorBar } from '../state/errorBarSlice';\nimport { useAppDispatch } from '../state/hooks';\nimport { useGraphicalItemId } from './RegisterGraphicalItemId';\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 function ReportErrorBarSettings(props) {\n  var dispatch = useAppDispatch();\n  var graphicalItemId = useGraphicalItemId();\n  var prevPropsRef = useRef(null);\n  useEffect(() => {\n    if (graphicalItemId == null) {\n      // ErrorBar outside a graphical item context does not do anything.\n      return;\n    }\n    if (prevPropsRef.current === null) {\n      dispatch(addErrorBar({\n        itemId: graphicalItemId,\n        errorBar: props\n      }));\n    } else if (prevPropsRef.current !== props) {\n      dispatch(replaceErrorBar({\n        itemId: graphicalItemId,\n        prev: prevPropsRef.current,\n        next: props\n      }));\n    }\n    prevPropsRef.current = props;\n  }, [dispatch, graphicalItemId, props]);\n  useEffect(() => {\n    return () => {\n      if (prevPropsRef.current != null && graphicalItemId != null) {\n        dispatch(removeErrorBar({\n          itemId: graphicalItemId,\n          errorBar: prevPropsRef.current\n        }));\n        prevPropsRef.current = null;\n      }\n    };\n  }, [dispatch, graphicalItemId]);\n  return null;\n}","import * as React from 'react';\nimport { useAppSelector } from '../state/hooks';\nimport { implicitXAxis, implicitYAxis, selectXAxisSettings, selectYAxisSettings } from '../state/selectors/axisSelectors';\nimport { usePlotArea } from '../hooks';\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 plotArea = usePlotArea();\n  var {\n    needClipX,\n    needClipY,\n    needClip\n  } = useNeedsClip(xAxisId, yAxisId);\n  if (!needClip || !plotArea) {\n    return null;\n  }\n  var {\n    x,\n    y,\n    width,\n    height\n  } = plotArea;\n  return /*#__PURE__*/React.createElement(\"clipPath\", {\n    id: \"clipPath-\".concat(clipPathId)\n  }, /*#__PURE__*/React.createElement(\"rect\", {\n    x: needClipX ? x : x - width / 2,\n    y: needClipY ? y : y - height / 2,\n    width: needClipX ? width : width * 2,\n    height: needClipY ? height : height * 2\n  }));\n}","import { defaultAxisId } from '../cartesianAxisSlice';\nexport function selectXAxisIdFromGraphicalItemId(state, id) {\n  var _state$graphicalItems, _state$graphicalItems2;\n  return (_state$graphicalItems = (_state$graphicalItems2 = state.graphicalItems.cartesianItems.find(item => item.id === id)) === null || _state$graphicalItems2 === void 0 ? void 0 : _state$graphicalItems2.xAxisId) !== null && _state$graphicalItems !== void 0 ? _state$graphicalItems : defaultAxisId;\n}\nexport function selectYAxisIdFromGraphicalItemId(state, id) {\n  var _state$graphicalItems3, _state$graphicalItems4;\n  return (_state$graphicalItems3 = (_state$graphicalItems4 = state.graphicalItems.cartesianItems.find(item => item.id === id)) === null || _state$graphicalItems4 === void 0 ? void 0 : _state$graphicalItems4.yAxisId) !== null && _state$graphicalItems3 !== void 0 ? _state$graphicalItems3 : defaultAxisId;\n}","var _excluded = [\"domain\", \"range\"],\n  _excluded2 = [\"domain\", \"range\"];\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 { propsAreEqual } from './propsAreEqual';\nfunction shortArraysAreEqual(arr1, arr2) {\n  if (arr1 === arr2) {\n    return true;\n  }\n  if (Array.isArray(arr1) && arr1.length === 2 && Array.isArray(arr2) && arr2.length === 2) {\n    return arr1[0] === arr2[0] && arr1[1] === arr2[1];\n  }\n  return false;\n}\n\n/**\n * Usually we would not compare array props deeply for performance consideration.\n * However, for axis props, domain is sometimes defined as a two-elements array, and range is always\n * a two-elements array. So we can do a shallow comparison for the rest props and a shallow\n * comparison for these two array props.\n * @param prevProps\n * @param nextProps\n */\nexport function axisPropsAreEqual(prevProps, nextProps) {\n  if (prevProps === nextProps) {\n    return true;\n  }\n  var {\n      domain: prevDomain,\n      range: prevRange\n    } = prevProps,\n    prevRest = _objectWithoutProperties(prevProps, _excluded);\n  var {\n      domain: nextDomain,\n      range: nextRange\n    } = nextProps,\n    nextRest = _objectWithoutProperties(nextProps, _excluded2);\n  if (!shortArraysAreEqual(prevDomain, nextDomain)) {\n    return false;\n  }\n  if (!shortArraysAreEqual(prevRange, nextRange)) {\n    return false;\n  }\n  return propsAreEqual(prevRest, nextRest);\n}","var _excluded = [\"type\"],\n  _excluded2 = [\"dangerouslySetInnerHTML\", \"ticks\", \"scale\"],\n  _excluded3 = [\"id\", \"scale\"];\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 X Axis\n */\nimport * as React from 'react';\nimport { useLayoutEffect, useMemo, useRef } from 'react';\nimport { clsx } from 'clsx';\nimport { CartesianAxis, defaultCartesianAxisProps } from './CartesianAxis';\nimport { useAppDispatch, useAppSelector } from '../state/hooks';\nimport { addXAxis, replaceXAxis, removeXAxis } from '../state/cartesianAxisSlice';\nimport { implicitXAxis, selectTicksOfAxis, selectXAxisPosition, selectXAxisSettingsNoDefaults, selectXAxisSize } from '../state/selectors/axisSelectors';\nimport { selectAxisViewBox } from '../state/selectors/selectChartOffsetInternal';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { axisPropsAreEqual } from '../util/axisPropsAreEqual';\nimport { useCartesianChartLayout } from '../context/chartLayoutContext';\nimport { getAxisTypeBasedOnLayout } from '../util/getAxisTypeBasedOnLayout';\nfunction SetXAxisSettings(props) {\n  var dispatch = useAppDispatch();\n  var prevSettingsRef = useRef(null);\n  var layout = useCartesianChartLayout();\n  var {\n      type: typeFromProps\n    } = props,\n    restProps = _objectWithoutProperties(props, _excluded);\n  var evaluatedType = getAxisTypeBasedOnLayout(layout, 'xAxis', typeFromProps);\n  var settings = useMemo(() => {\n    if (evaluatedType == null) {\n      return undefined;\n    }\n    return _objectSpread(_objectSpread({}, restProps), {}, {\n      type: evaluatedType\n    });\n  }, [restProps, evaluatedType]);\n  useLayoutEffect(() => {\n    if (settings == null) {\n      return;\n    }\n    if (prevSettingsRef.current === null) {\n      dispatch(addXAxis(settings));\n    } else if (prevSettingsRef.current !== settings) {\n      dispatch(replaceXAxis({\n        prev: prevSettingsRef.current,\n        next: settings\n      }));\n    }\n    prevSettingsRef.current = settings;\n  }, [settings, dispatch]);\n  useLayoutEffect(() => {\n    return () => {\n      if (prevSettingsRef.current) {\n        dispatch(removeXAxis(prevSettingsRef.current));\n        prevSettingsRef.current = null;\n      }\n    };\n  }, [dispatch]);\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 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  /*\n   * Here we select settings from the store and prefer to use them instead of the actual props\n   * so that the chart is consistent. If we used the props directly, some components will use axis settings\n   * from state and some from props and because there is a render step between these two, they might be showing different things.\n   * https://github.com/recharts/recharts/issues/6257\n   */\n  var synchronizedSettings = useAppSelector(state => selectXAxisSettingsNoDefaults(state, xAxisId));\n  if (axisSize == null || position == null || synchronizedSettings == null) {\n    return null;\n  }\n  var {\n      dangerouslySetInnerHTML,\n      ticks,\n      scale: del\n    } = props,\n    allOtherProps = _objectWithoutProperties(props, _excluded2);\n  var {\n      id,\n      scale: del2\n    } = synchronizedSettings,\n    restSynchronizedSettings = _objectWithoutProperties(synchronizedSettings, _excluded3);\n  return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, allOtherProps, restSynchronizedSettings, {\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    axisType: axisType,\n    axisId: xAxisId\n  }));\n};\nexport var xAxisDefaultProps = {\n  allowDataOverflow: implicitXAxis.allowDataOverflow,\n  allowDecimals: implicitXAxis.allowDecimals,\n  allowDuplicatedCategory: implicitXAxis.allowDuplicatedCategory,\n  angle: implicitXAxis.angle,\n  axisLine: defaultCartesianAxisProps.axisLine,\n  height: implicitXAxis.height,\n  hide: false,\n  includeHidden: implicitXAxis.includeHidden,\n  interval: implicitXAxis.interval,\n  label: false,\n  minTickGap: implicitXAxis.minTickGap,\n  mirror: implicitXAxis.mirror,\n  orientation: implicitXAxis.orientation,\n  padding: implicitXAxis.padding,\n  reversed: implicitXAxis.reversed,\n  scale: implicitXAxis.scale,\n  tick: implicitXAxis.tick,\n  tickCount: implicitXAxis.tickCount,\n  tickLine: defaultCartesianAxisProps.tickLine,\n  tickSize: defaultCartesianAxisProps.tickSize,\n  type: implicitXAxis.type,\n  niceTicks: implicitXAxis.niceTicks,\n  xAxisId: 0\n};\nvar XAxisSettingsDispatcher = outsideProps => {\n  var props = resolveDefaultProps(outsideProps, xAxisDefaultProps);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SetXAxisSettings, {\n    allowDataOverflow: props.allowDataOverflow,\n    allowDecimals: props.allowDecimals,\n    allowDuplicatedCategory: props.allowDuplicatedCategory,\n    angle: props.angle,\n    dataKey: props.dataKey,\n    domain: props.domain,\n    height: props.height,\n    hide: props.hide,\n    id: props.xAxisId,\n    includeHidden: props.includeHidden,\n    interval: props.interval,\n    minTickGap: props.minTickGap,\n    mirror: props.mirror,\n    name: props.name,\n    orientation: props.orientation,\n    padding: props.padding,\n    reversed: props.reversed,\n    scale: props.scale,\n    tick: props.tick,\n    tickCount: props.tickCount,\n    tickFormatter: props.tickFormatter,\n    ticks: props.ticks,\n    type: props.type,\n    unit: props.unit,\n    niceTicks: props.niceTicks\n  }), /*#__PURE__*/React.createElement(XAxisImpl, props));\n};\n\n/**\n * @consumes CartesianViewBoxContext\n * @provides CartesianLabelContext\n */\nexport var XAxis = /*#__PURE__*/React.memo(XAxisSettingsDispatcher, axisPropsAreEqual);\n// @ts-expect-error we need to set the displayName for debugging purposes\n\nXAxis.displayName = 'XAxis';","var _excluded = [\"type\"],\n  _excluded2 = [\"dangerouslySetInnerHTML\", \"ticks\", \"scale\"],\n  _excluded3 = [\"id\", \"scale\"];\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 { isValidElement, useLayoutEffect, useMemo, useRef } from 'react';\nimport { clsx } from 'clsx';\nimport { CartesianAxis, defaultCartesianAxisProps } from './CartesianAxis';\nimport { addYAxis, replaceYAxis, removeYAxis, updateYAxisWidth } from '../state/cartesianAxisSlice';\nimport { useAppDispatch, useAppSelector } from '../state/hooks';\nimport { implicitYAxis, selectTicksOfAxis, selectYAxisPosition, selectYAxisSettingsNoDefaults, selectYAxisSize } from '../state/selectors/axisSelectors';\nimport { selectAxisViewBox } from '../state/selectors/selectChartOffsetInternal';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { isLabelContentAFunction } from '../component/Label';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { axisPropsAreEqual } from '../util/axisPropsAreEqual';\nimport { useCartesianChartLayout } from '../context/chartLayoutContext';\nimport { getAxisTypeBasedOnLayout } from '../util/getAxisTypeBasedOnLayout';\nfunction SetYAxisSettings(props) {\n  var dispatch = useAppDispatch();\n  var prevSettingsRef = useRef(null);\n  var layout = useCartesianChartLayout();\n  var {\n      type: typeFromProps\n    } = props,\n    restProps = _objectWithoutProperties(props, _excluded);\n  var evaluatedType = getAxisTypeBasedOnLayout(layout, 'yAxis', typeFromProps);\n  var settings = useMemo(() => {\n    if (evaluatedType == null) {\n      return undefined;\n    }\n    return _objectSpread(_objectSpread({}, restProps), {}, {\n      type: evaluatedType\n    });\n  }, [evaluatedType, restProps]);\n  useLayoutEffect(() => {\n    if (settings == null) {\n      return;\n    }\n    if (prevSettingsRef.current === null) {\n      dispatch(addYAxis(settings));\n    } else if (prevSettingsRef.current !== settings) {\n      dispatch(replaceYAxis({\n        prev: prevSettingsRef.current,\n        next: settings\n      }));\n    }\n    prevSettingsRef.current = settings;\n  }, [settings, dispatch]);\n  useLayoutEffect(() => {\n    return () => {\n      if (prevSettingsRef.current) {\n        dispatch(removeYAxis(prevSettingsRef.current));\n        prevSettingsRef.current = null;\n      }\n    };\n  }, [dispatch]);\n  return null;\n}\nfunction YAxisImpl(props) {\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 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  /*\n   * Here we select settings from the store and prefer to use them instead of the actual props\n   * so that the chart is consistent. If we used the props directly, some components will use axis settings\n   * from state and some from props and because there is a render step between these two, they might be showing different things.\n   * https://github.com/recharts/recharts/issues/6257\n   */\n  var synchronizedSettings = useAppSelector(state => selectYAxisSettingsNoDefaults(state, yAxisId));\n  useLayoutEffect(() => {\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) || synchronizedSettings == null) {\n      return;\n    }\n    var axisComponent = cartesianAxisRef.current;\n    if (!axisComponent) {\n      return;\n    }\n    var updatedYAxisWidth = axisComponent.getCalculatedWidth();\n\n    // if the width has changed, dispatch an action to update the width\n    if (Math.round(axisSize.width) !== Math.round(updatedYAxisWidth)) {\n      dispatch(updateYAxisWidth({\n        id: yAxisId,\n        width: updatedYAxisWidth\n      }));\n    }\n  }, [\n  // The dependency on cartesianAxisRef.current is not needed because useLayoutEffect will run after every render.\n  // The ref will be populated by then.\n  // To re-run this effect when ticks change, we can depend on the ticks array from the store.\n  cartesianTickItems, axisSize, dispatch, label, yAxisId, width, synchronizedSettings]);\n  if (axisSize == null || position == null || synchronizedSettings == null) {\n    return null;\n  }\n  var {\n      dangerouslySetInnerHTML,\n      ticks,\n      scale: del\n    } = props,\n    allOtherProps = _objectWithoutProperties(props, _excluded2);\n  var {\n      id,\n      scale: del2\n    } = synchronizedSettings,\n    restSynchronizedSettings = _objectWithoutProperties(synchronizedSettings, _excluded3);\n  return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, allOtherProps, restSynchronizedSettings, {\n    ref: cartesianAxisRef,\n    labelRef: labelRef,\n    x: position.x,\n    y: position.y,\n    tickTextProps: width === 'auto' ? {\n      width: undefined\n    } : {\n      width\n    },\n    width: axisSize.width,\n    height: axisSize.height,\n    className: clsx(\"recharts-\".concat(axisType, \" \").concat(axisType), className),\n    viewBox: viewBox,\n    ticks: cartesianTickItems,\n    axisType: axisType,\n    axisId: yAxisId\n  }));\n}\nexport var yAxisDefaultProps = {\n  allowDataOverflow: implicitYAxis.allowDataOverflow,\n  allowDecimals: implicitYAxis.allowDecimals,\n  allowDuplicatedCategory: implicitYAxis.allowDuplicatedCategory,\n  angle: implicitYAxis.angle,\n  axisLine: defaultCartesianAxisProps.axisLine,\n  hide: false,\n  includeHidden: implicitYAxis.includeHidden,\n  interval: implicitYAxis.interval,\n  label: false,\n  minTickGap: implicitYAxis.minTickGap,\n  mirror: implicitYAxis.mirror,\n  orientation: implicitYAxis.orientation,\n  padding: implicitYAxis.padding,\n  reversed: implicitYAxis.reversed,\n  scale: implicitYAxis.scale,\n  tick: implicitYAxis.tick,\n  tickCount: implicitYAxis.tickCount,\n  tickLine: defaultCartesianAxisProps.tickLine,\n  tickSize: defaultCartesianAxisProps.tickSize,\n  type: implicitYAxis.type,\n  niceTicks: implicitYAxis.niceTicks,\n  width: implicitYAxis.width,\n  yAxisId: 0\n};\nvar YAxisSettingsDispatcher = outsideProps => {\n  var props = resolveDefaultProps(outsideProps, yAxisDefaultProps);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SetYAxisSettings, {\n    interval: props.interval,\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,\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,\n    minTickGap: props.minTickGap,\n    tick: props.tick,\n    tickFormatter: props.tickFormatter,\n    niceTicks: props.niceTicks\n  }), /*#__PURE__*/React.createElement(YAxisImpl, props));\n};\n\n/**\n * @consumes CartesianViewBoxContext\n * @provides CartesianLabelContext\n */\nexport var YAxis = /*#__PURE__*/React.memo(YAxisSettingsDispatcher, axisPropsAreEqual);\n// @ts-expect-error we need to set the displayName for debugging purposes\n\nYAxis.displayName = 'YAxis';","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); }\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 { forwardRef } from 'react';\nimport { RechartsStoreProvider } from '../state/RechartsStoreProvider';\nimport { ChartDataContextProvider } from '../context/chartDataContext';\nimport { ReportMainChartProps } from '../state/ReportMainChartProps';\nimport { ReportChartProps } from '../state/ReportChartProps';\nimport { ReportEventSettings } from '../state/ReportEventSettings';\nimport { CategoricalChart } from './CategoricalChart';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { initialEventSettingsState } from '../state/eventSettingsSlice';\nvar defaultMargin = {\n  top: 5,\n  right: 5,\n  bottom: 5,\n  left: 5\n};\nexport var defaultCartesianChartProps = _objectSpread({\n  accessibilityLayer: true,\n  barCategoryGap: '10%',\n  barGap: 4,\n  layout: 'horizontal',\n  margin: defaultMargin,\n  responsive: false,\n  reverseStackOrder: false,\n  stackOffset: 'none',\n  syncMethod: 'index'\n}, initialEventSettingsState);\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, defaultCartesianChartProps);\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    layout: rootChartProps.layout,\n    margin: rootChartProps.margin\n  }), /*#__PURE__*/React.createElement(ReportEventSettings, {\n    throttleDelay: rootChartProps.throttleDelay,\n    throttledEvents: rootChartProps.throttledEvents\n  }), /*#__PURE__*/React.createElement(ReportChartProps, {\n    baseValue: rootChartProps.baseValue,\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    reverseStackOrder: rootChartProps.reverseStackOrder\n  }), /*#__PURE__*/React.createElement(CategoricalChart, _extends({}, rootChartProps, {\n    ref: ref\n  })));\n});","import React from 'react';\nimport { formatExact } from '../utils/formatNumber';\n\n/**\n * Tooltip común de los gráficos del tablero.\n *\n * Existe por dos motivos que el tooltip por defecto de recharts no cubre:\n *\n *  - <b>Muestra el valor EXACTO, sin abreviar.</b> El eje y las etiquetas abrevian\n *    porque no hay sitio; el tooltip es justamente donde el usuario va a buscar la\n *    cifra completa, y devolverle \"1,25M\" otra vez no le sirve de nada.\n *  - <b>Usa los tokens del tablero.</b> El de recharts trae fondo blanco cableado,\n *    así que en modo oscuro aparecía un rectángulo blanco sobre el gráfico.\n */\n/** Una entrada del payload que recharts inyecta al tooltip. */\ninterface TooltipEntry {\n  name?: string;\n  value?: number | string;\n  color?: string;\n}\n\n/**\n * Los tres primeros los inyecta recharts en tiempo de ejecución al pasar este\n * componente como `content`; se declaran opcionales porque el consumidor no los\n * escribe a mano. `TooltipProps` de recharts no se extiende aquí: su forma varía\n * entre versiones menores y encadenaba errores de tipo sin aportar seguridad real.\n */\ninterface ChartTooltipProps {\n  active?: boolean;\n  payload?: TooltipEntry[];\n  label?: string | number;\n  currency?: string | null;\n  /** Total de la serie, para poder mostrar el porcentaje. */\n  total?: number;\n}\n\nexport const ChartTooltip: React.FC<ChartTooltipProps> = ({\n  active,\n  payload,\n  label,\n  currency = null,\n  total = 0,\n}) => {\n  if (!active || !payload || payload.length === 0) return null;\n\n  return (\n    <div\n      className=\"rounded-lg px-3 py-2 text-[12px] shadow-lg border\"\n      style={{\n        background: 'var(--dash-surface-card)',\n        borderColor: 'var(--dash-border)',\n        color: 'var(--dash-text-primary)',\n      }}\n    >\n      {label != null && label !== '' && (\n        <p className=\"mb-1 font-medium\" style={{ color: 'var(--dash-text-primary)' }}>\n          {String(label)}\n        </p>\n      )}\n      {payload.map((entry, index) => {\n        /**\n         * Cadena numérica incluida: hay endpoints que serializan todo como string y el resto\n         * del módulo ya lo tolera (`KpiVentasHoy.toNum`, `ChartBarHorizontal`, `ChartDonut`).\n         * Con el `: 0` anterior, esos gráficos se pintaban bien y su tooltip decía «$ 0».\n         */\n        const parsed = typeof entry.value === 'number'\n          ? entry.value\n          : Number(String(entry.value ?? '').replace(/,/g, ''));\n        const value = Number.isFinite(parsed) ? parsed : 0;\n        const share = total > 0 ? (value / total) * 100 : null;\n\n        return (\n          <div key={index} className=\"flex items-center gap-2\">\n            <span\n              className=\"w-2 h-2 rounded-sm flex-shrink-0\"\n              style={{ background: entry.color ?? 'var(--dash-accent)' }}\n            />\n            <span style={{ color: 'var(--dash-text-secondary)' }}>{entry.name}</span>\n            <span className=\"ml-auto pl-3\" style={{ fontVariantNumeric: 'tabular-nums' }}>\n              {formatExact(value, { currency })}\n              {share !== null && (\n                <span style={{ color: 'var(--dash-text-muted)' }}>{` · ${share.toFixed(0)} %`}</span>\n              )}\n            </span>\n          </div>\n        );\n      })}\n    </div>\n  );\n};\n","/**\n * Puente de tokens del tablero de indicadores.\n *\n * <b>Por qué existe.</b> El tablero pinta con dos tecnologías que no se hablan:\n *\n *  - Los contenedores usan clases de Tailwind, que resuelven variables CSS solas.\n *  - Los gráficos usan `recharts`, que recibe los colores como **prop string**\n *    (`fill`, `stroke`) y no entiende una clase de utilidad.\n *\n * Sin un puente, cada widget de gráfico terminaría con hexadecimales cableados —\n * que es exactamente lo que hay hoy en `chartColors.ts`— y el modo oscuro no\n * podría cambiarlos. El kit ya resolvió este mismo problema una vez con el puente\n * `--mpv-*` de MasterPatternView, y esto sigue ese precedente.\n *\n * <b>La regla del módulo:</b> ningún componente del tablero declara un hexadecimal.\n * Los colores salen de aquí o de `CATEGORICAL_PALETTE`.\n */\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\n/** Los tokens que el tablero consume. Cada uno tiene su `--dash-*` en `index.css`. */\nexport const DASHBOARD_TOKEN_NAMES = [\n  'accent',\n  'success',\n  'danger',\n  'text-primary',\n  'text-secondary',\n  'text-muted',\n  'surface-card',\n  'surface-page',\n  'border',\n  'border-strong',\n  'bg-accent',\n] as const;\n\nexport type DashboardTokenName = (typeof DASHBOARD_TOKEN_NAMES)[number];\n\nexport type DashboardTokens = Record<DashboardTokenName, string>;\n\n/**\n * Valores de respaldo, en claro.\n *\n * No son \"el diseño\": son el seguro para los tres casos en que `getComputedStyle`\n * no devuelve nada — SSR, un test con jsdom sin la hoja de estilos cargada, y el\n * primer render antes de que el CSS del host esté aplicado. Sin ellos, recharts\n * recibiría `''` y pintaría en negro.\n *\n * <b>Y NO son los colores que el navegador acaba pintando</b> — conviene saberlo antes de\n * escribir un test sobre ellos. Los `--dash-*` de `index.css` apuntan a la escala de Tailwind v4,\n * que es `oklch`, así que `--dash-danger` resuelve al `red-500` del sistema (`#fb2c36`) mientras\n * aquí dice `#D64545`, y `--dash-accent` resuelve al `primary-600` del kit (`#0e79fd`) y no a\n * `#2680EB`. Afirmar sobre estos respaldos valida la ruta de degradación, no el diseño.\n */\nconst FALLBACK: DashboardTokens = {\n  'accent':         '#2680EB',\n  'success':        '#1D9E75',\n  'danger':         '#D64545',\n  'text-primary':   '#1B1D21',\n  'text-secondary': '#61646B',\n  'text-muted':     '#9095A0',\n  'surface-card':   '#FFFFFF',\n  'surface-page':   '#F4F5F7',\n  'border':         '#E4E7EB',\n  'border-strong':  '#CBD0D8',\n  'bg-accent':      '#EAF2FD',\n};\n\n/** Lee un `--dash-*` del elemento raíz y lo devuelve resuelto. */\nfunction readToken(name: DashboardTokenName): string {\n  if (typeof window === 'undefined' || typeof getComputedStyle !== 'function') {\n    return FALLBACK[name];\n  }\n  const value = getComputedStyle(document.documentElement)\n    .getPropertyValue(`--dash-${name}`)\n    .trim();\n  return value || FALLBACK[name];\n}\n\n/** Resuelve los once tokens de una sola pasada. */\nexport function readDashboardTokens(): DashboardTokens {\n  return DASHBOARD_TOKEN_NAMES.reduce((acc, name) => {\n    acc[name] = readToken(name);\n    return acc;\n  }, {} as DashboardTokens);\n}\n\n/**\n * Los tokens del tablero, ya resueltos a color, listos para pasarle a `recharts`.\n *\n * Se revalúan cuando cambia el tema, porque el `ThemeProvider` del kit conmuta\n * la clase `dark` sobre `<html>` y las variables cambian de valor sin que React\n * se entere: un `MutationObserver` sobre el atributo `class` de la raíz es la\n * única forma de que un color pasado por prop siga al tema.\n *\n * @example\n * const tokens = useDashboardTokens();\n * <Line stroke={tokens.accent} />\n */\nexport function useDashboardTokens(): DashboardTokens {\n  const [tokens, setTokens] = useState<DashboardTokens>(readDashboardTokens);\n\n  const refresh = useCallback(() => setTokens(readDashboardTokens()), []);\n\n  useEffect(() => {\n    // Primera resolución tras el montaje: en el render inicial la hoja del host\n    // puede no estar aplicada todavía y habríamos devuelto los respaldos.\n    refresh();\n\n    if (typeof MutationObserver === 'undefined' || typeof document === 'undefined') return;\n\n    const observer = new MutationObserver(refresh);\n    observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });\n    return () => observer.disconnect();\n  }, [refresh]);\n\n  return useMemo(() => tokens, [tokens]);\n}\n"],"names":["_extends","n","e","t","r","ownKeys","o","_objectSpread","_defineProperty","_toPropertyKey","i","_toPrimitive","SIZE","defaultLegendContentDefaultProps","getStrokeDasharray","input","Icon","_ref","data","iconType","inactiveColor","halfSize","sixthSize","thirdSize","color","preferredIcon","React","iconProps","Symbols","Items","props","payload","iconSize","layout","formatter","labelStyle","viewBox","itemStyle","svgStyle","entry","finalFormatter","className","clsx","finalLabelStyle","finalValue","adaptEventsOfChild","Surface","DefaultLegendContent","outsideProps","resolveDefaultProps","align","finalStyle","exports","uniqBy","arr","mapper","map","item","key","ary","func","args","identity","x","isObjectLike","value","isArrayLike","require$$0","require$$1","isArrayLikeObject","get","property","path","object","isPrimitive","isObject","isEqualsSameValueZero","require$$2","isMatchWith","target","source","compare","isMatchWithInternal","doesMatch","objValue","srcValue","stack","isEqual","isObjectMatch","isArrayMatch","isMapMatch","isSetMatch","keys","sourceValue","targetValue","countedIndex","sourceItem","found","j","targetItem","matches","isMatch","getSymbols","symbol","getTag","regexpTag","stringTag","numberTag","booleanTag","argumentsTag","symbolTag","dateTag","mapTag","setTag","arrayTag","functionTag","arrayBufferTag","objectTag","errorTag","dataViewTag","uint8ArrayTag","uint8ClampedArrayTag","uint16ArrayTag","uint32ArrayTag","bigUint64ArrayTag","int8ArrayTag","int16ArrayTag","int32ArrayTag","bigInt64ArrayTag","float32ArrayTag","float64ArrayTag","globalThis_","global","globalThis","isBuffer","isTypedArray","tags","require$$3","require$$4","require$$5","cloneDeepWith","obj","cloneValue","cloneDeepWithImpl","valueToClone","keyToClone","objectToClone","cloned","result","copyProperties","isCloneableObject","descriptor","cloneDeep","cloneDeepWith$1","customizer","isArguments","isDeepKey","isIndex","toPath","has","resolvedPath","current","toKey","matchesProperty","iteratee","uniqBy$1","array","iteratee$1","getUniqPayload","option","defaultUniqBy","useLegendPayload","useAppSelector","selectLegendPayload","EPS","useElementOffset","extraDependencies","lastBoundingBox","setLastBoundingBox","useState","updateBoundingBox","useCallback","node","rect","box","_excluded","_objectWithoutProperties","_objectWithoutPropertiesLoose","LegendContent","contextPayload","otherProps","finalPayload","contentProps","getDefaultPosition","style","margin","chartWidth","chartHeight","verticalAlign","hPos","vPos","LegendSettingsDispatcher","dispatch","useAppDispatch","useEffect","setLegendSettings","LegendSizeDispatcher","setLegendSize","getWidthOrHeight","height","width","maxWidth","legendDefaultProps","LegendImpl","legendPortalFromContext","useLegendPortal","useMargin","widthFromProps","heightFromProps","wrapperStyle","portalFromProps","useChartWidth","useChartHeight","widthOrHeight","outerStyle","legendPortal","legendElement","createPortal","Legend","propsAreEqual","defaultFormatter","isNumOrStr","defaultDefaultTooltipContentProps","lodashLikeSortBy","itemSorter","sortBy","DefaultTooltipContent","separator","contentStyle","wrapperClassName","labelClassName","label","labelFormatter","accessibilityLayer","renderContent","listStyle","sortedPayload","items","name","finalName","formatted","finalItemStyle","hasLabel","isNullish","finalLabel","wrapperCN","labelCN","accessibilityAttributes","CSS_CLASS_PREFIX","TOOLTIP_HIDDEN","getTooltipCSSClassName","coordinate","translateX","translateY","isNumber","getTooltipTranslateXY","_ref2","allowEscapeViewBox","offset","position","reverseDirection","tooltipDimension","viewBoxDimension","negative","positive","viewBoxKey","_tooltipBoundary","_viewBoxBoundary","tooltipBoundary","viewBoxBoundary","getTransformStyle","_ref3","useTranslate3d","getTooltipTranslate","_ref4","offsetTop","offsetLeft","tooltipBox","cssProperties","resolveTransitionProperty","TooltipBoundingBoxImpl","_props$coordinate3","_props$coordinate4","_props$coordinate$x2","_props$coordinate5","_props$coordinate$y2","_props$coordinate6","prefersReducedMotion","usePrefersReducedMotion","state","setState","handleKeyDown","event","_props$coordinate$x","_props$coordinate","_props$coordinate$y","_props$coordinate2","cssClasses","positionStyle","TooltipBoundingBox","getPath","y","top","left","Cross","rest","svgPropertiesAndEvents","getCursorRectangle","activeCoordinate","tooltipAxisBandSize","getRadialCursorPoints","cx","cy","radius","startAngle","endAngle","startPoint","polarToCartesian","endPoint","getCursorPoints","isPolarCoordinate","innerRadius","outerRadius","angle","innerPoint","outerPoint","useTooltipAxis","selectTooltipAxis","useTooltipAxisBandSize","tooltipAxis","tooltipTicks","selectTooltipAxisTicks","tooltipAxisScale","selectTooltipAxisScale","getBandSizeOfAxis","RenderCursor","cursor","cursorComp","cursorProps","isValidElement","cloneElement","createElement","CursorInternal","_props$zIndex","index","tooltipEventType","chartName","activePayload","activeTooltipIndex","restProps","preferredZIndex","DefaultZIndexes","Rectangle","Sector","Curve","extraClassName","svgPropertiesNoEventsFromUnknown","ZIndexLayer","Cursor","useOffsetInternal","useChartLayout","useChartName","content","emptyPayload","defaultTooltipProps","Tooltip","_useAppSelector","activeFromProps","animationDuration","animationEasing","filterNull","isAnimationActive","payloadUniqBy","shared","trigger","defaultIndex","axisId","defaultIndexAsString","setTooltipSettingsState","useViewBox","useAccessibilityLayer","useTooltipEventType","activeIndex","isActive","selectIsTooltipActive","payloadFromRedux","selectTooltipPayload","labelFromRedux","selectActiveLabel","selectActiveCoordinate","tooltipPortalFromContext","useTooltipPortal","finalIsActive","useTooltipChartSynchronisation","tooltipPortal","hasPayload","tooltipContentProps","tooltipElement","normalizeAngle","getAngledRectangleWidth","normalizedAngle","angleRadians","angleThreshold","angledWidth","getEveryNth","getAngledTickWidth","contentSize","unitSize","size","getTickBoundaries","sign","sizeKey","isWidth","isVisible","tickPosition","getSize","start","end","getNumberIntervalTicks","ticks","interval","getEquidistantTicks","boundaries","getTickSize","minTickGap","initialStart","stepsize","_loop","tickCoord","isShow","_ret","getEquidistantPreserveEndTicks","len","ok","_loop2","_ret2","finalTicks","_index","tick","getTicksEnd","initialEntry","gap","getTicksStart","preserveEnd","tail","tailSize","tailGap","isTailShow","count","getTicks","fontSize","letterSpacing","orientation","tickFormatter","unit","Global","_getNumberIntervalTic","candidates","getStringSize","tick0","tick1","mathSign","getCalculatedYAxisWidth","labelGapWithTick","tickSize","tickMargin","maxTickWidth","tickNode","bbox","labelWidth","tickWidth","updatedYAxisWidth","defaultCartesianAxisProps","AxisLine","axisLineProps","mirror","axisLine","otherSvgProps","svgPropertiesNoEvents","needHeight","needWidth","getTickLineCoord","x1","x2","y1","y2","tx","ty","finalTickSize","getTickTextAnchor","getTickVerticalAnchor","TickItem","tickProps","tickItem","combinedClassName","getClassNameFromUnknown","Text","RenderedTicksReporter","axisType","noop","tickItems","setRenderedTicks","removeRenderedTicks","Ticks","forwardRef","ref","tickLine","stroke","padding","tickTextProps","getTicksConfig","events","axisProps","customTickProps","textAnchor","isValidTextAnchor","verticalAnchor","tickLinePropsObject","tickLineProps","tickLineCoords","tickLines","lineCoord","Layer","tickLabels","_tickTextProps$angle","finalTickProps","CartesianAxisComponent","hide","setFontSize","setLetterSpacing","tickRefs","useRef","useImperativeHandle","_props$labelRef","layerRef","el","tickNodes","computedStyle","calculatedFontSize","calculatedLetterSpacing","CartesianLabelContextProvider","CartesianLabelFromLabelProp","CartesianAxis","_excluded2","_excluded3","_excluded4","Background","fill","fillOpacity","ry","LineItem","lineItemProps","lineItem","_svgPropertiesNoEvent","others","__","restOfFilteredProps","HorizontalGridLines","horizontal","horizontalPoints","xAxisId","yAxisId","otherLineItemProps","VerticalGridLines","vertical","verticalPoints","HorizontalStripes","horizontalFill","roundedSortedHorizontalPoints","b","nextPoint","lastStripe","lineHeight","colorIndex","VerticalStripes","verticalFill","roundedSortedVerticalPoints","lineWidth","defaultVerticalCoordinatesGenerator","syncWithTicks","xAxis","getCoordinatesOfGrid","getTicksOfAxis","defaultHorizontalCoordinatesGenerator","yAxis","defaultCartesianGridProps","CartesianGrid","propsIncludingDefaults","horizontalValues","verticalValues","isPanorama","useIsPanorama","selectAxisPropsNeededForCartesianGridTicksGenerator","isPositiveNumber","verticalCoordinatesGenerator","horizontalCoordinatesGenerator","isHorizontalValues","generatorResult","warn","isVerticalValues","_generatorResult","initialContextState","ErrorBarContext","createContext","SetErrorBarContext","children","useNeedsClip","_xAxis$allowDataOverf","_yAxis$allowDataOverf","selectXAxisSettings","selectYAxisSettings","needClipX","implicitXAxis","needClipY","implicitYAxis","needClip","GraphicalItemClipPath","clipPathId","plotArea","usePlotArea","selectXAxisIdFromGraphicalItemId","id","_state$graphicalItems","_state$graphicalItems2","defaultAxisId","selectYAxisIdFromGraphicalItemId","_state$graphicalItems3","_state$graphicalItems4","shortArraysAreEqual","arr1","arr2","axisPropsAreEqual","prevProps","nextProps","prevDomain","prevRange","prevRest","nextDomain","nextRange","nextRest","SetXAxisSettings","prevSettingsRef","useCartesianChartLayout","typeFromProps","evaluatedType","getAxisTypeBasedOnLayout","settings","useMemo","useLayoutEffect","addXAxis","replaceXAxis","removeXAxis","XAxisImpl","selectAxisViewBox","cartesianTickItems","selectTicksOfAxis","axisSize","selectXAxisSize","selectXAxisPosition","synchronizedSettings","selectXAxisSettingsNoDefaults","dangerouslySetInnerHTML","del","allOtherProps","del2","restSynchronizedSettings","xAxisDefaultProps","XAxisSettingsDispatcher","XAxis","SetYAxisSettings","addYAxis","replaceYAxis","removeYAxis","YAxisImpl","cartesianAxisRef","labelRef","selectYAxisSize","selectYAxisPosition","selectYAxisSettingsNoDefaults","isLabelContentAFunction","axisComponent","updateYAxisWidth","yAxisDefaultProps","YAxisSettingsDispatcher","YAxis","defaultMargin","defaultCartesianChartProps","initialEventSettingsState","CartesianChart","_categoricalChartProp","rootChartProps","defaultTooltipEventType","validateTooltipEventTypes","tooltipPayloadSearcher","categoricalChartProps","options","RechartsStoreProvider","ChartDataContextProvider","ReportMainChartProps","ReportEventSettings","ReportChartProps","CategoricalChart","ChartTooltip","active","currency","total","jsxs","jsx","parsed","share","formatExact","DASHBOARD_TOKEN_NAMES","FALLBACK","readToken","readDashboardTokens","acc","useDashboardTokens","tokens","setTokens","refresh","observer"],"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]}