@kubit-ui-web/react-charts 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/README.md +96 -0
  2. package/dist/cjs/charts/barChart/barChart.type.d.ts +4 -0
  3. package/dist/cjs/charts/barChart/barChart.type.d.ts.map +1 -1
  4. package/dist/cjs/charts/barChart/barChartStructure.d.ts.map +1 -1
  5. package/dist/cjs/charts/barChart/barChartStructure.js +9 -2
  6. package/dist/cjs/charts/barChart/context/buildBarContextValues.d.ts +3 -1
  7. package/dist/cjs/charts/barChart/context/buildBarContextValues.d.ts.map +1 -1
  8. package/dist/cjs/charts/barChart/context/buildBarContextValues.js +177 -16
  9. package/dist/cjs/charts/barChart/fragments/barChartPath.d.ts +6 -0
  10. package/dist/cjs/charts/barChart/fragments/barChartPath.d.ts.map +1 -1
  11. package/dist/cjs/charts/barChart/fragments/barChartPath.js +38 -4
  12. package/dist/cjs/charts/barChart/fragments/barChartSeparator.d.ts.map +1 -1
  13. package/dist/cjs/charts/barChart/fragments/barChartSeparator.js +52 -2
  14. package/dist/cjs/charts/barChart/fragments/barChartXAxis.d.ts.map +1 -1
  15. package/dist/cjs/charts/barChart/fragments/barChartXAxis.js +2 -1
  16. package/dist/cjs/charts/barChart/fragments/barChartYAxis.d.ts.map +1 -1
  17. package/dist/cjs/charts/barChart/fragments/barChartYAxis.js +2 -1
  18. package/dist/cjs/charts/barChart/fragments/fixture/barContextData.d.ts.map +1 -1
  19. package/dist/cjs/charts/barChart/fragments/fixture/barContextData.js +1 -0
  20. package/dist/cjs/charts/barChart/utils/getBarDataValue.d.ts.map +1 -1
  21. package/dist/cjs/charts/barChart/utils/getBarDataValue.js +5 -0
  22. package/dist/cjs/charts/constants/chartDefaults.d.ts +77 -0
  23. package/dist/cjs/charts/constants/chartDefaults.d.ts.map +1 -0
  24. package/dist/cjs/charts/constants/chartDefaults.js +76 -0
  25. package/dist/cjs/charts/lineChart/context/buildLineContextValue.d.ts +3 -1
  26. package/dist/cjs/charts/lineChart/context/buildLineContextValue.d.ts.map +1 -1
  27. package/dist/cjs/charts/lineChart/context/buildLineContextValue.js +162 -46
  28. package/dist/cjs/charts/lineChart/fragments/fixture/contextData.d.ts +1 -0
  29. package/dist/cjs/charts/lineChart/fragments/fixture/contextData.d.ts.map +1 -1
  30. package/dist/cjs/charts/lineChart/fragments/fixture/contextData.js +1 -0
  31. package/dist/cjs/charts/lineChart/fragments/lineChartPath.d.ts.map +1 -1
  32. package/dist/cjs/charts/lineChart/fragments/lineChartPath.js +34 -1
  33. package/dist/cjs/charts/lineChart/fragments/lineChartProjection.d.ts +1 -1
  34. package/dist/cjs/charts/lineChart/fragments/lineChartProjection.d.ts.map +1 -1
  35. package/dist/cjs/charts/lineChart/fragments/lineChartProjection.js +44 -0
  36. package/dist/cjs/charts/lineChart/fragments/lineChartSeparator.d.ts.map +1 -1
  37. package/dist/cjs/charts/lineChart/fragments/lineChartSeparator.js +52 -2
  38. package/dist/cjs/charts/lineChart/lineChart.type.d.ts +2 -1
  39. package/dist/cjs/charts/lineChart/lineChart.type.d.ts.map +1 -1
  40. package/dist/cjs/charts/lineChart/lineChartStructure.d.ts.map +1 -1
  41. package/dist/cjs/charts/lineChart/lineChartStructure.js +15 -11
  42. package/dist/cjs/components/zoomArea/hooks/useResponsiveCanvas.d.ts.map +1 -1
  43. package/dist/cjs/components/zoomArea/hooks/useResponsiveCanvas.js +6 -1
  44. package/dist/cjs/types/errors.type.d.ts +14 -1
  45. package/dist/cjs/types/errors.type.d.ts.map +1 -1
  46. package/dist/cjs/types/errors.type.js +18 -0
  47. package/dist/cjs/utils/buildErrors/buildErrors.d.ts +63 -0
  48. package/dist/cjs/utils/buildErrors/buildErrors.d.ts.map +1 -1
  49. package/dist/cjs/utils/buildErrors/buildErrors.js +32 -0
  50. package/dist/cjs/utils/buildErrors/charts/buildBarChartErrors.d.ts +17 -0
  51. package/dist/cjs/utils/buildErrors/charts/buildBarChartErrors.d.ts.map +1 -0
  52. package/dist/cjs/utils/buildErrors/charts/buildBarChartErrors.js +16 -0
  53. package/dist/cjs/utils/buildErrors/charts/buildLineChartErrors.d.ts +13 -0
  54. package/dist/cjs/utils/buildErrors/charts/buildLineChartErrors.d.ts.map +1 -0
  55. package/dist/cjs/utils/buildErrors/charts/buildLineChartErrors.js +12 -0
  56. package/dist/cjs/utils/buildErrors/constants/errorMessages/barChartErrorMessages.d.ts +19 -0
  57. package/dist/cjs/utils/buildErrors/constants/errorMessages/barChartErrorMessages.d.ts.map +1 -0
  58. package/dist/cjs/utils/buildErrors/constants/errorMessages/barChartErrorMessages.js +23 -0
  59. package/dist/cjs/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.d.ts +25 -0
  60. package/dist/cjs/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.d.ts.map +1 -0
  61. package/dist/cjs/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.js +29 -0
  62. package/dist/cjs/utils/buildErrors/constants/errors/barChartErrors.d.ts +20 -0
  63. package/dist/cjs/utils/buildErrors/constants/errors/barChartErrors.d.ts.map +1 -0
  64. package/dist/cjs/utils/buildErrors/constants/errors/barChartErrors.js +28 -0
  65. package/dist/cjs/utils/buildErrors/constants/errors/lineChartErrors.d.ts +26 -0
  66. package/dist/cjs/utils/buildErrors/constants/errors/lineChartErrors.d.ts.map +1 -0
  67. package/dist/cjs/utils/buildErrors/constants/errors/lineChartErrors.js +34 -0
  68. package/dist/cjs/utils/buildErrors/index.d.ts +2 -0
  69. package/dist/cjs/utils/buildErrors/index.d.ts.map +1 -0
  70. package/dist/cjs/utils/buildErrors/index.js +2 -0
  71. package/dist/cjs/utils/createErrorAccumulator/createErrorAccumulator.d.ts +7 -0
  72. package/dist/cjs/utils/createErrorAccumulator/createErrorAccumulator.d.ts.map +1 -0
  73. package/dist/cjs/utils/createErrorAccumulator/createErrorAccumulator.js +54 -0
  74. package/dist/cjs/utils/createErrorAccumulator/index.d.ts +2 -0
  75. package/dist/cjs/utils/createErrorAccumulator/index.d.ts.map +1 -0
  76. package/dist/cjs/utils/createErrorAccumulator/index.js +1 -0
  77. package/dist/cjs/utils/cssGradientToSvg/cssGradientToSvg.d.ts.map +1 -1
  78. package/dist/cjs/utils/cssGradientToSvg/cssGradientToSvg.js +2 -2
  79. package/dist/cjs/utils/getCanvasDimensions/getCanvasDimensions.d.ts.map +1 -1
  80. package/dist/cjs/utils/getCanvasDimensions/getCanvasDimensions.js +13 -2
  81. package/dist/cjs/utils/index.d.ts +2 -0
  82. package/dist/cjs/utils/index.d.ts.map +1 -1
  83. package/dist/cjs/utils/index.js +2 -0
  84. package/dist/cjs/utils/logger/index.d.ts +2 -0
  85. package/dist/cjs/utils/logger/index.d.ts.map +1 -0
  86. package/dist/cjs/utils/logger/index.js +1 -0
  87. package/dist/cjs/utils/logger/logger.d.ts +45 -0
  88. package/dist/cjs/utils/logger/logger.d.ts.map +1 -0
  89. package/dist/cjs/utils/logger/logger.js +140 -0
  90. package/dist/cjs/utils/ssr/index.d.ts +2 -0
  91. package/dist/cjs/utils/ssr/index.d.ts.map +1 -0
  92. package/dist/cjs/utils/ssr/index.js +1 -0
  93. package/dist/cjs/utils/ssr/ssr.d.ts +80 -0
  94. package/dist/cjs/utils/ssr/ssr.d.ts.map +1 -0
  95. package/dist/cjs/utils/ssr/ssr.js +117 -0
  96. package/dist/cjs/utils/textBound/textBound.d.ts.map +1 -1
  97. package/dist/cjs/utils/textBound/textBound.js +17 -5
  98. package/dist/esm/charts/barChart/barChart.type.d.ts +4 -0
  99. package/dist/esm/charts/barChart/barChart.type.d.ts.map +1 -1
  100. package/dist/esm/charts/barChart/barChartStructure.d.ts.map +1 -1
  101. package/dist/esm/charts/barChart/barChartStructure.js +9 -2
  102. package/dist/esm/charts/barChart/context/buildBarContextValues.d.ts +3 -1
  103. package/dist/esm/charts/barChart/context/buildBarContextValues.d.ts.map +1 -1
  104. package/dist/esm/charts/barChart/context/buildBarContextValues.js +177 -16
  105. package/dist/esm/charts/barChart/fragments/barChartPath.d.ts +6 -0
  106. package/dist/esm/charts/barChart/fragments/barChartPath.d.ts.map +1 -1
  107. package/dist/esm/charts/barChart/fragments/barChartPath.js +38 -4
  108. package/dist/esm/charts/barChart/fragments/barChartSeparator.d.ts.map +1 -1
  109. package/dist/esm/charts/barChart/fragments/barChartSeparator.js +52 -2
  110. package/dist/esm/charts/barChart/fragments/barChartXAxis.d.ts.map +1 -1
  111. package/dist/esm/charts/barChart/fragments/barChartXAxis.js +2 -1
  112. package/dist/esm/charts/barChart/fragments/barChartYAxis.d.ts.map +1 -1
  113. package/dist/esm/charts/barChart/fragments/barChartYAxis.js +2 -1
  114. package/dist/esm/charts/barChart/fragments/fixture/barContextData.d.ts.map +1 -1
  115. package/dist/esm/charts/barChart/fragments/fixture/barContextData.js +1 -0
  116. package/dist/esm/charts/barChart/utils/getBarDataValue.d.ts.map +1 -1
  117. package/dist/esm/charts/barChart/utils/getBarDataValue.js +5 -0
  118. package/dist/esm/charts/constants/chartDefaults.d.ts +77 -0
  119. package/dist/esm/charts/constants/chartDefaults.d.ts.map +1 -0
  120. package/dist/esm/charts/constants/chartDefaults.js +76 -0
  121. package/dist/esm/charts/lineChart/context/buildLineContextValue.d.ts +3 -1
  122. package/dist/esm/charts/lineChart/context/buildLineContextValue.d.ts.map +1 -1
  123. package/dist/esm/charts/lineChart/context/buildLineContextValue.js +162 -46
  124. package/dist/esm/charts/lineChart/fragments/fixture/contextData.d.ts +1 -0
  125. package/dist/esm/charts/lineChart/fragments/fixture/contextData.d.ts.map +1 -1
  126. package/dist/esm/charts/lineChart/fragments/fixture/contextData.js +1 -0
  127. package/dist/esm/charts/lineChart/fragments/lineChartPath.d.ts.map +1 -1
  128. package/dist/esm/charts/lineChart/fragments/lineChartPath.js +34 -1
  129. package/dist/esm/charts/lineChart/fragments/lineChartProjection.d.ts +1 -1
  130. package/dist/esm/charts/lineChart/fragments/lineChartProjection.d.ts.map +1 -1
  131. package/dist/esm/charts/lineChart/fragments/lineChartProjection.js +44 -0
  132. package/dist/esm/charts/lineChart/fragments/lineChartSeparator.d.ts.map +1 -1
  133. package/dist/esm/charts/lineChart/fragments/lineChartSeparator.js +52 -2
  134. package/dist/esm/charts/lineChart/lineChart.type.d.ts +2 -1
  135. package/dist/esm/charts/lineChart/lineChart.type.d.ts.map +1 -1
  136. package/dist/esm/charts/lineChart/lineChartStructure.d.ts.map +1 -1
  137. package/dist/esm/charts/lineChart/lineChartStructure.js +15 -11
  138. package/dist/esm/components/zoomArea/hooks/useResponsiveCanvas.d.ts.map +1 -1
  139. package/dist/esm/components/zoomArea/hooks/useResponsiveCanvas.js +6 -1
  140. package/dist/esm/types/errors.type.d.ts +14 -1
  141. package/dist/esm/types/errors.type.d.ts.map +1 -1
  142. package/dist/esm/types/errors.type.js +18 -0
  143. package/dist/esm/utils/buildErrors/buildErrors.d.ts +63 -0
  144. package/dist/esm/utils/buildErrors/buildErrors.d.ts.map +1 -1
  145. package/dist/esm/utils/buildErrors/buildErrors.js +32 -0
  146. package/dist/esm/utils/buildErrors/charts/buildBarChartErrors.d.ts +17 -0
  147. package/dist/esm/utils/buildErrors/charts/buildBarChartErrors.d.ts.map +1 -0
  148. package/dist/esm/utils/buildErrors/charts/buildBarChartErrors.js +16 -0
  149. package/dist/esm/utils/buildErrors/charts/buildLineChartErrors.d.ts +13 -0
  150. package/dist/esm/utils/buildErrors/charts/buildLineChartErrors.d.ts.map +1 -0
  151. package/dist/esm/utils/buildErrors/charts/buildLineChartErrors.js +12 -0
  152. package/dist/esm/utils/buildErrors/constants/errorMessages/barChartErrorMessages.d.ts +19 -0
  153. package/dist/esm/utils/buildErrors/constants/errorMessages/barChartErrorMessages.d.ts.map +1 -0
  154. package/dist/esm/utils/buildErrors/constants/errorMessages/barChartErrorMessages.js +23 -0
  155. package/dist/esm/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.d.ts +25 -0
  156. package/dist/esm/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.d.ts.map +1 -0
  157. package/dist/esm/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.js +29 -0
  158. package/dist/esm/utils/buildErrors/constants/errors/barChartErrors.d.ts +20 -0
  159. package/dist/esm/utils/buildErrors/constants/errors/barChartErrors.d.ts.map +1 -0
  160. package/dist/esm/utils/buildErrors/constants/errors/barChartErrors.js +28 -0
  161. package/dist/esm/utils/buildErrors/constants/errors/lineChartErrors.d.ts +26 -0
  162. package/dist/esm/utils/buildErrors/constants/errors/lineChartErrors.d.ts.map +1 -0
  163. package/dist/esm/utils/buildErrors/constants/errors/lineChartErrors.js +34 -0
  164. package/dist/esm/utils/buildErrors/index.d.ts +2 -0
  165. package/dist/esm/utils/buildErrors/index.d.ts.map +1 -0
  166. package/dist/esm/utils/buildErrors/index.js +2 -0
  167. package/dist/esm/utils/createErrorAccumulator/createErrorAccumulator.d.ts +7 -0
  168. package/dist/esm/utils/createErrorAccumulator/createErrorAccumulator.d.ts.map +1 -0
  169. package/dist/esm/utils/createErrorAccumulator/createErrorAccumulator.js +54 -0
  170. package/dist/esm/utils/createErrorAccumulator/index.d.ts +2 -0
  171. package/dist/esm/utils/createErrorAccumulator/index.d.ts.map +1 -0
  172. package/dist/esm/utils/createErrorAccumulator/index.js +1 -0
  173. package/dist/esm/utils/cssGradientToSvg/cssGradientToSvg.d.ts.map +1 -1
  174. package/dist/esm/utils/cssGradientToSvg/cssGradientToSvg.js +2 -2
  175. package/dist/esm/utils/getCanvasDimensions/getCanvasDimensions.d.ts.map +1 -1
  176. package/dist/esm/utils/getCanvasDimensions/getCanvasDimensions.js +13 -2
  177. package/dist/esm/utils/index.d.ts +2 -0
  178. package/dist/esm/utils/index.d.ts.map +1 -1
  179. package/dist/esm/utils/index.js +2 -0
  180. package/dist/esm/utils/logger/index.d.ts +2 -0
  181. package/dist/esm/utils/logger/index.d.ts.map +1 -0
  182. package/dist/esm/utils/logger/index.js +1 -0
  183. package/dist/esm/utils/logger/logger.d.ts +45 -0
  184. package/dist/esm/utils/logger/logger.d.ts.map +1 -0
  185. package/dist/esm/utils/logger/logger.js +140 -0
  186. package/dist/esm/utils/ssr/index.d.ts +2 -0
  187. package/dist/esm/utils/ssr/index.d.ts.map +1 -0
  188. package/dist/esm/utils/ssr/index.js +1 -0
  189. package/dist/esm/utils/ssr/ssr.d.ts +80 -0
  190. package/dist/esm/utils/ssr/ssr.d.ts.map +1 -0
  191. package/dist/esm/utils/ssr/ssr.js +117 -0
  192. package/dist/esm/utils/textBound/textBound.d.ts.map +1 -1
  193. package/dist/esm/utils/textBound/textBound.js +17 -5
  194. package/dist/kubit-ui-web-react-charts.cjs.js +1 -1
  195. package/dist/kubit-ui-web-react-charts.es.js +1 -1
  196. package/dist/kubit-ui-web-react-charts.umd.js +1 -1
  197. package/dist/types/charts/barChart/barChart.type.d.ts +4 -0
  198. package/dist/types/charts/barChart/barChart.type.d.ts.map +1 -1
  199. package/dist/types/charts/barChart/barChartStructure.d.ts.map +1 -1
  200. package/dist/types/charts/barChart/context/buildBarContextValues.d.ts +3 -1
  201. package/dist/types/charts/barChart/context/buildBarContextValues.d.ts.map +1 -1
  202. package/dist/types/charts/barChart/fragments/barChartPath.d.ts +6 -0
  203. package/dist/types/charts/barChart/fragments/barChartPath.d.ts.map +1 -1
  204. package/dist/types/charts/barChart/fragments/barChartSeparator.d.ts.map +1 -1
  205. package/dist/types/charts/barChart/fragments/barChartXAxis.d.ts.map +1 -1
  206. package/dist/types/charts/barChart/fragments/barChartYAxis.d.ts.map +1 -1
  207. package/dist/types/charts/barChart/fragments/fixture/barContextData.d.ts.map +1 -1
  208. package/dist/types/charts/barChart/utils/getBarDataValue.d.ts.map +1 -1
  209. package/dist/types/charts/constants/chartDefaults.d.ts +77 -0
  210. package/dist/types/charts/constants/chartDefaults.d.ts.map +1 -0
  211. package/dist/types/charts/lineChart/context/buildLineContextValue.d.ts +3 -1
  212. package/dist/types/charts/lineChart/context/buildLineContextValue.d.ts.map +1 -1
  213. package/dist/types/charts/lineChart/fragments/fixture/contextData.d.ts +1 -0
  214. package/dist/types/charts/lineChart/fragments/fixture/contextData.d.ts.map +1 -1
  215. package/dist/types/charts/lineChart/fragments/lineChartPath.d.ts.map +1 -1
  216. package/dist/types/charts/lineChart/fragments/lineChartProjection.d.ts.map +1 -1
  217. package/dist/types/charts/lineChart/fragments/lineChartSeparator.d.ts.map +1 -1
  218. package/dist/types/charts/lineChart/lineChart.type.d.ts +2 -1
  219. package/dist/types/charts/lineChart/lineChart.type.d.ts.map +1 -1
  220. package/dist/types/charts/lineChart/lineChartStructure.d.ts.map +1 -1
  221. package/dist/types/components/zoomArea/hooks/useResponsiveCanvas.d.ts.map +1 -1
  222. package/dist/types/types/errors.type.d.ts +14 -1
  223. package/dist/types/types/errors.type.d.ts.map +1 -1
  224. package/dist/types/utils/buildErrors/buildErrors.d.ts +63 -0
  225. package/dist/types/utils/buildErrors/buildErrors.d.ts.map +1 -1
  226. package/dist/types/utils/buildErrors/charts/buildBarChartErrors.d.ts +17 -0
  227. package/dist/types/utils/buildErrors/charts/buildBarChartErrors.d.ts.map +1 -0
  228. package/dist/types/utils/buildErrors/charts/buildLineChartErrors.d.ts +13 -0
  229. package/dist/types/utils/buildErrors/charts/buildLineChartErrors.d.ts.map +1 -0
  230. package/dist/types/utils/buildErrors/constants/errorMessages/barChartErrorMessages.d.ts +19 -0
  231. package/dist/types/utils/buildErrors/constants/errorMessages/barChartErrorMessages.d.ts.map +1 -0
  232. package/dist/types/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.d.ts +25 -0
  233. package/dist/types/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.d.ts.map +1 -0
  234. package/dist/types/utils/buildErrors/constants/errors/barChartErrors.d.ts +20 -0
  235. package/dist/types/utils/buildErrors/constants/errors/barChartErrors.d.ts.map +1 -0
  236. package/dist/types/utils/buildErrors/constants/errors/lineChartErrors.d.ts +26 -0
  237. package/dist/types/utils/buildErrors/constants/errors/lineChartErrors.d.ts.map +1 -0
  238. package/dist/types/utils/buildErrors/index.d.ts +2 -0
  239. package/dist/types/utils/buildErrors/index.d.ts.map +1 -0
  240. package/dist/types/utils/createErrorAccumulator/createErrorAccumulator.d.ts +7 -0
  241. package/dist/types/utils/createErrorAccumulator/createErrorAccumulator.d.ts.map +1 -0
  242. package/dist/types/utils/createErrorAccumulator/index.d.ts +2 -0
  243. package/dist/types/utils/createErrorAccumulator/index.d.ts.map +1 -0
  244. package/dist/types/utils/cssGradientToSvg/cssGradientToSvg.d.ts.map +1 -1
  245. package/dist/types/utils/getCanvasDimensions/getCanvasDimensions.d.ts.map +1 -1
  246. package/dist/types/utils/index.d.ts +2 -0
  247. package/dist/types/utils/index.d.ts.map +1 -1
  248. package/dist/types/utils/logger/index.d.ts +2 -0
  249. package/dist/types/utils/logger/index.d.ts.map +1 -0
  250. package/dist/types/utils/logger/logger.d.ts +45 -0
  251. package/dist/types/utils/logger/logger.d.ts.map +1 -0
  252. package/dist/types/utils/ssr/index.d.ts +2 -0
  253. package/dist/types/utils/ssr/index.d.ts.map +1 -0
  254. package/dist/types/utils/ssr/ssr.d.ts +80 -0
  255. package/dist/types/utils/ssr/ssr.d.ts.map +1 -0
  256. package/dist/types/utils/textBound/textBound.d.ts.map +1 -1
  257. package/package.json +5 -5
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KubitCharts={})}(this,function(e){"use strict";var t,a,r,n,i={exports:{}},o={},s={exports:{}},c={};function d(){return a||(a=1,s.exports=function(){if(t)return c;t=1;var e=Symbol.for("react.element"),a=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),s=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),x=Symbol.iterator,p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f=Object.assign,g={};function y(e,t,a){this.props=e,this.context=t,this.refs=g,this.updater=a||p}function m(){}function v(e,t,a){this.props=e,this.context=t,this.refs=g,this.updater=a||p}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=y.prototype;var S=v.prototype=new m;S.constructor=v,f(S,y.prototype),S.isPureReactComponent=!0;var $=Array.isArray,k=Object.prototype.hasOwnProperty,C={current:null},T={key:!0,ref:!0,__self:!0,__source:!0};function b(t,a,r){var n,i={},o=null,s=null;if(null!=a)for(n in void 0!==a.ref&&(s=a.ref),void 0!==a.key&&(o=""+a.key),a)k.call(a,n)&&!T.hasOwnProperty(n)&&(i[n]=a[n]);var c=arguments.length-2;if(1===c)i.children=r;else if(1<c){for(var d=Array(c),l=0;l<c;l++)d[l]=arguments[l+2];i.children=d}if(t&&t.defaultProps)for(n in c=t.defaultProps)void 0===i[n]&&(i[n]=c[n]);return{$$typeof:e,type:t,key:o,ref:s,props:i,_owner:C.current}}function A(t){return"object"==typeof t&&null!==t&&t.$$typeof===e}var E=/\/+/g;function R(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function L(t,r,n,i,o){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var c=!1;if(null===t)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(t.$$typeof){case e:case a:c=!0}}if(c)return o=o(c=t),t=""===i?"."+R(c,0):i,$(o)?(n="",null!=t&&(n=t.replace(E,"$&/")+"/"),L(o,r,n,"",function(e){return e})):null!=o&&(A(o)&&(o=function(t,a){return{$$typeof:e,type:t.type,key:a,ref:t.ref,props:t.props,_owner:t._owner}}(o,n+(!o.key||c&&c.key===o.key?"":(""+o.key).replace(E,"$&/")+"/")+t)),r.push(o)),1;if(c=0,i=""===i?".":i+":",$(t))for(var d=0;d<t.length;d++){var l=i+R(s=t[d],d);c+=L(s,r,n,l,o)}else if(l=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=x&&e[x]||e["@@iterator"])?e:null}(t),"function"==typeof l)for(t=l.call(t),d=0;!(s=t.next()).done;)c+=L(s=s.value,r,n,l=i+R(s,d++),o);else if("object"===s)throw r=String(t),Error("Objects are not valid as a React child (found: "+("[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return c}function w(e,t,a){if(null==e)return e;var r=[],n=0;return L(e,r,"","",function(e){return t.call(a,e,n++)}),r}function j(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},N={transition:null},H={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:N,ReactCurrentOwner:C};function M(){throw Error("act(...) is not supported in production builds of React.")}return c.Children={map:w,forEach:function(e,t,a){w(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return w(e,function(){t++}),t},toArray:function(e){return w(e,function(e){return e})||[]},only:function(e){if(!A(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},c.Component=y,c.Fragment=r,c.Profiler=i,c.PureComponent=v,c.StrictMode=n,c.Suspense=l,c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=H,c.act=M,c.cloneElement=function(t,a,r){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var n=f({},t.props),i=t.key,o=t.ref,s=t._owner;if(null!=a){if(void 0!==a.ref&&(o=a.ref,s=C.current),void 0!==a.key&&(i=""+a.key),t.type&&t.type.defaultProps)var c=t.type.defaultProps;for(d in a)k.call(a,d)&&!T.hasOwnProperty(d)&&(n[d]=void 0===a[d]&&void 0!==c?c[d]:a[d])}var d=arguments.length-2;if(1===d)n.children=r;else if(1<d){c=Array(d);for(var l=0;l<d;l++)c[l]=arguments[l+2];n.children=c}return{$$typeof:e,type:t.type,key:i,ref:o,props:n,_owner:s}},c.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},c.createElement=b,c.createFactory=function(e){var t=b.bind(null,e);return t.type=e,t},c.createRef=function(){return{current:null}},c.forwardRef=function(e){return{$$typeof:d,render:e}},c.isValidElement=A,c.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:j}},c.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},c.startTransition=function(e){var t=N.transition;N.transition={};try{e()}finally{N.transition=t}},c.unstable_act=M,c.useCallback=function(e,t){return I.current.useCallback(e,t)},c.useContext=function(e){return I.current.useContext(e)},c.useDebugValue=function(){},c.useDeferredValue=function(e){return I.current.useDeferredValue(e)},c.useEffect=function(e,t){return I.current.useEffect(e,t)},c.useId=function(){return I.current.useId()},c.useImperativeHandle=function(e,t,a){return I.current.useImperativeHandle(e,t,a)},c.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},c.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},c.useMemo=function(e,t){return I.current.useMemo(e,t)},c.useReducer=function(e,t,a){return I.current.useReducer(e,t,a)},c.useRef=function(e){return I.current.useRef(e)},c.useState=function(e){return I.current.useState(e)},c.useSyncExternalStore=function(e,t,a){return I.current.useSyncExternalStore(e,t,a)},c.useTransition=function(){return I.current.useTransition()},c.version="18.3.1",c}()),s.exports}var l=(n||(n=1,i.exports=function(){if(r)return o;r=1;var e=d(),t=Symbol.for("react.element"),a=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,a,r){var o,c={},d=null,l=null;for(o in void 0!==r&&(d=""+r),void 0!==a.key&&(d=""+a.key),void 0!==a.ref&&(l=a.ref),a)n.call(a,o)&&!s.hasOwnProperty(o)&&(c[o]=a[o]);if(e&&e.defaultProps)for(o in a=e.defaultProps)void 0===c[o]&&(c[o]=a[o]);return{$$typeof:t,type:e,key:d,ref:l,props:c,_owner:i.current}}return o.Fragment=a,o.jsx=c,o.jsxs=c,o}()),i.exports),u=d();const h=u.forwardRef(({ariaHidden:e,ariaLabel:t,backgroundColor:a,caption:r,children:n,className:i,dataTestId:o,height:s,imageSrc:c,overflow:d,radius:u="0px",role:h,tabIndex:x,viewBox:p,width:f,...g},y)=>l.jsxs("svg",{ref:y,"aria-hidden":e,"aria-label":t,className:i,"data-testid":o,height:s,role:h,style:{backgroundColor:a,borderRadius:u,overflow:d},tabIndex:x,viewBox:p,width:f,onMouseDown:e=>e.preventDefault(),...g,children:[r&&l.jsx("title",{children:r}),c&&l.jsx("image",{height:s,href:c,width:f,x:"0",y:"0"}),n]})),x=(e,t,a=0)=>`${-a} ${-a} ${e} ${t}`,p={extraSpace:0,height:80,width:100},f=e=>JSON.stringify(e),g="%",y="rem",m=/^(\d+(\.\d+)?)(px|rem|%)?$/,v=e=>{if("number"==typeof e)return e;const t=e.match(m);if(!t)throw new Error(`Invalid string format: "${e}"`);const a=t[1];return t[3]===y?16*parseFloat(a):parseFloat(a)},S=u.createContext({}),$={HORIZONTAL:"HORIZONTAL",VERTICAL:"VERTICAL"},k={BOTTOM:"BOTTOM",CENTER:"CENTER",CUSTOM:"CUSTOM",LEFT:"LEFT",RIGHT:"RIGHT",TOP:"TOP"},C=({canvasHeight:e,canvasWidth:t,customBreakAxis:a,extraSpaceBottomY:r,extraSpaceLeftX:n,extraSpaceRightX:i,extraSpaceTopY:o,position:s})=>s===k.TOP?{x1:n,x2:t-i,y1:o,y2:o}:s===k.CENTER?{x1:n,x2:t-i,y1:e/2,y2:e/2}:s===k.CUSTOM?{x1:n,x2:t-i,y1:a,y2:a}:{x1:n,x2:t-i,y1:e-r,y2:e-r},T=({canvasHeight:e,canvasWidth:t,customBreakAxis:a,extraSpaceBottomY:r,extraSpaceLeftX:n,extraSpaceRightX:i,extraSpaceTopY:o,position:s})=>s===k.RIGHT?{x1:t-i,x2:t-i,y1:o,y2:e-r}:s===k.CENTER?{x1:t/2,x2:t/2,y1:o,y2:e-r}:s===k.CUSTOM?{x1:a,x2:a,y1:o,y2:e-r}:{x1:n,x2:n,y1:o,y2:e-r},b=(e,t,a)=>t.map(t=>{if(isNaN(Number(t))){const a=e.find(e=>String(e.value)===String(t));return a?a.position:0}const{index:r,tick:n}=e.reduce((e,a,r)=>Math.abs(Number(a.value)-Number(t))<=Math.abs(Number(e.tick.value)-Number(t))?{index:r,tick:a}:e,{index:0,tick:e[0]}),i=Number(t),o=Number(n.value);if(i!==o){const t=e.map(e=>Number(e.value)),s=Math.min(...t),c=Math.max(...t);if(i<s)return e.at(0)?.position;if(i>c)return e.at(-1)?.position;const d=Math.abs(o-i),l=i>o,u=l?e[r+1]:e[r-1],h=100*d/Math.abs(Number(u.value)-o),x=Math.abs(n.position-u.position)*h/100;return a?l?n.position+x:n.position-x:l?n.position-x:n.position+x}return n.position}),A=({initPos:e,maxSpaceAvailable:t,otherAxisSpace:a,securitySpace:r,tickValues:n})=>{const i=n.length-1,o=(t-a-r)/i;return n.map((t,a)=>({position:e+a*o+r/2,value:t}))},E=({initPos:e,maxSpaceAvailable:t,needAjusted:a,otherAxisSpace:r,securitySpace:n,tickValues:i})=>{const o=(t-r-n)/(i.length-1),s=a?n/2:0;return i.map((t,a)=>({position:e-a*o-s,value:t}))},R=e=>{if(0===e.length)return{numeric:{max:2,min:0,step:1}};const t=Math.min(...e.map(e=>parseFloat(e))),a=Math.max(...e.map(e=>parseFloat(e)));return{numeric:{max:a,min:t,step:Math.abs(a-t)/2}}},L=({bound:e,data:t,fontSize:a,svgHeight:r,svgWidth:n,viewBox:i})=>{if(!window||!document||!t.length)return 0;const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("style","position: absolute; visibility: hidden; top: -9999px; left: -9999px;"),o.setAttribute("viewBox",i),o.setAttribute("width",n),o.setAttribute("height",r),document.body.appendChild(o);const s=t.map(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("font-size",a),r.textContent=t,o.appendChild(r);const n=r.getBBox()[e];return r.remove(),n});return o.remove(),Math.max(...s)},w=e=>e?Object.entries(e).reduce((e,[t,a])=>((t.startsWith("aria-")||t.startsWith("data-"))&&null!=a&&(e[t]=String(a)),e),{}):{},j=({height:e="140%",width:t="140%",x:a="-20%",y:r="-20%",...n})=>l.jsx("defs",{children:l.jsx("filter",{height:e,id:n.id,width:t,x:a,y:r,children:l.jsx("feDropShadow",{...n.shadowSvgConfig})})}),I=-1/0,N=u.forwardRef(({dataTestId:e,position:t,size:a=1,...r},n)=>l.jsx("circle",{...r,ref:n,cx:t?.x,cy:t?.y,"data-testid":`${e}-circle`,r:a/2})),H=(e,t,a,r,n)=>{let i="";const o=r===n,s=o?a:2*a;for(let a=0;a<s;a++){const c=o||a%2==0?r:n,d=2*Math.PI/s*a-Math.PI/2;i+=`${e+Math.cos(d)*c},${t+Math.sin(d)*c} `}return i.trim()},M=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:a=1,...r},n)=>{const i=H(t.x,t.y,6,a/2,a/2);return l.jsx("polygon",{...r,ref:n,"data-testid":`${e}-hexagon`,points:i})}),O=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:a=1,...r},n)=>{const i=H(t.x,t.y,5,a/2,a/2);return l.jsx("polygon",{...r,ref:n,"data-testid":`${e}-pentagon`,points:i})}),D=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:a=1,...r},n)=>l.jsx("rect",{...r,ref:n,"data-testid":`${e}-square`,height:a,width:a,x:t.x-a/2,y:t.y-a/2})),B=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:a=1,...r},n)=>{const i=a/2,o=i/2,s=H(t.x,t.y,5,i,o);return l.jsx("polygon",{...r,ref:n,"data-testid":`${e}-star`,points:s})}),_=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:a=1,...r},n)=>{const i=`M ${t.x-a/2} ${t.y} H ${t.x+a/2} M ${t.x} ${t.y-a/2} V ${t.y+a/2}`;return l.jsx("path",{...r,ref:n,d:i,"data-testid":`${e}-straight`,strokeWidth:2})}),W=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:a=1,...r},n)=>{const i=[`${t.x},${t.y-a/2}`,`${t.x-a/2},${t.y+a/2}`,`${t.x+a/2},${t.y+a/2}`].join(" ");return l.jsx("polygon",{...r,ref:n,"data-testid":`${e}-triangle`,points:i})}),F={Circle:"circle",Hexagon:"hexagon",Pentagon:"pentagon",Square:"square",Star:"star",Straight:"straight",Triangle:"triangle"},P={[F.Circle]:N,[F.Hexagon]:M,[F.Pentagon]:O,[F.Square]:D,[F.Star]:B,[F.Straight]:_,[F.Triangle]:W},V=u.forwardRef(({dataTestId:e="node",haloConfig:t,hasHalo:a=!1,onBlur:r,onClick:n,onDoubleClick:i,onFocus:o,onKeyDown:s,onMouseEnter:c,onMouseLeave:d,position:h={x:0,y:0},size:x=1,type:p=F.Circle,...f},g)=>{const[y,m]=(e=>{const t=u.useRef(!1),a=u.useRef(null);u.useImperativeHandle(e,()=>a.current,[]);const r=e=>{t.current=!!e.autoClick};return u.useEffect(()=>{if(!a.current)return;const e=a.current;return e.addEventListener("click",r),()=>e.removeEventListener("click",r)},[]),[a,t]})(g),v={...f,className:`node ${f.className}`,onBlur:e=>{r?.(e)},onClick:e=>{n?.(e,{...f.data,nodePosition:h},m.current)},onDoubleClick:e=>{i?.(e,f.data)},onFocus:e=>{o?.(e,f.data)},onKeyDown:e=>{"Enter"===e.key&&s?.(e,f.data)},onMouseEnter:e=>{c?.(e,f.data)},onMouseLeave:e=>{d?.(e)}},S={className:f.className,fill:t?.fill||f.fill,fillOpacity:t?.fillOpacity||.25,opacity:t?.opacity||.3,stroke:t?.stroke||f.stroke,strokeWidth:t?.strokeWidth||f.strokeWidth},$=P[p];return l.jsxs(l.Fragment,{children:[a&&l.jsx($,{...S,"aria-hidden":"true",dataTestId:`${e}-halo`,position:h,size:x+x/2,tabIndex:-1}),l.jsx($,{...v,ref:y,dataTestId:e,position:h,size:x})]})}),X=u.forwardRef(({data:e,nodeConfig:t,tabIndex:a=0,x:r,y:n},i)=>{const o=t?w(t):{};if(o["aria-label"]&&e&&"string"==typeof o["aria-label"]){const t=o["aria-label"];if(t.includes("{{")){const a=((e,t,a)=>{if(!e)return;const r=a??t.dataValue,n=Array.isArray(r)?r[t.index]:void 0,{xValue:i,yValue:o}=((e,t)=>({xValue:e&&t.xKey?e[t.xKey]?.toString()??"":"",yValue:e&&t.dataKey?e[t.dataKey]?.toString()??"":""}))(n,t);return((e,t,a,r)=>{let n=e;return void 0!==t.dataKey&&(n=n.replace(new RegExp("{{dataKey}}","g"),t.dataKey)),n=n.replace(new RegExp("{{xValue}}","g"),a),n=n.replace(new RegExp("{{yValue}}","g"),r),void 0!==t.index&&(n=n.replace(new RegExp("{{index}}","g"),(t.index+1).toString())),n})(e,t,i,o)})(t,{dataKey:e.dataKey,dataValue:e.dataValue,index:e.index??0,xKey:e.xKey},e.dataValue);a&&(o["aria-label"]=a)}}return l.jsx(l.Fragment,{children:t&&l.jsx(V,{...t,ref:i,...o,className:"node-path-focus-border",data:e,hasHalo:t.hasHalo,position:{x:r,y:n},tabIndex:a})})}),Y=u.forwardRef(({classNames:e="",fill:t="transparent",stroke:a="#0000FF",strokeWidth:r="1",focusConfig:n={stroke:"#0000FF",strokeWidth:"0.5"},hoverConfig:i={stroke:"#0000FF",strokeWidth:"0.5"},role:o="img",...s},c)=>{const{handleBlur:d,handleFocus:h,isFocused:x}=((e,t)=>{const[a,r]=u.useState(!1),n=u.useCallback(t=>{r(!0),e?.(t)},[e]);return{handleBlur:u.useCallback(e=>{r(!1),t?.(e)},[t]),handleFocus:n,isFocused:a}})(s.onFocus,s.onBlur),{handleMouseEnter:p,handleMouseLeave:f,isHovered:g}=((e,t)=>{const[a,r]=u.useState(!1);return{handleMouseEnter:u.useCallback(t=>{r(!0),e?.(t)},[e]),handleMouseLeave:u.useCallback(e=>{r(!1),t?.(e)},[t]),isHovered:a}})(s.onMouseEnter,s.onMouseLeave),y=u.useRef(null),m=u.useRef([]),v=u.useRef(null);u.useImperativeHandle(c,()=>({get main(){return v.current},get node(){return m.current},get path(){return y.current}}));const S=s.gradient&&((e,t="gradientePath")=>{const a=e.split(",").map(e=>e.trim()),r=parseInt(a[0],10),n=a.slice(1).map(e=>{const[t,a]=e.split(" ");return{color:t,offset:a}});let i="0%",o="0%",s="0%";switch(r){case 180:s="100%";break;case 90:o="100%";break;case 270:i="100%";break;default:return l.jsx(l.Fragment,{})}return l.jsx("defs",{children:l.jsx("linearGradient",{id:t,x1:i,x2:o,y1:"0%",y2:s,children:n.map((e,t)=>l.jsx("stop",{offset:e.offset,stopColor:e.color},`${t}-${e.offset}`.toString()))})})})(s.gradient),$=w(s),k={...{...s,classNames:`path ${e}`,fill:S?"url(#gradientePath)":t,filter:"url(#shadow)",role:o,stroke:a,strokeWidth:r},...x&&n,...g&&i};return l.jsxs("g",{ref:v,tabIndex:-1,children:[S&&S,k.shadowSvgConfig&&l.jsx(j,{id:"shadow",shadowSvgConfig:k.shadowSvgConfig}),l.jsxs("g",{"aria-label":k.ariaLabel,className:k.classNames,"data-draw":!0,filter:k.shadowSvgConfig&&k.filter,opacity:k.opacity,orientation:k.orientation,role:k.role,rotate:k.rotate,tabIndex:k.tabIndex,transform:k.transform,visibility:k.visibility,...$,onBlur:d,onClick:()=>{s.onClick?.(s.dataValue)},onDoubleClick:e=>{s.onDoubleClick?.(e,s.dataValue)},onFocus:h,onKeyDown:e=>{"Enter"===e.key&&s.onKeyDown?.(s.dataValue)},onMouseDown:e=>{e.preventDefault()},onMouseEnter:p,onMouseLeave:f,children:[l.jsx("path",{ref:y,d:k.d,"data-testid":k.dataTestId,fill:k.dFill?"transparent":k.fill,fillOpacity:k.fillOpacity,fillRule:k.fillRule,stroke:k.stroke,strokeDasharray:k.strokeDasharray,strokeDashoffset:k.strokeDashoffset,strokeLinecap:k.strokeLinecap,strokeLinejoin:k.strokeLinejoin,strokeMiterlimit:k.strokeMiterlimit,strokeOpacity:k.strokeOpacity,strokeWidth:k.strokeWidth,children:k.title&&l.jsx("title",{children:k.title})}),k.dFill&&l.jsx("path",{d:k.dFill,fill:k.fill,fillOpacity:k.fillOpacity,fillRule:k.fillRule})]}),k.points&&k.nodeConfig&&k.points.map(([e,t],a)=>{const r={dataKey:k.dataKey,dataValue:k.dataValue,index:a,xKey:k?.xKey};return l.jsx(X,{ref:e=>m.current[a]=e,data:r,nodeConfig:k.nodeConfig,tabIndex:-1,x:e,y:t},`${a.toString()}`)})]})}),K=(e,t,a)=>e?t+a/2:t-a/2,z=({barConfig:e,currentBars:t,endRounded:a,extraSpacing:r=0,order:n=1,orientation:i,startRounded:o,x1:s,x2:c,y1:d,y2:u})=>{const{barWidth:h,singleConfig:x}=e,p=(({barConfig:e,orientation:t,x1:a,x2:r,y1:n,y2:i})=>{const{gap:o=0,singleConfig:s}=e,c=t===$.HORIZONTAL,d=c?a:n,l=c?r:i,u={end:l<d,start:l>d};return s.reduce((e,t,a)=>{const{coverage:r}=t,n=((e,t)=>e/100*t)(r,l-d),i=0===a?d:K(u.start,e[a-1][1],o),c=a+1===s.length?l:K(u.end,i+n,o);return e.push([i,c]),e},[])})({barConfig:e,orientation:i,x1:s,x2:c,y1:d,y2:u});return l.jsx("g",{children:x.map((e,f)=>{const[g,y]="HORIZONTAL"===i?p[f]:[s,c],[m,v]="VERTICAL"===i?p[f]:[d,u],S=(({barWidth:e,currentBars:t,endRounded:a=0,extraSpacing:r,order:n,orientation:i,startRounded:o=0,x1:s,x2:c,y1:d,y2:l})=>{let u,h,x,p,f="Z";const g=(({barWidth:e,currentBars:t,extraSpacing:a,order:r,orientation:n})=>{const i=e/2,o=a/2,s=t%2==0,c=s?o:o+i,d=r-Math.ceil(t/2);let l=0;return 0===d?l=s?-o:i:d<0?l=n===$.HORIZONTAL?d*-c+e:d*c:d>0&&(l=n===$.HORIZONTAL?d*-c:d*c+e),l})({barWidth:e,currentBars:t,extraSpacing:r,order:n,orientation:i});if(i===$.HORIZONTAL){const t=s+o,r=c-a;o&&a?(u=`M ${t},${d+g}`,h=`L${r},${l+g}`,x=`Q${c+a} ${l+g-e/2}, ${r} ${l+g-e}`,p=`L${t},${d+g-e}`,f=`Q${s-o} ${d+g-e/2}, ${t} ${d+g}`):o?(u=`M ${t},${d+g}`,h=`L${c},${l+g}`,x=`L${c},${l+g-e}`,p=`L${t},${d+g-e}`,f=`Q${s-o} ${d+g-e/2}, ${t} ${d+g}`):a?(u=`M${s},${d+g}`,h=`L${r},${l+g}`,x=`Q${c+a} ${l+g-e/2}, ${r} ${l+g-e}`,p=`L${s},${d+g-e}`):(u=`M${s},${d+g}`,h=`L${c},${l+g}`,x=`L${c},${l+g-e}`,p=`L${s},${d+g-e}`)}else{const t=d-o,r=l+a;o&&a?(u=`M${s+g}, ${t}`,h=`L${c+g},${r}`,x=`Q${c+g-e/2} ${l-a}, ${c+g-e} ${r}`,p=`L${s+g-e},${t}`,f=`Q${s+g-e/2} ${d+o}, ${s+g} ${t}`):o?(u=`M${s+g}, ${t}`,h=`L${c+g},${l}`,x=`L${c+g-e},${l}`,p=`L${s+g-e},${t}`,f=`Q${s+g-e/2} ${d+o}, ${s+g} ${t}`):a?(u=`M${s+g},${d}`,h=`L${c+g},${r}`,x=`Q${c+g-e/2} ${l-a}, ${c+g-e} ${r}`,p=`L${c+g-e},${d}`):(u=`M${s+g},${d}`,h=`L${c+g},${l}`,x=`L${c+g-e},${l}`,p=`L${s+g-e},${d}`)}return`${u} ${h} ${x} ${p} ${f}`})({barWidth:h,currentBars:t,endRounded:f===x.length-1&&a?a:void 0,extraSpacing:r,order:n,orientation:i,startRounded:0===f&&o?o:void 0,x1:g,x2:y,y1:m,y2:v});return l.jsx(Y,{d:S,fill:e.color,hoverConfig:{stroke:"transparent",strokeWidth:"0"},stroke:"transparent",tabIndex:0,title:e.title},`${e.title}-${f.toString()}`)})})},U=({barConfig:e,dataIdx:t,dataKey:a,order:r,...n})=>{const{xAxisCoordinates:i,yAxisCoordinates:o,...s}=u.useContext(S),{coordinates:c,tickValues:d}=i,{coordinates:h,tickValues:x}=o,p=s.orientation===$.VERTICAL,f=p?s.pKey:a,g=p?a:s.pKey,y=s.data[t][f],m=s.data[t][g],v=b(d,[String(y)],!0)[0],k=b(x,[String(m)])[0],C=p?{x1:v,x2:v,y1:c.y1,y2:k}:{x1:h.x1,x2:v,y1:k,y2:k};return l.jsx(z,{barConfig:e,currentBars:s.barChildrenCount,extraSpacing:s.gapBetweenBars,order:r,orientation:s.orientation,...C,...n})},Z=({ariaLabel:e="",className:t="line",dataTestId:a,tabIndex:r=-1,...n})=>l.jsx("line",{...n,"aria-label":e,className:t,"data-testid":a,tabIndex:r}),G=({children:e,className:t="circle",tabIndex:a=-1,...r})=>l.jsx("text",{className:t,tabIndex:a,...r,children:e}),q=({showTickLines:e,tick:t,tickLine:a,tickText:r})=>l.jsxs("g",{children:[e&&l.jsx(Z,{...a}),r&&l.jsx(G,{...r,children:t.value})]}),Q=(e,t,a=1)=>e>=t-a&&e<=t+a,J=e=>{const{ariaLabel:t,className:a,dataTestId:r,opacity:n,stroke:i,strokeDasharray:o,strokeDashoffset:s,strokeLinecap:c,strokeLinejoin:d,strokeOpacity:l,strokeWidth:u,style:h,tabIndex:x,transform:p,x1:f,x2:g,y1:y,y2:m}=e;return{ariaLabel:t,className:a,dataTestId:r,opacity:n,stroke:i,strokeDasharray:o,strokeDashoffset:s,strokeLinecap:c,strokeLinejoin:d,strokeOpacity:l,strokeWidth:u,style:h,tabIndex:x,transform:p,x1:f,x2:g,y1:y,y2:m}},ee=({canvasHeight:e=p.height,canvasWidth:t=p.width,cursor:a=0,extraSpace:r={bottom:0,left:0,right:0,top:0},position:n=k.BOTTOM,showTickLines:i=!1,tickLine:o,tickLineHover:s,tickText:c,tickValues:d=[],...u})=>{const h=w(u);return l.jsxs("g",{...h,children:[l.jsx(Z,{...J(u)}),d&&d.length>0&&d.map((e,t)=>{const r=Q(a,e.position)&&s?{...o,...s}:o,n="rotate"===c?.transform?`rotate(-30, ${e.position}, ${c.y})`:void 0;return l.jsx(q,{showTickLines:i,tick:e,tickLine:{...r,x1:e.position,x2:e.position},tickText:{...c,transform:n,x:e.position}},`${t.toString()}`)})]})},te=(e,t,a)=>e===k.RIGHT?t+a:t-a,ae=(e,t,a,r)=>e===k.TOP?a:t+a+r,re=({position:e=k.BOTTOM,tickLine:t,tickText:a,...r})=>{const{xAxisCoordinates:{coordinates:n,tickValues:i},...o}=u.useContext(S),s=ae(e,n.y1,Number(a?.fontSize),a?.top??0),c=o.extraSpaceTopY,d=Number(o.canvasHeight)-o.extraSpaceBottomY;return l.jsx(ee,{...n,...r,canvasHeight:Number(o.canvasHeight),canvasWidth:Number(o.canvasWidth),dataTestId:`${o.dataTestId}xAxis`,extraSpace:{left:o.extraSpaceLeftX,right:o.extraSpaceRightX},tickLine:{...t,y1:c,y2:d},tickText:{...a,y:s},tickValues:a?i:void 0})},ne=({canvasWidth:e,cursor:t=0,extraSpace:a={bottom:0,left:0,right:0,top:0},position:r=k.LEFT,showTickLines:n=!0,tickLine:i,tickLineHover:o,tickText:s,tickValues:c=[],...d})=>{const u=w(d);return l.jsxs("g",{...u,children:[l.jsx(Z,{...J(d)}),c&&c.length>0&&c.map((e,a)=>{const r=Q(t,e.position)&&o?{...i,...o}:i,c="rotate"===s?.transform?`rotate(-30, ${s.x}, ${e.position})`:void 0;return l.jsx(q,{showTickLines:n,tick:e,tickLine:{...r,y1:e.position,y2:e.position},tickText:{...s,transform:c,y:e.position}},`${a.toString()}`)})]})},ie=(e,t,a)=>{let r=0;switch(e){case"middle":r=t/2+a;break;case"end":r=t+a;break;default:r=0}return r},oe=({position:e=k.LEFT,tickLine:t,tickText:a,...r})=>{const{yAxisCoordinates:{coordinates:n,tickValues:i},...o}=u.useContext(S),s=a?.textAnchor||"middle",c=(e===k.RIGHT?a?.right:a?.left)??0,d=ie(s,o.yAxisText,c),h=te(e,n.x1,d);return l.jsx(ne,{...n,...r,canvasHeight:Number(o.canvasHeight),canvasWidth:Number(o.canvasWidth),dataTestId:`${o.dataTestId}yAxis`,tickLine:{...t,x1:o.extraSpaceLeftX,x2:Number(o.canvasWidth)-o.extraSpaceRightX},tickText:{...a,x:h},tickValues:a?i:void 0})},se=e=>{if(e.custom)return e.custom?.values;if(e.numeric){const{max:t,min:a=0,step:r}=e.numeric,n=[];for(let e=a;e<=t;e+=r)n.push(e.toString());return n}},ce=(e,t)=>e.flatMap(e=>Object.keys(e).filter(a=>a!==t&&"number"==typeof e[a]).map(t=>Number(e[t]))),de=(e,t,a,r,n,i,o,s)=>{const{position:c,tickText:d,tickValues:l}=e.props,u=d?.fontSize??0,h=u*r,x=l?se(l):t.map(e=>e[a]),p=L({bound:"width",data:x,fontSize:u,svgHeight:`${o}`,svgWidth:`${s}`,viewBox:i}),f=n>p?n:p;return{barChartXPosition:c||k.BOTTOM,extraSpaceBottomY:c===k.BOTTOM?h+(d?.top??0):0,extraSpaceTopY:c===k.TOP?h+(d?.bottom??0):0,securityXSpace:f,xBreakAxis:l?.numeric?l.numeric.breakAxis??0:d?.custom?.breakAxis??0,xData:x}},le=(e,t,a,r,n,i,o,s)=>{const{position:c,tickText:d,tickValues:l}=e.props,u=d?.fontSize??0,h=u*r,x=l||R([...new Set(ce(t,a))]),p=se(x),f=n>h?n:h,g=L({bound:"width",data:p,fontSize:u,svgHeight:`${o}`,svgWidth:`${s}`,viewBox:i});return{barChartYPosition:c||k.LEFT,extraSpaceLeftX:c===k.LEFT?g+(d?.right??0):0,extraSpaceRightX:c===k.RIGHT?g+(d?.left??0):0,securityYSpace:f,yAxisText:g,yBreakAxis:l?.numeric?l.numeric.breakAxis??0:d?.custom?.breakAxis??0,yData:p}},ue=({ajustedX:e,ajustedY:t,canvasHeight:a,canvasWidth:r,children:n,data:i,gapBetweenBars:o,orientation:s,pKey:c,viewBox:d})=>{const{barChartXPosition:l,barChartYPosition:h,extraSpaceBottomY:x,extraSpaceLeftX:p,extraSpaceRightX:f,extraSpaceTopY:g,securityXSpace:y,securityYSpace:m,xAxisText:v,xBreakAxis:S,xData:R,yAxisText:L,yBreakAxis:w,yData:j}=(({ajustedX:e,ajustedY:t,canvasHeight:a,canvasWidth:r,children:n,data:i,gapBetweenBars:o,orientation:s,pKey:c,viewBox:d})=>{let l={barChartXPosition:k.BOTTOM,barChartYPosition:k.LEFT,extraSpaceBottomY:0,extraSpaceLeftX:0,extraSpaceRightX:0,extraSpaceTopY:0,securityXSpace:0,securityYSpace:0,xAxisText:0,xBreakAxis:0,xData:[],yAxisText:0,yBreakAxis:0,yData:[]},h=o;const x=[];return u.Children.forEach(n,n=>{if(u.isValidElement(n))if(n.type!==U||x.includes(n.props.order)||(x.push(n.props.order),h+=n.props.barConfig.barWidth??0),n.type===re){const t=s===$.VERTICAL?h:0;l={...l,...de(n,i,c,e,t,d,a,r)}}else if(n.type===oe){const e=s===$.HORIZONTAL?h:0;l={...l,...le(n,i,c,t,e,d,a,r)}}}),l})({ajustedX:e,ajustedY:t,canvasHeight:a,canvasWidth:r,children:n,data:i,gapBetweenBars:o,orientation:s,pKey:c,viewBox:d}),I=l!==k.TOP&&l!==k.BOTTOM,N=A({initPos:p,maxSpaceAvailable:r,otherAxisSpace:p+f,securitySpace:y,tickValues:R}),H=h!==k.LEFT&&h!==k.RIGHT,M=E({initPos:a-x,maxSpaceAvailable:a,needAjusted:s===$.HORIZONTAL,otherAxisSpace:g+x,securitySpace:m,tickValues:j}),O=I?b(M||[],[String(S)])[0]:0,D=H?b(N||[],[String(w)])[0]:0;return{crossXAxis:I,crossYAxis:H,extraSpaceBottomY:x,extraSpaceLeftX:p,extraSpaceRightX:f,extraSpaceTopY:g,securityXSpace:y,securityYSpace:m,xAxisCoordinates:{coordinates:C({canvasHeight:a,canvasWidth:r,customBreakAxis:Number(O),extraSpaceBottomY:x,extraSpaceLeftX:p,extraSpaceRightX:f,extraSpaceTopY:g,position:l}),tickValues:N},xAxisText:v,yAxisCoordinates:{coordinates:T({canvasHeight:a,canvasWidth:r,customBreakAxis:Number(D),extraSpaceBottomY:x,extraSpaceLeftX:p,extraSpaceRightX:f,extraSpaceTopY:g,position:h}),tickValues:M},yAxisText:L}},he=Object.assign(({canvasConfig:e=p,caption:t,children:a,classNames:r,data:n,dataTestId:i,gapBetweenBars:o=0,height:s="100%",orientation:c,pKey:d,role:g,tabIndex:y,width:m="100%",...$})=>{const{extraSpace:k,height:C,width:T}=e,b=v(T),A=v(C),E=k?v(k):void 0,R=x(b,A,E),L=(e=>{let t=0;return u.Children.toArray(e).forEach(e=>{u.isValidElement(e)&&e.type===U&&e.props.order>t&&(t=e.props.order)}),t})(a),w=2*o,j=[l.jsx(re,{},"default-x-axis"),l.jsx(oe,{},"default-y-axis")],I=u.Children.toArray(a)||[],N=j.concat(I),H=Math.max(b,A,E??0),M=b/H,O=A/H,D=f(n),B=u.useMemo(()=>ue({ajustedX:M,ajustedY:O,canvasHeight:A,canvasWidth:b,children:N,data:n,gapBetweenBars:w,orientation:c,pKey:d,viewBox:R}),[C,T,D,d,c]);return l.jsx(h,{caption:t,className:r,dataTestId:i,height:s,role:g,tabIndex:y,viewBox:R,width:m,...$,children:l.jsx(S.Provider,{value:{...B,barChildrenCount:L,canvasExtraSpace:E,canvasHeight:A,canvasWidth:b,data:n,dataTestId:i,gapBetweenBars:o,orientation:c,pKey:d},children:a})})},{Path:U,Separator:({areaSeparator:e,dataTestId:t,rightSeparator:a,topSeparator:r,xBreakAxis:n,yBreakAxis:i})=>{const{crossXAxis:o,crossYAxis:s,xAxisCoordinates:c,yAxisCoordinates:d}=u.useContext(S);if(!r&&!a&&!e)return l.jsx(l.Fragment,{});const h=n&&b(c.tickValues,[n],!0)[0],x=i&&b(d.tickValues,[i])[0],p=s?d.coordinates.x1:c.coordinates.x2,f=o?c.coordinates.y1:d.coordinates.y1,g=c.coordinates.x1,y=h??p,m=d.coordinates.y2,v=x??f,$=`M${g} ${m} H ${y} V ${v} H ${g} Z`,k=`M${g} ${v} H ${y}`,C=`M${y} ${m} V ${v}`;return l.jsxs("g",{children:[l.jsx("path",{d:$,"data-testid":`${t}Area`,...e}),l.jsx("path",{d:k,"data-testid":`${t}Top`,...r}),l.jsx("path",{d:C,"data-testid":`${t}Right`,...a})]})},XAxis:re,YAxis:oe}),xe=u.createContext({}),pe=({curved:e=!1,extendToBottom:t=!1,points:a,svgHeight:r})=>{if(0===a.length)return"";const[n,...i]=a;let o=`M ${n[0]} ${n[1]}`;return o+=e?i.reduce((e,t,r)=>{const[n,i]=a[r],[o,s]=t,c=.3*(o-n),d=[n+c,i],l=[o-c,s];return`${e} C ${d[0]} ${d[1]}, ${l[0]} ${l[1]}, ${o} ${s}`},""):i.reduce((e,t)=>`${e} L ${t[0]} ${t[1]}`,""),t&&(o+=` L ${i[i.length-1][0]} ${r} L ${n[0]} ${r} Z`),o},fe=(e,t)=>{if(!t)return e;const a=t<0,r=e*Math.abs(t)/100;return a?e-r:e+r},ge=(e,t,a)=>{if(!a)return e;const r=a<0,n=(0===e?t:e)*Math.abs(a)/100;return r?e+n:e-n},ye=({curved:e,lineProjection:t,points:a,svgHeight:r})=>{const{lower:n,shapeColor:i,upper:o}=t,{xProjection:s,yProjection:c,...d}=o||{},{xProjection:u,yProjection:h,...x}=n||{},p=s||c?{x:s,y:c}:void 0,f=u||h?{x:u,y:h}:void 0,{downPath:g,shapePath:y,upPath:m}=(({curved:e,lowerProjection:t,points:a,svgHeight:r,upperProjection:n})=>{const i=n||t;if(0===a.length&&!i)return{shapePath:""};const[o,...s]=a,c=`M ${o[0]} ${o[1]}`;let d=c,l=n?c:void 0,u=t?c:void 0;const h=[],x=[];s.forEach(([e,a])=>{const i=n?[fe(e,n.x),ge(a,r,n.y)]:[e,a],o=t?[fe(e,-(t.x??0)),ge(a,r,-(t.y??0))]:[e,a];h.push(i),x.push(o)});const p=n&&t?[...h,s.at(-1),...x.reverse(),o]:[...h,...x.reverse(),o];return e?(d+=p.reduce((e,t,a)=>{const r=0===a?o:p[a-1],[n,i]=r,[s,c]=t,d=.3*(s-n),l=[n+d,i],u=[s-d,c];return`${e} C ${l[0]} ${l[1]}, ${u[0]} ${u[1]}, ${s} ${c}`},""),l&&(l+=h.reduce((e,t,a)=>{const r=0===a?o:h[a-1],[n,i]=r,[s,c]=t,d=.3*(s-n),l=[n+d,i],u=[s-d,c];return`${e} C ${l[0]} ${l[1]}, ${u[0]} ${u[1]}, ${s} ${c}`},"")),u&&(u+=x.reverse().reduce((e,t,a)=>{const r=0===a?o:x[a-1],[n,i]=r,[s,c]=t,d=.3*(s-n),l=[n+d,i],u=[s-d,c];return`${e} C ${l[0]} ${l[1]}, ${u[0]} ${u[1]}, ${s} ${c}`},""))):(d+=p.reduce((e,t)=>`${e} L ${t?.[0]} ${t?.[1]}`,""),l&&(l+=h.reduce((e,t)=>`${e} L ${t[0]} ${t[1]}`,"")),u&&(u+=x.reverse().reduce((e,t)=>`${e} L ${t[0]} ${t[1]}`,""))),{downPath:u,shapePath:d,upPath:l}})({curved:e,lowerProjection:f,points:a,svgHeight:r,upperProjection:p});return l.jsxs("g",{className:"pointer-events-none",children:[l.jsx("path",{d:y,fill:i,stroke:"transparent",strokeWidth:"0.1"}),";",m&&l.jsx("path",{d:m,...d}),g&&l.jsx("path",{d:g,...x})]})},me=(e,t)=>e.map(e=>e[t]),ve={formatTicksValues:(e,t)=>e.map(e=>({...e,value:t(e.value)}))},Se=({ariaLabel:e,position:t=k.BOTTOM,tickLine:a,tickText:r,valueFormatter:n=e=>e,...i})=>{const{xAxisCoordinates:{coordinates:o,tickValues:s},xCursor:c,...d}=u.useContext(xe),h=ae(t,o.y1,Number(r?.fontSize),r?.top??0),x=d.extraSpaceTopY,p=Number(d.canvasHeight)-d.extraSpaceBottomY,f=r?ve.formatTicksValues(s,n):void 0,g=w(i),y=e||i["aria-label"],m={...i,...g,...y&&{"aria-label":y}};return l.jsx(ee,{...o,...m,canvasHeight:Number(d.canvasHeight),canvasWidth:Number(d.canvasWidth),cursor:c,dataTestId:`${d.dataTestId}xAxis`,extraSpace:{left:d.extraSpaceLeftX,right:d.extraSpaceRightX},tickLine:{...a,y1:x,y2:p},tickText:{...r,y:h},tickValues:f})},$e=({ariaLabel:e,position:t=k.LEFT,tickLine:a,tickText:r,valueFormatter:n=e=>e,...i})=>{const{yAxisCoordinates:{coordinates:o,tickValues:s},yCursor:c,...d}=u.useContext(xe),h=r?.textAnchor||"middle",x=(t===k.RIGHT?r?.right:r?.left)??0,p=ie(h,d.yAxisText,x),f=te(t,o.x1,p),g=r?ve.formatTicksValues(s,n):void 0,y=w(i),m=e||i["aria-label"],v={...i,...y,...m&&{"aria-label":m}};return l.jsx(ne,{...o,...v,canvasHeight:Number(d.canvasHeight),canvasWidth:Number(d.canvasWidth),cursor:c,dataTestId:`${d.dataTestId}yAxis`,tickLine:{...a,x1:d.extraSpaceLeftX,x2:Number(d.canvasWidth)-d.extraSpaceRightX},tickText:{...r,x:f},tickValues:g})},ke={GENERIC:"GENERIC"},Ce={[g]:g,[y]:y},Te="WIDTH",be=/^(\d+(\.\d+)?)(px|rem|%)?$/,Ae=e=>{if("number"==typeof e)return{unit:void 0,value:e};const t=e.match(be);if(!t)throw new Error(`Invalid string format: "${e}"`);const a=parseFloat(t[1]),r=t[3];return{unit:Ce[r],value:a}},Ee=(e,t,a)=>{const r=a.parentElement;return r?e/100*(t===Te?r.clientWidth:r.clientHeight):0},Re=e=>e*parseFloat(getComputedStyle(document.documentElement).fontSize),Le=({canvasHeight:e,canvasWidth:t,svgElement:a})=>{const{unit:r,value:n}=Ae(t),i=r===g?Ee(n,Te,a):r===y?Re(n):n,{unit:o,value:s}=Ae(e);return{parsedCanvasHeight:o===g?Ee(s,"HEIGHT",a):o===y?Re(s):s,parsedCanvasWidth:i}},we={INVALID_X_TICK:new Error("[getXTicks] Invalid X tick values calculated")},je=e=>we[e],Ie=e=>{if(e.custom)return e.custom?.values;if(e.numeric){const{max:t,min:a=0,step:r}=e.numeric;if(r>=Math.abs(t-a)||r<=0)return[a.toString(),t.toString()];const n=[];for(let e=a;e<=t;e+=r)n.push(e.toString());return n}},Ne=(e,t)=>e.flatMap(e=>Object.keys(e).filter(a=>a!==t&&"number"==typeof e[a]).map(t=>e[t])),He=(e,t,a,r,n,i,o)=>{const{position:s,tickText:c,tickValues:d,valueFormatter:l}=e.props,u=c?.fontSize??0,h=u*r,x=d?Ie(d):t.map(e=>e[a]),p=l?x.map(l):x,f=L({bound:"width",data:p,fontSize:u,svgHeight:`${i}`,svgWidth:`${o}`,viewBox:n}),g=s===k.TOP;return{extraSpaceBottomY:s===k.BOTTOM?h+(c?.top??0):0,extraSpaceTopY:g?h+(c?.bottom??0):0,lineChartXPosition:s||k.BOTTOM,securityXSpace:f,xBreakAxis:d?.numeric?d.numeric.breakAxis??0:c?.custom?.breakAxis??0,xData:x}},Me=(e,t,a,r,n,i,o)=>{const{position:s,tickText:c,tickValues:d,valueFormatter:l}=e.props,u=c?.fontSize??"0",h=u*r,x=d||R([...new Set(Ne(t,a))]),p=Ie(x),f=l?p.map(l):p,g=L({bound:"width",data:f,fontSize:u,svgHeight:`${i}`,svgWidth:`${o}`,viewBox:n}),y=h,m=s===k.RIGHT;return{extraSpaceLeftX:s===k.LEFT?g+(c?.right??0):0,extraSpaceRightX:m?g+(c?.left??0):0,lineChartYPosition:s||k.LEFT,securityYSpace:y,yAxisText:g,yBreakAxis:d?.numeric?d.numeric.breakAxis??0:c?.custom?.breakAxis??0,yData:p}},Oe=({ajustedX:e,ajustedY:t,canvasHeight:a,canvasWidth:r,children:n,data:i,viewBox:o,xKey:s})=>{let c;const{extraSpaceBottomY:d,extraSpaceLeftX:l,extraSpaceRightX:h,extraSpaceTopY:x,lineChartXPosition:p,lineChartYPosition:f,securityXSpace:g,securityYSpace:y,xAxisText:m,xBreakAxis:v,xData:S,yAxisText:$,yBreakAxis:R,yData:L}=(({ajustedX:e,ajustedY:t,canvasHeight:a,canvasWidth:r,children:n,data:i,viewBox:o,xKey:s})=>{let c={extraSpaceBottomY:0,extraSpaceLeftX:0,extraSpaceRightX:0,extraSpaceTopY:0,lineChartXPosition:k.BOTTOM,lineChartYPosition:k.LEFT,securityXSpace:0,securityYSpace:0,xAxisText:0,xBreakAxis:0,xData:[],yAxisText:0,yBreakAxis:0,yData:[]};return u.Children.forEach(n,n=>{u.isValidElement(n)&&(n.type===Se?c={...c,...He(n,i,s,e,o,a,r)}:n.type===$e&&(c={...c,...Me(n,i,s,t,o,a,r)}))}),c})({ajustedX:e,ajustedY:t,canvasHeight:a,canvasWidth:r,children:n,data:i,viewBox:o,xKey:s}),w=p!==k.TOP&&p!==k.BOTTOM,j=A({initPos:l,maxSpaceAvailable:r,otherAxisSpace:l+h,securitySpace:g,tickValues:S});(j??[]).some(({position:e})=>isNaN(e))&&(c={error:je("INVALID_X_TICK")});const I=f!==k.LEFT&&f!==k.RIGHT,N=E({initPos:a-d,maxSpaceAvailable:a,otherAxisSpace:x+d,securitySpace:y,tickValues:L}),H=w?b(N||[],[String(v)])[0]:0,M=I?b(j||[],[String(R)])[0]:0,O=C({canvasHeight:a,canvasWidth:r,customBreakAxis:Number(H),extraSpaceBottomY:d,extraSpaceLeftX:l,extraSpaceRightX:h,extraSpaceTopY:x,position:p}),D=T({canvasHeight:a,canvasWidth:r,customBreakAxis:Number(M),extraSpaceBottomY:d,extraSpaceLeftX:l,extraSpaceRightX:h,extraSpaceTopY:x,position:f});return c?{crossXAxis:w,crossYAxis:I,error:c,extraSpaceBottomY:d,extraSpaceLeftX:l,extraSpaceRightX:h,extraSpaceTopY:x,securityXSpace:g,securityYSpace:y,xAxisCoordinates:{coordinates:O,tickValues:[{position:0,value:"0"},{position:r,value:"1"}]},xAxisText:m,yAxisCoordinates:{coordinates:D,tickValues:[{position:a,value:"0"},{position:0,value:"1"}]},yAxisText:$}:{crossXAxis:w,crossYAxis:I,extraSpaceBottomY:d,extraSpaceLeftX:l,extraSpaceRightX:h,extraSpaceTopY:x,securityXSpace:g,securityYSpace:y,xAxisCoordinates:{coordinates:O,tickValues:j},xAxisText:m,yAxisCoordinates:{coordinates:D,tickValues:N},yAxisText:$}},De=Object.assign(({ariaHidden:e,ariaLabel:t,canvasConfig:a=p,caption:r,children:n,classNames:i,data:o,dataTestId:s="line-chart",getPathArea:c,height:d="100%",onErrors:g,role:y,tabIndex:m,width:S="100%",xKey:$,...k})=>{const{extraSpace:C,height:T,width:b}=a,[A,E]=u.useState(""),[R,L]=u.useState({height:0,width:0}),w=C?v(C):void 0,j=x(R.width,R.height,w),N=[l.jsx(Se,{},"default-x-axis"),l.jsx($e,{},"default-y-axis")],H=u.Children.toArray(n)||[],M=N.concat(H),O=Math.max(R.width,R.height,w??0),D=isNaN(R.width/O)?0:R.width/O,B=isNaN(R.height/O)?0:R.height/O;(({attrName:e,children:t,originalValue:a,updateValue:r})=>{let n="";u.Children.toArray(t).forEach(t=>{if(u.isValidElement(t)){const a=t.props[e];a&&(n+=a)}}),n!==a&&r(n)})({attrName:"dataKey",children:M,originalValue:A,updateValue:E});const _=f(o),W=u.useMemo(()=>Oe({ajustedX:D,ajustedY:B,canvasHeight:R.height,canvasWidth:R.width,children:M,data:o,viewBox:j,xKey:$}),[R.width,R.height,_,$,A]);u.useEffect(()=>{W.error&&g&&g({[ke.GENERIC]:W.error})},[W.error,g]);const{svgRef:F,xCursor:P,yCursor:V}=(({canvasHeight:e,canvasWidth:t})=>{const[[a,r],n]=u.useState([I,I]),i=u.useCallback((a,r)=>{const{height:i,left:o,top:s,width:c}=r.getBoundingClientRect(),d=a.clientX-o,l=a.clientY-s;n([d*t/c,l*e/i])},[t,e]),o=e=>{e.preventDefault()};return{svgRef:u.useCallback(e=>{e&&(e.addEventListener("touchstart",o),e.addEventListener("touchmove",t=>i(t.touches[0],e)),e.addEventListener("mousemove",t=>i(t,e))),e?.removeEventListener("touchstart",o),e?.removeEventListener("touchmove",t=>i(t.touches[0],e)),e?.removeEventListener("mousemove",t=>i(t,e))},[e,t]),xCursor:a,yCursor:r}})({canvasHeight:R.height,canvasWidth:R.width});return u.useEffect(()=>{const e=document.querySelector("[data-kbt-svg]");if(!e)return;const{parsedCanvasHeight:t,parsedCanvasWidth:a}=Le({canvasHeight:T,canvasWidth:b,svgElement:e});L({height:t,width:a})},[b,T]),u.useEffect(()=>{c?.({x1:W.extraSpaceLeftX,x2:R.width-W.extraSpaceRightX,y1:W.extraSpaceTopY,y2:R.height-W.extraSpaceBottomY})},[R.width,R.height]),l.jsx(h,{ref:F,ariaHidden:e,ariaLabel:t,caption:r,className:i,"data-kbt-svg":!0,dataTestId:s,height:d,role:y,tabIndex:m,viewBox:j,width:S,...k,children:l.jsx(xe.Provider,{value:{...W,canvasExtraSpace:w,canvasHeight:R.height,canvasWidth:R.width,data:o,dataTestId:s,xCursor:P,xKey:$,yCursor:V},children:n})})},{Path:({ariaLabel:e,closestClick:t,curved:a,getNodeFocusInfo:r,getNodesCoords:n,indicatorConfig:i,lineProjection:o,onClick:s,...c})=>{const{xAxisCoordinates:d,yAxisCoordinates:h,...x}=u.useContext(xe),{indicatorRef:p,pathRef:f}=((e,t)=>{const a=u.useRef(null),r=u.useRef(null);return u.useEffect(()=>{if(!t||!a.current||!r.current)return;const n=a.current,i=r.current;let o,s,c=0,d=n.getTotalLength();for(;d-c>.01;)o=(c+d)/2,s=n.getPointAtLength(o),s.x<e?c=o:d=o;const l=n.getPointAtLength(d);i.setAttribute("transform",`translate(${l.x}, ${l.y})`),i.setAttribute("pointer-events","none")},[e]),{indicatorRef:r,pathRef:a}})(x.xCursor,!!i),g=!!i&&x.xCursor!==-1/0,y=u.useRef(null),m=u.useRef(null),{autoClick:v,lineIndicator:S,...$}=i||{},k=x.extraSpaceTopY,C=Number(x.canvasHeight)-x.extraSpaceBottomY,{tickValues:T}=d,{tickValues:A}=h,E=me(x.data,x.xKey),R=me(x.data,c.dataKey),L=b(T,E,!0),j=b(A,R),I=L.map((e,t)=>[e,j[t]]),N=pe({curved:a,extendToBottom:!1,points:I,svgHeight:Number(x.canvasHeight)-x.extraSpaceBottomY}),H=pe({curved:a,extendToBottom:!!c.fill||!!c.gradient,points:I,svgHeight:Number(x.canvasHeight)-x.extraSpaceBottomY});u.useEffect(()=>{if(!y.current?.path)return;f.current=y.current.path;const e=y.current.main,t=y.current.node,a=E.map((e,t)=>({x:e,y:R[t]})),{mount:n,unmount:i}=(({data:e,getNodeFocusInfo:t,nodes:a,ref:r})=>{let n,i=!1;const o=r.querySelector("[data-draw]"),s=r=>{i&&("ArrowRight"===r.key?(n=void 0===n||n===a.length-1?0:n+1,a[n].focus(),t?.(e[n])):"ArrowLeft"===r.key&&(n=void 0===n||0===n?a.length-1:n-1,a[n].focus(),t?.(e[n])))},c=()=>{i=!0},d=()=>{i=!1},l=()=>{n=void 0};return{mount:()=>{r.addEventListener("focusin",c),r.addEventListener("focusout",d),o?.addEventListener("focus",l),window.addEventListener("keydown",e=>s(e))},unmount:()=>{r.removeEventListener("focusin",c),r.removeEventListener("focusout",d),o?.removeEventListener("focus",l),window.removeEventListener("keydown",e=>s(e))}}})({data:a,getNodeFocusInfo:r,nodes:t,ref:e});return n(),()=>i()},[]),u.useEffect(()=>{if(c.nodeConfig&&g&&v){const{idx:e,match:t}=((e,t)=>{let a=0,r=!1;for(let n=0;n<e.length;n++)if(Math.round(e[n])===Math.round(t)){r=!0,a=n;break}return{idx:a,match:r}})(L,x.xCursor);if(t&&e!==m.current){m.current=e;const t=new MouseEvent("click",{bubbles:!0});t.autoClick=!0,y.current?.node?.[e]?.dispatchEvent(t),navigator?.vibrate?.(200)}else m.current=null}},[x.xCursor]),u.useEffect(()=>{n?.(I)},[I]);const M=w(c),O={...c,...M,...e&&{"aria-label":e}};return l.jsxs(l.Fragment,{children:[l.jsx(Y,{ref:y,d:N,dFill:H,dataTestId:`${x.dataTestId}path`,dataValue:x.data,points:I,xKey:x.xKey,onClick:e=>{if(s?.(e),t){const e=((e,t)=>{let a=0,r=Math.abs(e[0]-t);for(let n=1;n<e.length;n++){const i=Math.abs(e[n]-t);i<r&&(a=n,r=i)}return a})(L,x.xCursor),t=new MouseEvent("click",{bubbles:!0});t.autoClick=!1,y.current?.node?.[e]?.dispatchEvent(t)}},...O}),o&&l.jsx(ye,{curved:a,dataKey:c.dataKey,lineProjection:o,points:I,svgHeight:Number(x.canvasHeight)-x.extraSpaceBottomY}),g&&l.jsxs(l.Fragment,{children:[!!S&&l.jsx(Z,{...S,className:"pointer-events-none",x1:x.xCursor,x2:x.xCursor,y1:k,y2:C}),l.jsx("g",{ref:p,className:"pointer-events-none",children:l.jsx(V,{...$})})]})]})},Separator:({areaSeparator:e,dataTestId:t,rightSeparator:a,topSeparator:r,xBreakAxis:n,yBreakAxis:i})=>{const{crossXAxis:o,crossYAxis:s,xAxisCoordinates:c,yAxisCoordinates:d}=u.useContext(xe);if(!r&&!a&&!e)return l.jsx(l.Fragment,{});const h=n&&b(c.tickValues,[n],!0)[0],x=i&&b(d.tickValues,[i])[0],p=s?d.coordinates.x1:c.coordinates.x2,f=o?c.coordinates.y1:d.coordinates.y1,g=c.coordinates.x1,y=h??p,m=d.coordinates.y2,v=x??f,S=`M${g} ${m} H ${y} V ${v} H ${g} Z`,$=`M${g} ${v} H ${y}`,k=`M${y} ${m} V ${v}`;return l.jsxs("g",{children:[l.jsx("path",{d:S,"data-testid":`${t}Area`,...e}),l.jsx("path",{d:$,"data-testid":`${t}Top`,...r}),l.jsx("path",{d:k,"data-testid":`${t}Right`,...a})]})},XAxis:Se,YAxis:$e}),Be=({children:e,dataTestId:t,height:a,width:r,x:n,y:i})=>l.jsx("foreignObject",{"data-testid":t,height:a,width:r,x:n,y:i,children:e}),_e=u.createContext({}),We=(e,t,a)=>({x:e.x+t*Math.cos(a),y:e.y+t*Math.sin(a)}),Fe=({center:e,innerEnd:t,innerRadius:a,singleStroke:r})=>{if(!r)return a>0?`L ${t.x},${t.y}`:`L ${e.x},${e.y}`},Pe="CLOCKWISE",Ve=({canvasHeight:e,canvasWidth:t,color:a="blue",gap:r,halfChart:n,innerRadius:i,radius:o,singleStroke:s,startAngle:c,total:d,value:u,...h})=>{const x=(({canvasHeight:e,canvasWidth:t,customRadius:a,gap:r,halfChart:n,innerRadius:i,rotateDirection:o,singleStroke:s,startAngle:c,total:d,value:l})=>{const u=n?2*e:e,h=Math.min(t,u)/2,x=a&&a<h?a:h,p=n?Math.PI:2*Math.PI,f={x:t/2,y:n?e:e/2},g=s?2*d:d,y=100*l/g*p/100,m=r/x,{carryAngle:v,finalAngle:S,initialAngle:$}=(({angleEquivalent:e,direction:t,gapAngle:a,startAngle:r})=>{const n=t===Pe;return{carryAngle:n?r+e:r-e,finalAngle:n?r+e-a/2:r-e+a/2,initialAngle:n?r+a/2:r-a/2}})({angleEquivalent:y,direction:o,gapAngle:m,startAngle:c.current});c.current=v;const k=p*l/g-m<=Math.PI?"0":"1",C=We(f,i,$),T=We(f,i,S),b=We(f,x,$);return(({center:e,innerEnd:t,innerRadius:a,innerStart:r,largeArcFlag:n,outerEnd:i,outerStart:o,radius:s,rotateDirection:c,singleStroke:d})=>{let l,u,h,x,p,f,g,y,m,v;return c===Pe?(l=`M ${o.x},${o.y}`,u=`A ${s},${s} 0 ${n} 1 ${i.x}, ${i.y}`,h=Fe({center:e,innerEnd:t,innerRadius:a,singleStroke:d}),x=d?`M ${t.x},${t.y}`:void 0,p=a>0?`A ${a},${a} 0 ${n} 0 ${r.x},${r.y}`:void 0,f=`M ${o.x},${o.y}`,y=`M ${t.x},${t.y}`,g=`A ${s},${s} 0 ${n} 0 ${i.x},${i.y}`,m=`A ${a},${a} 0 ${n} 1 ${r.x},${r.y}`,v=d?void 0:"Z"):(l=`M ${o.x} ${o.y}`,u=`A ${s},${s} 0 ${n},0 ${i.x}, ${i.y}`,h=Fe({center:e,innerEnd:t,innerRadius:a,singleStroke:d}),x=d?`M ${t.x},${t.y}`:void 0,p=a>0?`A ${a}, ${a} 0 ${n},1 ${r.x},${r.y}`:void 0,f=`M ${o.x},${o.y}`,y=`M ${t.x},${t.y}`,g=`A ${s},${s} 0 ${n} 1 ${i.x},${i.y}`,m=`A ${a},${a} 0 ${n} 0 ${r.x},${r.y}`,v=d?void 0:"Z"),[l,u,h,x,p,v].concat(d?[f,g,y,m]:[]).filter(Boolean).join(" ")})({center:f,innerEnd:T,innerRadius:i,innerStart:C,largeArcFlag:k,outerEnd:We(f,x,S),outerStart:b,radius:x,rotateDirection:o,singleStroke:s})})({canvasHeight:e,canvasWidth:t,customRadius:o,gap:r,halfChart:n,innerRadius:i,singleStroke:s,startAngle:c,total:d,value:u});return l.jsx(Y,{...h,d:x,dataValue:u,fill:a})},Xe=({dataKey:e,fill:t,gap:a,innerRadius:r,radius:n,...i})=>{const o=String(e),{canvasHeight:s,canvasWidth:c,data:d,dataTestId:h,halfChart:x}=u.useContext(_e),p=x?0:-Math.PI/2,f=u.useRef(p),g=d[o]?.reduce((e,t)=>e+t.value,0),y=1===d[o]?.length,m=r?v(r):void 0,S=n?v(n):void 0;return d[o]?.length?l.jsx("g",{children:d[o].map((e,r)=>u.createElement(Ve,{...i,...e,key:`${r.toString()}`,canvasHeight:s,canvasWidth:c,color:e.color||t,dataTestId:`${h}path-${r}`,gap:a,halfChart:x,innerRadius:m,radius:S,singleStroke:y,startAngle:f,total:g}))}):l.jsx(l.Fragment,{})},Ye=Object.assign(({ariaHidden:e,ariaLabel:t,canvasConfig:a=p,caption:r,children:n,classNames:i,data:o,dataTestId:s="pie-chart",halfChart:c,height:d="100%",radius:f="50%",role:g,tabIndex:y,width:m="100%",...S})=>{const{extraSpace:$,height:k,width:C}=a,T=v(C),b=v(k),A=$?v($):void 0,E=x(T,b,A),R=u.useMemo(()=>(({canvasHeight:e,canvasWidth:t,children:a,halfChart:r})=>{let n,i;u.Children.forEach(a,e=>{if(u.isValidElement(e)&&e.type===Xe){const{innerRadius:t}=e.props;if(!t)return;const a=v(t);(!n||a<n)&&(n=a)}}),n&&(i=2*n);const o=i??0,s=r?o/2:o,c=r?e:e/2;return{foreignObject:{height:s,width:o,x:t/2-o/2,y:r?c-s:c-s/2}}})({canvasHeight:b,canvasWidth:T,children:n,halfChart:c}),[k,C,c]);return l.jsx(h,{ariaHidden:e,ariaLabel:t,caption:r,className:i,dataTestId:s,height:d,radius:f,role:g,tabIndex:y,viewBox:E,width:m,...S,children:l.jsx(_e.Provider,{value:{...R,canvasHeight:b,canvasWidth:T,data:o,dataTestId:s,halfChart:c},children:n})})},{Foreign:({children:e,dataTestId:t,height:a,width:r,x:n,y:i,...o})=>{const{dataTestId:s,foreignObject:c}=u.useContext(_e),d=!r&&c?.width?c.width:r,h=!a&&c?.height?c.height:a,x=!n&&c?.x?c.x:n,p=!i&&c?.y?c.y:i,f=!t&&s?`${s}-foreign-object`:t;return l.jsx(Be,{...o,dataTestId:f,height:h,width:d,x:x,y:p,children:e})},Path:Xe}),Ke=({fill:e="#8f8f8f",x:t,y:a})=>l.jsxs("g",{fill:e,pointerEvents:"none",transform:`translate(${t-5}, ${a-5})`,children:[l.jsx("path",{d:"M4.99948 9.99802C4.47168 9.99802 4.04419 9.64335 4.04419 9.20547V0.79255C4.04419 0.354666 4.47168 0 4.99948 0C5.52728 0 5.95477 0.354666 5.95477 0.79255V9.20745C5.95477 9.64533 5.52728 10 4.99948 10V9.99802Z"}),l.jsx("path",{d:"M0.955289 8.78839C0.427492 8.78839 0 8.43372 0 7.99584V2.00416C0 1.56628 0.427492 1.21161 0.955289 1.21161C1.48309 1.21161 1.91058 1.56628 1.91058 2.00416V7.99584C1.91058 8.43372 1.48309 8.78839 0.955289 8.78839Z"}),l.jsx("path",{d:"M8.08936 7.99584C8.08936 8.43372 8.51685 8.78839 9.04464 8.78839C9.57244 8.78839 9.99993 8.43372 9.99993 7.99584V2.00416C9.99993 1.56628 9.57244 1.21161 9.04464 1.21161C8.51685 1.21161 8.08936 1.56628 8.08936 2.00416V7.99584Z"})]}),ze=({linesData:e})=>l.jsx(l.Fragment,{children:e.map((e,t)=>l.jsxs("g",{children:[e.config.fill&&e.fillPath&&l.jsx("path",{d:e.fillPath,fill:e.config.fill,fillOpacity:e.config.fillOpacity||.2,stroke:"none"}),l.jsx("path",{d:e.linePath,fill:"none",stroke:e.config.stroke||"#0078D4",strokeWidth:e.config.strokeWidth||1})]},e.config.dataKey||e.config.yKey||t))}),Ue={FOCUS_COLOR:"#0078D4",FOCUS_INNER:"#ffffff",INNER_FOCUS_STROKE_WIDTH:2,OUTER_FOCUS_STROKE_WIDTH:2,OUTLINES_GAP:0},Ze=({elementHeight:e,elementPosition:t,elementStrokeWidth:a=0,elementType:r,elementWidth:n,gap:i=0,innerStrokeWidth:o=2,outlineStrokeWidth:s=2})=>{if("circle"===r){const e=n/2+a/2+o/2+i,r=e+o/2+s/2;return{inner:{cx:t.x,cy:t.y,r:e},outer:{cx:t.x,cy:t.y,r:r},type:"circle"}}const c=n+a+o+2*i,d=e+a+o+2*i,l=c+o+s,u=d+o+s;return{inner:{height:d,width:c,x:t.x-c/2,y:t.y-d/2},outer:{height:u,width:l,x:t.x-l/2,y:t.y-u/2},type:"rectangle"}},Ge=(e,t,a)=>{const r=e.start/Math.max(1,t-1)*a;return{endX:e.end/Math.max(1,t-1)*a,startX:r}},qe=(e,t,a)=>{const r=Math.max(0,Math.min(t,e))/t;return Math.round(r*(a-1))},Qe=(e,t,a=.1)=>{const r=Math.max(0,Math.min(e.start,t-1-a));return{end:Math.min(t-1,Math.max(e.end,r+a)),start:r}},Je=e=>({end:Math.max(0,e-1),start:0}),et=(e,t)=>0===e.start&&e.end===t-1,tt=({endX:e,focusConfig:t,height:a,isFocused:r,startX:n})=>{if(!r)return null;const i=e-n,o=Ze({elementHeight:a,elementPosition:{x:n+i/2,y:a/2},elementStrokeWidth:0,elementType:"rectangle",elementWidth:i,gap:t.gap,innerStrokeWidth:t.innerStrokeWidth,outlineStrokeWidth:t.outlineStrokeWidth}),s=t.outlineColor,c=t.innerColor,d=t.outlineStrokeWidth,u=t.innerStrokeWidth;return"rectangle"!==o.type?null:l.jsxs("g",{pointerEvents:"none",children:[l.jsx("rect",{fill:"none",height:o.outer.height,stroke:s,strokeWidth:d,width:o.outer.width,x:o.outer.x,y:o.outer.y}),l.jsx("rect",{fill:"none",height:o.inner.height,stroke:c,strokeWidth:u,width:o.inner.width,x:o.inner.x,y:o.inner.y})]})},at=({currentRange:e,dataLength:t,dataTestId:a,endX:r,height:n,onBlur:i,onFocus:o,onKeyDown:s,onMouseDown:c,onTouchStart:d,screenReaderText:u,selectionConfig:h,startX:x})=>{const p=h.hideOverlayOnFullRange&&et(e,t);return l.jsx(l.Fragment,{children:l.jsx("rect",{"aria-label":u,"aria-valuemax":t-1,"aria-valuemin":0,"aria-valuetext":u,cursor:"grab","data-testid":a,fill:h.fill,fillOpacity:h.fillOpacity,height:n,role:"slider",stroke:h.stroke,strokeWidth:h.strokeWidth,style:{outline:"none",visibility:p?"hidden":"visible"},tabIndex:0,width:r-x,x:x,y:0,onBlur:i,onFocus:o,onKeyDown:s,onMouseDown:c,onTouchStart:d})})},rt="#8f8f8f",nt=({dataTestId:e,focusConfig:t,handlerConfig:a,height:r,isFocused:n,max:i,min:o,onBlur:s,onFocus:c,onKeyDown:d,onMouseDown:u,onTouchStart:h,screenReaderText:x,x:p})=>{const f=r/2,g=(e=>({fill:e?.fill||"#ffffff",iconColor:e?.iconColor||rt,radius:e?.radius||17,stroke:e?.stroke||rt,strokeWidth:e?.strokeWidth||1,verticalLineStroke:e?.verticalLineStroke||rt,verticalLineStrokeWidth:e?.verticalLineStrokeWidth||2}))(a),y=Ze({elementHeight:2*g.radius,elementPosition:{x:p,y:f},elementStrokeWidth:"number"==typeof g.strokeWidth?g.strokeWidth:parseFloat(g.strokeWidth.toString()),elementType:"circle",elementWidth:2*g.radius,gap:t.gap,innerStrokeWidth:t.innerStrokeWidth,outlineStrokeWidth:t.outlineStrokeWidth});return l.jsxs("g",{"data-testid":`${e}-group`,children:[l.jsx("line",{pointerEvents:"none",stroke:g.verticalLineStroke,strokeWidth:g.verticalLineStrokeWidth,x1:p,x2:p,y1:0,y2:r}),l.jsx("circle",{"aria-label":x,"aria-valuemax":i,"aria-valuemin":o,"aria-valuetext":x,cursor:"ew-resize",cx:p,cy:f,"data-testid":e,fill:g.fill,r:g.radius,role:"slider",stroke:g.stroke,strokeWidth:g.strokeWidth,style:{outline:"none"},tabIndex:0,onBlur:s,onFocus:c,onKeyDown:d,onMouseDown:u,onTouchStart:h}),l.jsx(Ke,{fill:g.iconColor,x:p,y:f}),n&&"circle"===y.type&&l.jsxs("g",{pointerEvents:"none",children:[l.jsx("circle",{cx:y.outer.cx,cy:y.outer.cy,fill:"none",r:y.outer.r,stroke:t.outlineColor,strokeWidth:t.outlineStrokeWidth}),l.jsx("circle",{cx:y.inner.cx,cy:y.inner.cy,fill:"none",r:y.inner.r,stroke:t.innerColor,strokeWidth:t.innerStrokeWidth})]})]})},it={END_HANDLER:"END_HANDLER",SELECTION_AREA:"SELECTION_AREA",START_HANDLER:"START_HANDLER"},ot=e=>{const{currentRange:t,dataLength:a,interactionConfig:r,onRangeChange:n,width:i}=e,o=u.useRef(null),[s,c]=u.useState(null),d=u.useCallback(e=>()=>{c(e)},[]),l=u.useCallback(e=>()=>{c(e)},[]),h=u.useCallback(e=>{if(!s||!o.current)return;const c=o.current;if(!c)return;const d=e-c.getBoundingClientRect().left,l=qe(d,i,a),u=((e,t,a,r,n)=>{const i={...t};if(e===it.START_HANDLER)i.start=Math.max(0,Math.min(a,t.end-n.minHandlerDistance));else if(e===it.END_HANDLER)i.end=Math.min(r-1,Math.max(a,t.start+n.minHandlerDistance));else if(e===it.SELECTION_AREA){const e=t.end-t.start,n=Math.max(0,Math.min(r-1-e,a-e/2));i.start=n,i.end=n+e}return i})(s,t,l,a,r),h=Qe(u,a,r.minHandlerDistance);n(h)},[s,i,a,t,n,r]),x=u.useCallback(e=>{h(e.clientX)},[h]),p=u.useCallback(e=>{0!==e.touches.length&&(e.preventDefault(),h(e.touches[0].clientX))},[h]),f=u.useCallback(()=>{c(null)},[]),g=u.useCallback(()=>{c(null)},[]);return u.useEffect(()=>{if(s)return document.addEventListener("mousemove",x),document.addEventListener("mouseup",f),document.addEventListener("touchmove",p,{passive:!1}),document.addEventListener("touchend",g),()=>{document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",f),document.removeEventListener("touchmove",p),document.removeEventListener("touchend",g)}},[s,x,f,p,g]),{groupRef:o,handleMouseDown:d,handleTouchStart:l,isDragging:s}},st=e=>{const{currentRange:t,dataLength:a,interactionConfig:r,onRangeChange:n}=e;return{handleKeyDown:u.useCallback(e=>i=>{const o=i.shiftKey?r.keyboardFastStep:r.keyboardStep;let s={...t};switch(i.key){case"ArrowLeft":case"ArrowDown":i.preventDefault(),s=((e,t,a,r)=>{const n={...t};if(e===it.START_HANDLER)n.start=Math.max(0,t.start-a);else if(e===it.END_HANDLER)n.end=Math.max(t.start+r.minHandlerDistance,t.end-a);else if(e===it.SELECTION_AREA){const e=t.end-t.start,r=Math.max(0,t.start-a);n.start=r,n.end=r+e}return n})(e,t,o,r);break;case"ArrowRight":case"ArrowUp":i.preventDefault(),s=((e,t,a,r,n)=>{const i={...t};if(e===it.START_HANDLER)i.start=Math.min(t.end-n.minHandlerDistance,t.start+a);else if(e===it.END_HANDLER)i.end=Math.min(r-1,t.end+a);else if(e===it.SELECTION_AREA){const e=t.end-t.start,n=Math.min(r-1-e,t.start+a);i.start=n,i.end=n+e}return i})(e,t,o,a,r);break;case"Home":i.preventDefault(),s=((e,t,a)=>{const r={...t};if(e===it.START_HANDLER)r.start=0;else if(e===it.END_HANDLER)r.end=a-1;else if(e===it.SELECTION_AREA){const e=t.end-t.start;r.start=0,r.end=e}return r})(e,t,a);break;case"End":i.preventDefault(),s=((e,t,a,r)=>{const n={...t};if(e===it.START_HANDLER)n.start=t.end-r.minHandlerDistance;else if(e===it.END_HANDLER)n.end=a-1;else if(e===it.SELECTION_AREA){const e=t.end-t.start;n.start=a-1-e,n.end=a-1}return n})(e,t,a,r);break;default:return}const c=Qe(s,a,r.minHandlerDistance);n(c)},[t,a,n,r])}},ct=({canvasConfig:e,dataTestId:t,extraSpace:a=0,height:r,width:n})=>{const[i,o]=u.useState({height:0,width:0}),s=u.useMemo(()=>e||{extraSpace:a,height:r,width:n},[e,n,r,a]),{extraSpace:c,height:d,width:l}=s,h=c?v(c):void 0;u.useEffect(()=>{const e=document.querySelector(`[data-testid="${t}"]`);if(!e)return;const a=()=>{const{parsedCanvasHeight:t,parsedCanvasWidth:a}=Le({canvasHeight:d,canvasWidth:l,svgElement:e});o({height:t,width:a})};a();const r=new ResizeObserver(()=>{a()});return r.observe(e),()=>{r.disconnect()}},[l,d,t]);const p=u.useMemo(()=>x(i.width,i.height,h),[i.width,i.height,h]);return{parsedCanvas:i,viewBox:p}},dt=()=>{const[e,t]=u.useState(null),a=u.useCallback(e=>()=>t(e),[]);return{handleBlur:u.useCallback(()=>{t(null)},[]),handleFocus:a,isFocused:u.useCallback(t=>e===t,[e])}},lt=(e,t)=>{const a=Math.floor(e);return Math.max(0,Math.min(t,a))},ut=(e,t)=>{const a=Math.ceil(e);return Math.max(0,Math.min(t,a))},ht=(e,t)=>{const a=Math.max(0,t-1);return{endIndex:ut(e.end,a),startIndex:lt(e.start,a)}},xt=({data:e,initialRange:t,onDataChange:a})=>{const r=t||Je(e.length),[n,i]=u.useState(r),o=t=>{if(!a||0===e.length)return;const{endIndex:r,startIndex:n}=ht(t,e.length),i=e.slice(n,r+1);a(i)};return u.useEffect(()=>{o(n)},[]),{currentRange:n,handleRangeChange:e=>{i(e),o(e)}}},pt=e=>({keyboardFastStep:e?.keyboardFastStep??2,keyboardStep:e?.keyboardStep??1,minHandlerDistance:e?.minHandlerDistance??1}),ft=e=>{if(0===e.length)return"";if(1===e.length)return`M ${e[0][0]} ${e[0][1]}`;const[t,...a]=e;let r=`M ${t[0]} ${t[1]}`;return a.forEach((e,n)=>{const i=0===n?t:a[n-1],[o,s]=i,[c,d]=e,l=.3*(c-o),u=[o+l,s],h=[c-l,d];r+=` C ${u[0]} ${u[1]}, ${h[0]} ${h[1]}, ${c} ${d}`}),r},gt=(e,t,a,r)=>{if(0===e.length||0===t.length)return[];const n=.05*r,i=r-2*n,o=t.flatMap(t=>e.map(e=>Number(e[t.yKey]))),s=Math.min(...o),c=Math.max(...o)-s||1;return t.map(t=>{const o=e.map((r,o)=>[o/Math.max(1,e.length-1)*a,n+i-(Number(r[t.yKey])-s)/c*i]),d=t.curved?ft(o):`M ${o.map(([e,t])=>`${e},${t}`).join(" L ")}`;let l="";return t.fill&&(l=t.curved?`${ft(o)} L ${a} ${r} L 0 ${r} Z`:`${d} L ${a},${r} L 0,${r} Z`),{config:t,fillPath:l,linePath:d}})},yt=(e,t,a)=>e[a]?.[t]?.toString()||`${a}`,mt=(e,t,a)=>{if(!e)return e;const r=new RegExp("{{startValue}}","g"),n=new RegExp("{{endValue}}","g");return e.replace(r,t).replace(n,a)};e.Bar=z,e.BarChart=he,e.BarOrientation=$,e.ChartText=G,e.DefaultCanvasConfig=p,e.ErrorType=ke,e.FOCUS_DEFAULT=Ue,e.ForeignObject=Be,e.HandlerIcon=Ke,e.Line=Z,e.LineChart=De,e.LineRenderer=ze,e.Node=V,e.NodeType=F,e.Path=Y,e.PieChart=Ye,e.Positions=k,e.SelectionArea=at,e.SelectionAreaFocusRing=tt,e.SvgContainer=h,e.Tick=q,e.TickDataUtils=ve,e.XAxis=ee,e.YAxis=ne,e.ZoomArea=({ariaHidden:e,ariaLabel:t,backgroundColor:a,canvasConfig:r,caption:n,classNames:i,data:o,focusConfig:s,handlerConfig:c,height:d="40px",initialRange:x,interactionConfig:p,lines:g,onDataChange:y,role:m,screenReaderTextConfig:v,selectionConfig:S,width:$="100%",xKey:k,...C})=>{const T="zoom-area",b=pt(p),A=(E=S,{fill:E?.fill??"#0078d4",fillOpacity:E?.fillOpacity??.5,hideOverlayOnFullRange:E?.hideOverlayOnFullRange??true,stroke:E?.stroke??"#0078d4",strokeWidth:E?.strokeWidth??0});var E;const R=(e=>({gap:e?.gap??Ue.OUTLINES_GAP,innerColor:e?.innerColor??Ue.FOCUS_INNER,innerStrokeWidth:e?.innerStrokeWidth??Ue.INNER_FOCUS_STROKE_WIDTH,outlineColor:e?.outlineColor??Ue.FOCUS_COLOR,outlineStrokeWidth:e?.outlineStrokeWidth??Ue.OUTER_FOCUS_STROKE_WIDTH}))(s),{currentRange:L,handleRangeChange:w}=xt({data:o,initialRange:x,onDataChange:y}),{parsedCanvas:j,viewBox:I}=ct({canvasConfig:r,dataTestId:T,height:d,width:$}),N=f(o),H=JSON.stringify(g),M=((e,t,a,r)=>{const{endIndex:n,startIndex:i}=ht(a,e.length),o=yt(e,t,i),s=yt(e,t,n),c=mt(r?.startHandler,o,s)??o;return{endHandler:mt(r?.endHandler,o,s)??s,selectionArea:mt(r?.selectionArea,o,s)??`${o} - ${s}`,startHandler:c}})(o,k,L,v),O=u.useMemo(()=>gt(o,g,j.width,j.height),[N,H,j.width,j.height]),{endX:D,startX:B}=u.useMemo(()=>Ge(L,o.length,j.width),[L,N,j.width]),{handleBlur:_,handleFocus:W,isFocused:F}=dt(),{handleKeyDown:P}=st({currentRange:L,dataLength:o.length,interactionConfig:b,onRangeChange:w}),{groupRef:V,handleMouseDown:X,handleTouchStart:Y}=ot({currentRange:L,dataLength:o.length,interactionConfig:b,onRangeChange:w,width:j.width});return l.jsxs(h,{ref:V,ariaHidden:e,ariaLabel:t,backgroundColor:a,caption:n,className:i,"data-testid":T,height:d,overflow:"visible",role:m,viewBox:I,width:$,...C,children:[l.jsx(ze,{linesData:O}),l.jsx(at,{currentRange:L,dataLength:o.length,dataTestId:`${T}-selection-area`,endX:D,height:j.height,screenReaderText:M.selectionArea,selectionConfig:A,startX:B,onBlur:_,onFocus:W(it.SELECTION_AREA),onKeyDown:P(it.SELECTION_AREA),onMouseDown:X(it.SELECTION_AREA),onTouchStart:Y(it.SELECTION_AREA)}),l.jsx(nt,{dataTestId:`${T}-start-handler`,focusConfig:R,handlerConfig:c,height:j.height,isFocused:F(it.START_HANDLER),max:L.end-b.minHandlerDistance,min:0,screenReaderText:M.startHandler,type:it.START_HANDLER,value:L.start,x:B,onBlur:_,onFocus:W(it.START_HANDLER),onKeyDown:P(it.START_HANDLER),onMouseDown:X(it.START_HANDLER),onTouchStart:Y(it.START_HANDLER)}),l.jsx(nt,{dataTestId:`${T}-end-handler`,focusConfig:R,handlerConfig:c,height:j.height,isFocused:F(it.END_HANDLER),max:o.length-1,min:L.start+b.minHandlerDistance,screenReaderText:M.endHandler,type:it.END_HANDLER,value:L.end,x:D,onBlur:_,onFocus:W(it.END_HANDLER),onKeyDown:P(it.END_HANDLER),onMouseDown:X(it.END_HANDLER),onTouchStart:Y(it.END_HANDLER)}),l.jsx(tt,{endX:D,focusConfig:R,height:j.height,isFocused:F(it.SELECTION_AREA),startX:B})]})},e.ZoomAreaElements=it,e.ZoomHandler=nt,e.calculateHandlerPositions=Ge,e.calculateLinesPathData=gt,e.clampRange=Qe,e.createDefaultRange=Je,e.generateCurvedPath=ft,e.getInteractionConfig=pt,e.isFullRange=et,e.mouseToDataIndex=qe,e.useDragInteraction=ot,e.useKeyboardNavigation=st,e.useResponsiveCanvas=ct,e.useZoomAreaFocus=dt,e.useZoomData=xt,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KubitCharts={})}(this,function(e){"use strict";var t,r,a,n,i={exports:{}},o={},s={exports:{}},c={};function d(){return r||(r=1,s.exports=function(){if(t)return c;t=1;var e=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),s=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.iterator,p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},x=Object.assign,R={};function g(e,t,r){this.props=e,this.context=t,this.refs=R,this.updater=r||p}function A(){}function _(e,t,r){this.props=e,this.context=t,this.refs=R,this.updater=r||p}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},A.prototype=g.prototype;var T=_.prototype=new A;T.constructor=_,x(T,g.prototype),T.isPureReactComponent=!0;var E=Array.isArray,y=Object.prototype.hasOwnProperty,v={current:null},m={key:!0,ref:!0,__self:!0,__source:!0};function C(t,r,a){var n,i={},o=null,s=null;if(null!=r)for(n in void 0!==r.ref&&(s=r.ref),void 0!==r.key&&(o=""+r.key),r)y.call(r,n)&&!m.hasOwnProperty(n)&&(i[n]=r[n]);var c=arguments.length-2;if(1===c)i.children=a;else if(1<c){for(var d=Array(c),l=0;l<c;l++)d[l]=arguments[l+2];i.children=d}if(t&&t.defaultProps)for(n in c=t.defaultProps)void 0===i[n]&&(i[n]=c[n]);return{$$typeof:e,type:t,key:o,ref:s,props:i,_owner:v.current}}function S(t){return"object"==typeof t&&null!==t&&t.$$typeof===e}var I=/\/+/g;function $(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function N(t,a,n,i,o){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var c=!1;if(null===t)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(t.$$typeof){case e:case r:c=!0}}if(c)return o=o(c=t),t=""===i?"."+$(c,0):i,E(o)?(n="",null!=t&&(n=t.replace(I,"$&/")+"/"),N(o,a,n,"",function(e){return e})):null!=o&&(S(o)&&(o=function(t,r){return{$$typeof:e,type:t.type,key:r,ref:t.ref,props:t.props,_owner:t._owner}}(o,n+(!o.key||c&&c.key===o.key?"":(""+o.key).replace(I,"$&/")+"/")+t)),a.push(o)),1;if(c=0,i=""===i?".":i+":",E(t))for(var d=0;d<t.length;d++){var l=i+$(s=t[d],d);c+=N(s,a,n,l,o)}else if(l=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(t),"function"==typeof l)for(t=l.call(t),d=0;!(s=t.next()).done;)c+=N(s=s.value,a,n,l=i+$(s,d++),o);else if("object"===s)throw a=String(t),Error("Objects are not valid as a React child (found: "+("[object Object]"===a?"object with keys {"+Object.keys(t).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.");return c}function k(e,t,r){if(null==e)return e;var a=[],n=0;return N(e,a,"","",function(e){return t.call(r,e,n++)}),a}function L(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var b={current:null},O={transition:null},H={ReactCurrentDispatcher:b,ReactCurrentBatchConfig:O,ReactCurrentOwner:v};function w(){throw Error("act(...) is not supported in production builds of React.")}return c.Children={map:k,forEach:function(e,t,r){k(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return k(e,function(){t++}),t},toArray:function(e){return k(e,function(e){return e})||[]},only:function(e){if(!S(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},c.Component=g,c.Fragment=a,c.Profiler=i,c.PureComponent=_,c.StrictMode=n,c.Suspense=l,c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=H,c.act=w,c.cloneElement=function(t,r,a){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var n=x({},t.props),i=t.key,o=t.ref,s=t._owner;if(null!=r){if(void 0!==r.ref&&(o=r.ref,s=v.current),void 0!==r.key&&(i=""+r.key),t.type&&t.type.defaultProps)var c=t.type.defaultProps;for(d in r)y.call(r,d)&&!m.hasOwnProperty(d)&&(n[d]=void 0===r[d]&&void 0!==c?c[d]:r[d])}var d=arguments.length-2;if(1===d)n.children=a;else if(1<d){c=Array(d);for(var l=0;l<d;l++)c[l]=arguments[l+2];n.children=c}return{$$typeof:e,type:t.type,key:i,ref:o,props:n,_owner:s}},c.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},c.createElement=C,c.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},c.createRef=function(){return{current:null}},c.forwardRef=function(e){return{$$typeof:d,render:e}},c.isValidElement=S,c.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:L}},c.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},c.startTransition=function(e){var t=O.transition;O.transition={};try{e()}finally{O.transition=t}},c.unstable_act=w,c.useCallback=function(e,t){return b.current.useCallback(e,t)},c.useContext=function(e){return b.current.useContext(e)},c.useDebugValue=function(){},c.useDeferredValue=function(e){return b.current.useDeferredValue(e)},c.useEffect=function(e,t){return b.current.useEffect(e,t)},c.useId=function(){return b.current.useId()},c.useImperativeHandle=function(e,t,r){return b.current.useImperativeHandle(e,t,r)},c.useInsertionEffect=function(e,t){return b.current.useInsertionEffect(e,t)},c.useLayoutEffect=function(e,t){return b.current.useLayoutEffect(e,t)},c.useMemo=function(e,t){return b.current.useMemo(e,t)},c.useReducer=function(e,t,r){return b.current.useReducer(e,t,r)},c.useRef=function(e){return b.current.useRef(e)},c.useState=function(e){return b.current.useState(e)},c.useSyncExternalStore=function(e,t,r){return b.current.useSyncExternalStore(e,t,r)},c.useTransition=function(){return b.current.useTransition()},c.version="18.3.1",c}()),s.exports}var l=(n||(n=1,i.exports=function(){if(a)return o;a=1;var e=d(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,r,a){var o,c={},d=null,l=null;for(o in void 0!==a&&(d=""+a),void 0!==r.key&&(d=""+r.key),void 0!==r.ref&&(l=r.ref),r)n.call(r,o)&&!s.hasOwnProperty(o)&&(c[o]=r[o]);if(e&&e.defaultProps)for(o in r=e.defaultProps)void 0===c[o]&&(c[o]=r[o]);return{$$typeof:t,type:e,key:d,ref:l,props:c,_owner:i.current}}return o.Fragment=r,o.jsx=c,o.jsxs=c,o}()),i.exports),u=d();const h=u.forwardRef(({ariaHidden:e,ariaLabel:t,backgroundColor:r,caption:a,children:n,className:i,dataTestId:o,height:s,imageSrc:c,overflow:d,radius:u="0px",role:h,tabIndex:f,viewBox:p,width:x,...R},g)=>l.jsxs("svg",{ref:g,"aria-hidden":e,"aria-label":t,className:i,"data-testid":o,height:s,role:h,style:{backgroundColor:r,borderRadius:u,overflow:d},tabIndex:f,viewBox:p,width:x,onMouseDown:e=>e.preventDefault(),...R,children:[a&&l.jsx("title",{children:a}),c&&l.jsx("image",{height:s,href:c,width:x,x:"0",y:"0"}),n]})),f=(e,t,r=0)=>`${-r} ${-r} ${e} ${t}`,p={extraSpace:0,height:80,width:100},x=e=>{const t=new Map,r=()=>{const e={};return t.forEach((t,r)=>{e[r]=t}),e};return{addError:(a,n)=>{if(!n)return;const i={...n,type:a},o=t.get(a)||[];if(o.push(i),t.set(a,o),e){const t=r(),a={};Object.entries(t).forEach(([e,t])=>{const r=e;Array.isArray(t)&&t.length,a[r]=t}),e(a)}},clearErrors:()=>{t.clear(),e&&e({})},getAccumulatedErrors:r}},R=e=>JSON.stringify(e),g="%",A="rem",_=/^(\d+(\.\d+)?)(px|rem|%)?$/,T=e=>{if("number"==typeof e)return e;const t=e.match(_);if(!t)throw new Error(`Invalid string format: "${e}"`);const r=t[1];return t[3]===A?16*parseFloat(r):parseFloat(r)},E=u.createContext({}),y={HORIZONTAL:"HORIZONTAL",VERTICAL:"VERTICAL"},v={BAR_CHART_CONTEXT_ERROR:"BAR_CHART_CONTEXT_ERROR",BAR_CHART_PATH_ERROR:"BAR_CHART_PATH_ERROR",BAR_CHART_SEPARATOR_ERROR:"BAR_CHART_SEPARATOR_ERROR",BAR_CHART_X_AXIS_ERROR:"BAR_CHART_X_AXIS_ERROR",BAR_CHART_Y_AXIS_ERROR:"BAR_CHART_Y_AXIS_ERROR",GENERIC:"GENERIC",LINE_CHART_CONTEXT_ERROR:"LINE_CHART_CONTEXT_ERROR",LINE_CHART_PATH_ERROR:"LINE_CHART_PATH_ERROR",LINE_CHART_PROJECTION_ERROR:"LINE_CHART_PROJECTION_ERROR",LINE_CHART_SEPARATOR_ERROR:"LINE_CHART_SEPARATOR_ERROR",LINE_CHART_X_AXIS_ERROR:"LINE_CHART_X_AXIS_ERROR",LINE_CHART_Y_AXIS_ERROR:"LINE_CHART_Y_AXIS_ERROR"},m={BOTTOM:"BOTTOM",CENTER:"CENTER",CUSTOM:"CUSTOM",LEFT:"LEFT",RIGHT:"RIGHT",TOP:"TOP"},C=Object.entries({BAR_CHART_AXIS_INSUFFICIENT_TICKS:"Axis requires at least two ticks for proper bar scaling",BAR_CHART_AXIS_INVALID_SCALE:"Invalid axis scale for current bar values",BAR_CHART_DISTRIBUTION_INSUFFICIENT_SPACE:"Insufficient space for bar distribution with current configuration",BAR_CHART_DISTRIBUTION_INVALID_GAP:"Invalid gap between bars - must be >= 0 and allow bar rendering",BAR_CHART_DISTRIBUTION_OVERLAP:"Bar distribution results in overlapping bars",BAR_CHART_EMPTY_DATA:"No valid data entries found for bar chart rendering",BAR_CHART_INSUFFICIENT_SPACE_HEIGHT:"Insufficient height to render bars. Consider reducing bar count or increasing chart height",BAR_CHART_INSUFFICIENT_SPACE_WIDTH:"Insufficient width to render bars. Consider reducing bar width or increasing chart width",BAR_CHART_INVALID_VALUE:"Bar value must be a valid number for rendering",BAR_CHART_NEGATIVE_VALUE:"Negative values are not supported in this bar configuration",BAR_CHART_NO_DATA:"Data validation failed: no data provided for bar chart rendering",BAR_CHART_OVERLAP:"Bars are overlapping due to insufficient spacing",BAR_CHART_SEPARATOR_X_OUT_OF_RANGE:"Separator X position is outside valid bar range",BAR_CHART_SEPARATOR_Y_OUT_OF_RANGE:"Separator Y position is outside valid bar range",BAR_CHART_STACK_INVALID:"Invalid stacking configuration - all bars in stack must have consistent configuration",BAR_CHART_STACK_MISSING_VALUES:"Stack is incomplete - all bars in stack must have valid values"}).reduce((e,[t,r])=>(e[t]=new Error(r),e),{}),S=Object.entries({LINE_CHART_INVALID_CANVAS:"Canvas dimensions validation failed: both width and height must be > 0",LINE_CHART_NO_DATA:"Data validation failed: no data provided for chart rendering",LINE_CHART_PATH_ALL_VALUES_NULL:"Path data cannot be generated - all Y values are null or undefined",LINE_CHART_PATH_INSUFFICIENT_POINTS:"Unable to calculate curved path with insufficient points (minimum 2 required)",LINE_CHART_PATH_INVALID_DATAKEY:"DataKey must be a valid string",LINE_CHART_PROJECTION_INVALID_BOUNDS:"Invalid projection bounds - upper projection must be below lower projection",LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE:"Lower projection X coordinate is outside valid range (0-100)",LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE:"Lower projection Y coordinate is outside chart area",LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE:"Upper projection X coordinate is outside valid range (0-100)",LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE:"Upper projection Y coordinate is outside chart area",LINE_CHART_SEPARATOR_INVALID_COORDINATES:"Invalid separator position - coordinates overlap, cannot render separator",LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS:"Invalid xBreakAxis value: cannot be parsed as number",LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS:"Invalid yBreakAxis value: cannot be parsed as number",LINE_CHART_SEPARATOR_X_OUT_OF_RANGE:"xBreakAxis value is outside data range",LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE:"yBreakAxis value is outside data range",LINE_CHART_SINGLE_POINT:"Data validation failed: single data point provided, minimum 2 required for line chart",LINE_CHART_X_AXIS_IDENTICAL_VALUES:"X-axis range validation failed: minimum and maximum values are identical, cannot render chart line",LINE_CHART_X_AXIS_INSUFFICIENT_TICKS:"X-axis tick calculation: insufficient data points (1/2 minimum required)",LINE_CHART_X_AXIS_ZERO_LENGTH:"X-axis geometry validation failed: start and end X coordinates are identical (x1=x2), axis has zero length",LINE_CHART_Y_AXIS_IDENTICAL_VALUES:"Y-axis range validation failed: minimum and maximum values are identical, cannot render chart line",LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS:"Y-axis tick calculation: insufficient data points (1/2 minimum required)",LINE_CHART_Y_AXIS_ZERO_LENGTH:"Y-axis geometry validation failed: start and end Y coordinates are identical (y1=y2), axis has zero length"}).reduce((e,[t,r])=>(e[t]=new Error(r),e),{}),I=(e,t)=>new Error(`Invalid value "${e}" for bar with dataKey "${t}". Must be a valid number.`),$=(e,t)=>new Error(`Negative value ${e} not allowed for bar with dataKey "${t}" in current configuration`),N="INVALID_X_TICK",k="BAR_CHART_NO_DATA",L="LINE_CHART_NO_DATA",b="LINE_CHART_PATH_ALL_VALUES_NULL",O="LINE_CHART_PATH_INSUFFICIENT_POINTS",H="LINE_CHART_PATH_INVALID_DATAKEY",w="LINE_CHART_SEPARATOR_INVALID_COORDINATES",j="LINE_CHART_SINGLE_POINT",B="LINE_CHART_X_AXIS_IDENTICAL_VALUES",D="LINE_CHART_X_AXIS_INSUFFICIENT_TICKS",M="LINE_CHART_X_AXIS_ZERO_LENGTH",P="LINE_CHART_Y_AXIS_IDENTICAL_VALUES",X="LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS",F="LINE_CHART_Y_AXIS_ZERO_LENGTH",W={...C,...S,INVALID_X_TICK:new Error("[getXTicks] Invalid X tick values calculated")},V=e=>W[e],Y=e=>new Error(`DataKey "${e}" not found in dataset`),K=(e,t)=>new Error(`Canvas dimensions validation failed: width=${e}, height=${t} (both must be > 0)`),U=e=>new Error(`Invalid xBreakAxis value: '${e}' cannot be parsed as number`),z=e=>new Error(`Invalid yBreakAxis value: '${e}' cannot be parsed as number`),G=(e,t,r)=>new Error(`xBreakAxis value ${e} is outside data range (${t} - ${r})`),Z=(e,t,r)=>new Error(`yBreakAxis value ${e} is outside data range (${t} - ${r})`),q=({canvasHeight:e,canvasWidth:t,customBreakAxis:r,extraSpaceBottomY:a,extraSpaceLeftX:n,extraSpaceRightX:i,extraSpaceTopY:o,position:s})=>s===m.TOP?{x1:n,x2:t-i,y1:o,y2:o}:s===m.CENTER?{x1:n,x2:t-i,y1:e/2,y2:e/2}:s===m.CUSTOM?{x1:n,x2:t-i,y1:r,y2:r}:{x1:n,x2:t-i,y1:e-a,y2:e-a},J=({canvasHeight:e,canvasWidth:t,customBreakAxis:r,extraSpaceBottomY:a,extraSpaceLeftX:n,extraSpaceRightX:i,extraSpaceTopY:o,position:s})=>s===m.RIGHT?{x1:t-i,x2:t-i,y1:o,y2:e-a}:s===m.CENTER?{x1:t/2,x2:t/2,y1:o,y2:e-a}:s===m.CUSTOM?{x1:r,x2:r,y1:o,y2:e-a}:{x1:n,x2:n,y1:o,y2:e-a},Q=(e,t,r)=>t.map(t=>{if(isNaN(Number(t))){const r=e.find(e=>String(e.value)===String(t));return r?r.position:0}const{index:a,tick:n}=e.reduce((e,r,a)=>Math.abs(Number(r.value)-Number(t))<=Math.abs(Number(e.tick.value)-Number(t))?{index:a,tick:r}:e,{index:0,tick:e[0]}),i=Number(t),o=Number(n.value);if(i!==o){const t=e.map(e=>Number(e.value)),s=Math.min(...t),c=Math.max(...t);if(i<s)return e.at(0)?.position;if(i>c)return e.at(-1)?.position;const d=Math.abs(o-i),l=i>o,u=l?e[a+1]:e[a-1],h=100*d/Math.abs(Number(u.value)-o),f=Math.abs(n.position-u.position)*h/100;return r?l?n.position+f:n.position-f:l?n.position-f:n.position+f}return n.position}),ee=({initPos:e,maxSpaceAvailable:t,otherAxisSpace:r,securitySpace:a,tickValues:n})=>{const i=n.length-1,o=(t-r-a)/i;return n.map((t,r)=>({position:e+r*o+a/2,value:t}))},te=({initPos:e,maxSpaceAvailable:t,needAjusted:r,otherAxisSpace:a,securitySpace:n,tickValues:i})=>{const o=(t-a-n)/(i.length-1),s=r?n/2:0;return i.map((t,r)=>({position:e-r*o-s,value:t}))},re="0",ae="1",ne="fallbackData";(()=>{if("undefined"!=typeof globalThis&&"process"in globalThis){const e=globalThis.process;return"production"===e?.env?.NODE_ENV}})();const ie=e=>e?Object.entries(e).reduce((e,[t,r])=>((t.startsWith("aria-")||t.startsWith("data-"))&&null!=r&&(e[t]=String(r)),e),{}):{},oe=({height:e="140%",width:t="140%",x:r="-20%",y:a="-20%",...n})=>l.jsx("defs",{children:l.jsx("filter",{height:e,id:n.id,width:t,x:r,y:a,children:l.jsx("feDropShadow",{...n.shadowSvgConfig})})}),se=-1/0,ce=u.forwardRef(({dataTestId:e,position:t,size:r=1,...a},n)=>l.jsx("circle",{...a,ref:n,cx:t?.x,cy:t?.y,"data-testid":`${e}-circle`,r:r/2})),de=(e,t,r,a,n)=>{let i="";const o=a===n,s=o?r:2*r;for(let r=0;r<s;r++){const c=o||r%2==0?a:n,d=2*Math.PI/s*r-Math.PI/2;i+=`${e+Math.cos(d)*c},${t+Math.sin(d)*c} `}return i.trim()},le=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:r=1,...a},n)=>{const i=de(t.x,t.y,6,r/2,r/2);return l.jsx("polygon",{...a,ref:n,"data-testid":`${e}-hexagon`,points:i})}),ue=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:r=1,...a},n)=>{const i=de(t.x,t.y,5,r/2,r/2);return l.jsx("polygon",{...a,ref:n,"data-testid":`${e}-pentagon`,points:i})}),he=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:r=1,...a},n)=>l.jsx("rect",{...a,ref:n,"data-testid":`${e}-square`,height:r,width:r,x:t.x-r/2,y:t.y-r/2})),fe=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:r=1,...a},n)=>{const i=r/2,o=i/2,s=de(t.x,t.y,5,i,o);return l.jsx("polygon",{...a,ref:n,"data-testid":`${e}-star`,points:s})}),pe=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:r=1,...a},n)=>{const i=`M ${t.x-r/2} ${t.y} H ${t.x+r/2} M ${t.x} ${t.y-r/2} V ${t.y+r/2}`;return l.jsx("path",{...a,ref:n,d:i,"data-testid":`${e}-straight`,strokeWidth:2})}),xe=u.forwardRef(({dataTestId:e,position:t={x:0,y:0},size:r=1,...a},n)=>{const i=[`${t.x},${t.y-r/2}`,`${t.x-r/2},${t.y+r/2}`,`${t.x+r/2},${t.y+r/2}`].join(" ");return l.jsx("polygon",{...a,ref:n,"data-testid":`${e}-triangle`,points:i})}),Re={Circle:"circle",Hexagon:"hexagon",Pentagon:"pentagon",Square:"square",Star:"star",Straight:"straight",Triangle:"triangle"},ge={[Re.Circle]:ce,[Re.Hexagon]:le,[Re.Pentagon]:ue,[Re.Square]:he,[Re.Star]:fe,[Re.Straight]:pe,[Re.Triangle]:xe},Ae=u.forwardRef(({dataTestId:e="node",haloConfig:t,hasHalo:r=!1,onBlur:a,onClick:n,onDoubleClick:i,onFocus:o,onKeyDown:s,onMouseEnter:c,onMouseLeave:d,position:h={x:0,y:0},size:f=1,type:p=Re.Circle,...x},R)=>{const[g,A]=(e=>{const t=u.useRef(!1),r=u.useRef(null);u.useImperativeHandle(e,()=>r.current,[]);const a=e=>{t.current=!!e.autoClick};return u.useEffect(()=>{if(!r.current)return;const e=r.current;return e.addEventListener("click",a),()=>e.removeEventListener("click",a)},[]),[r,t]})(R),_={...x,className:`node ${x.className}`,onBlur:e=>{a?.(e)},onClick:e=>{n?.(e,{...x.data,nodePosition:h},A.current)},onDoubleClick:e=>{i?.(e,x.data)},onFocus:e=>{o?.(e,x.data)},onKeyDown:e=>{"Enter"===e.key&&s?.(e,x.data)},onMouseEnter:e=>{c?.(e,x.data)},onMouseLeave:e=>{d?.(e)}},T={className:x.className,fill:t?.fill||x.fill,fillOpacity:t?.fillOpacity||.25,opacity:t?.opacity||.3,stroke:t?.stroke||x.stroke,strokeWidth:t?.strokeWidth||x.strokeWidth},E=ge[p];return l.jsxs(l.Fragment,{children:[r&&l.jsx(E,{...T,"aria-hidden":"true",dataTestId:`${e}-halo`,position:h,size:f+f/2,tabIndex:-1}),l.jsx(E,{..._,ref:g,dataTestId:e,position:h,size:f})]})}),_e=u.forwardRef(({data:e,nodeConfig:t,tabIndex:r=0,x:a,y:n},i)=>{const o=t?ie(t):{};if(o["aria-label"]&&e&&"string"==typeof o["aria-label"]){const t=o["aria-label"];if(t.includes("{{")){const r=((e,t,r)=>{if(!e)return;const a=r??t.dataValue,n=Array.isArray(a)?a[t.index]:void 0,{xValue:i,yValue:o}=((e,t)=>({xValue:e&&t.xKey?e[t.xKey]?.toString()??"":"",yValue:e&&t.dataKey?e[t.dataKey]?.toString()??"":""}))(n,t);return((e,t,r,a)=>{let n=e;return void 0!==t.dataKey&&(n=n.replace(new RegExp("{{dataKey}}","g"),t.dataKey)),n=n.replace(new RegExp("{{xValue}}","g"),r),n=n.replace(new RegExp("{{yValue}}","g"),a),void 0!==t.index&&(n=n.replace(new RegExp("{{index}}","g"),(t.index+1).toString())),n})(e,t,i,o)})(t,{dataKey:e.dataKey,dataValue:e.dataValue,index:e.index??0,xKey:e.xKey},e.dataValue);r&&(o["aria-label"]=r)}}return l.jsx(l.Fragment,{children:t&&l.jsx(Ae,{...t,ref:i,...o,className:"node-path-focus-border",data:e,hasHalo:t.hasHalo,position:{x:a,y:n},tabIndex:r})})}),Te=u.forwardRef(({classNames:e="",fill:t="transparent",stroke:r="#0000FF",strokeWidth:a="1",focusConfig:n={stroke:"#0000FF",strokeWidth:"0.5"},hoverConfig:i={stroke:"#0000FF",strokeWidth:"0.5"},role:o="img",...s},c)=>{const{handleBlur:d,handleFocus:h,isFocused:f}=((e,t)=>{const[r,a]=u.useState(!1),n=u.useCallback(t=>{a(!0),e?.(t)},[e]);return{handleBlur:u.useCallback(e=>{a(!1),t?.(e)},[t]),handleFocus:n,isFocused:r}})(s.onFocus,s.onBlur),{handleMouseEnter:p,handleMouseLeave:x,isHovered:R}=((e,t)=>{const[r,a]=u.useState(!1);return{handleMouseEnter:u.useCallback(t=>{a(!0),e?.(t)},[e]),handleMouseLeave:u.useCallback(e=>{a(!1),t?.(e)},[t]),isHovered:r}})(s.onMouseEnter,s.onMouseLeave),g=u.useRef(null),A=u.useRef([]),_=u.useRef(null);u.useImperativeHandle(c,()=>({get main(){return _.current},get node(){return A.current},get path(){return g.current}}));const T=s.gradient&&((e,t="gradientePath")=>{const r=e.split(",").map(e=>e.trim()),a=parseInt(r[0],10),n=r.slice(1).map(e=>{const[t,r]=e.split(" ");return{color:t,offset:r}});let i="0%",o="0%",s="0%";switch(a){case 180:s="100%";break;case 90:o="100%";break;case 270:i="100%";break;default:return l.jsx(l.Fragment,{})}return l.jsx("defs",{children:l.jsx("linearGradient",{id:t,x1:i,x2:o,y1:"0%",y2:s,children:n.map((e,t)=>l.jsx("stop",{offset:e.offset,stopColor:e.color},`${t}-${e.offset}`.toString()))})})})(s.gradient),E=ie(s),y={...{...s,classNames:`path ${e}`,fill:T?"url(#gradientePath)":t,filter:"url(#shadow)",role:o,stroke:r,strokeWidth:a},...f&&n,...R&&i};return l.jsxs("g",{ref:_,tabIndex:-1,children:[T&&T,y.shadowSvgConfig&&l.jsx(oe,{id:"shadow",shadowSvgConfig:y.shadowSvgConfig}),l.jsxs("g",{"aria-label":y.ariaLabel,className:y.classNames,"data-draw":!0,filter:y.shadowSvgConfig&&y.filter,opacity:y.opacity,orientation:y.orientation,role:y.role,rotate:y.rotate,tabIndex:y.tabIndex,transform:y.transform,visibility:y.visibility,...E,onBlur:d,onClick:()=>{s.onClick?.(s.dataValue)},onDoubleClick:e=>{s.onDoubleClick?.(e,s.dataValue)},onFocus:h,onKeyDown:e=>{"Enter"===e.key&&s.onKeyDown?.(s.dataValue)},onMouseDown:e=>{e.preventDefault()},onMouseEnter:p,onMouseLeave:x,children:[l.jsx("path",{ref:g,d:y.d,"data-testid":y.dataTestId,fill:y.dFill?"transparent":y.fill,fillOpacity:y.fillOpacity,fillRule:y.fillRule,stroke:y.stroke,strokeDasharray:y.strokeDasharray,strokeDashoffset:y.strokeDashoffset,strokeLinecap:y.strokeLinecap,strokeLinejoin:y.strokeLinejoin,strokeMiterlimit:y.strokeMiterlimit,strokeOpacity:y.strokeOpacity,strokeWidth:y.strokeWidth,children:y.title&&l.jsx("title",{children:y.title})}),y.dFill&&l.jsx("path",{d:y.dFill,fill:y.fill,fillOpacity:y.fillOpacity,fillRule:y.fillRule})]}),y.points&&y.nodeConfig&&y.points.map(([e,t],r)=>{const a={dataKey:y.dataKey,dataValue:y.dataValue,index:r,xKey:y?.xKey};return l.jsx(_e,{ref:e=>A.current[r]=e,data:a,nodeConfig:y.nodeConfig,tabIndex:-1,x:e,y:t},`${r.toString()}`)})]})}),Ee=(e,t,r)=>e?t+r/2:t-r/2,ye=({barConfig:e,currentBars:t,endRounded:r,extraSpacing:a=0,order:n=1,orientation:i,startRounded:o,x1:s,x2:c,y1:d,y2:u})=>{const{barWidth:h,singleConfig:f}=e,p=(({barConfig:e,orientation:t,x1:r,x2:a,y1:n,y2:i})=>{const{gap:o=0,singleConfig:s}=e,c=t===y.HORIZONTAL,d=c?r:n,l=c?a:i,u={end:l<d,start:l>d};return s.reduce((e,t,r)=>{const{coverage:a}=t,n=((e,t)=>e/100*t)(a,l-d),i=0===r?d:Ee(u.start,e[r-1][1],o),c=r+1===s.length?l:Ee(u.end,i+n,o);return e.push([i,c]),e},[])})({barConfig:e,orientation:i,x1:s,x2:c,y1:d,y2:u});return l.jsx("g",{children:f.map((e,x)=>{const[R,g]="HORIZONTAL"===i?p[x]:[s,c],[A,_]="VERTICAL"===i?p[x]:[d,u],T=(({barWidth:e,currentBars:t,endRounded:r=0,extraSpacing:a,order:n,orientation:i,startRounded:o=0,x1:s,x2:c,y1:d,y2:l})=>{let u,h,f,p,x="Z";const R=(({barWidth:e,currentBars:t,extraSpacing:r,order:a,orientation:n})=>{const i=e/2,o=r/2,s=t%2==0,c=s?o:o+i,d=a-Math.ceil(t/2);let l=0;return 0===d?l=s?-o:i:d<0?l=n===y.HORIZONTAL?d*-c+e:d*c:d>0&&(l=n===y.HORIZONTAL?d*-c:d*c+e),l})({barWidth:e,currentBars:t,extraSpacing:a,order:n,orientation:i});if(i===y.HORIZONTAL){const t=s+o,a=c-r;o&&r?(u=`M ${t},${d+R}`,h=`L${a},${l+R}`,f=`Q${c+r} ${l+R-e/2}, ${a} ${l+R-e}`,p=`L${t},${d+R-e}`,x=`Q${s-o} ${d+R-e/2}, ${t} ${d+R}`):o?(u=`M ${t},${d+R}`,h=`L${c},${l+R}`,f=`L${c},${l+R-e}`,p=`L${t},${d+R-e}`,x=`Q${s-o} ${d+R-e/2}, ${t} ${d+R}`):r?(u=`M${s},${d+R}`,h=`L${a},${l+R}`,f=`Q${c+r} ${l+R-e/2}, ${a} ${l+R-e}`,p=`L${s},${d+R-e}`):(u=`M${s},${d+R}`,h=`L${c},${l+R}`,f=`L${c},${l+R-e}`,p=`L${s},${d+R-e}`)}else{const t=d-o,a=l+r;o&&r?(u=`M${s+R}, ${t}`,h=`L${c+R},${a}`,f=`Q${c+R-e/2} ${l-r}, ${c+R-e} ${a}`,p=`L${s+R-e},${t}`,x=`Q${s+R-e/2} ${d+o}, ${s+R} ${t}`):o?(u=`M${s+R}, ${t}`,h=`L${c+R},${l}`,f=`L${c+R-e},${l}`,p=`L${s+R-e},${t}`,x=`Q${s+R-e/2} ${d+o}, ${s+R} ${t}`):r?(u=`M${s+R},${d}`,h=`L${c+R},${a}`,f=`Q${c+R-e/2} ${l-r}, ${c+R-e} ${a}`,p=`L${c+R-e},${d}`):(u=`M${s+R},${d}`,h=`L${c+R},${l}`,f=`L${c+R-e},${l}`,p=`L${s+R-e},${d}`)}return`${u} ${h} ${f} ${p} ${x}`})({barWidth:h,currentBars:t,endRounded:x===f.length-1&&r?r:void 0,extraSpacing:a,order:n,orientation:i,startRounded:0===x&&o?o:void 0,x1:R,x2:g,y1:A,y2:_});return l.jsx(Te,{d:T,fill:e.color,hoverConfig:{stroke:"transparent",strokeWidth:"0"},stroke:"transparent",tabIndex:0,title:e.title},`${e.title}-${x.toString()}`)})})},ve=({barConfig:e,dataIdx:t,dataKey:r,order:a,...n})=>{const{addError:i,xAxisCoordinates:o,yAxisCoordinates:s,...c}=u.useContext(E),{coordinates:d,tickValues:h}=o,{coordinates:f,tickValues:p}=s,x=c.orientation===y.VERTICAL,R=x?c.pKey:r,g=x?r:c.pKey,A=c.data[t],_=A?.[R],T=A?.[g];u.useEffect(()=>{if(c.data.length>0&&!Object.prototype.hasOwnProperty.call(c.data[0],r))return void i?.("BAR_CHART_PATH_ERROR",{error:Y(r)});const e=Number(T);isNaN(e)?i?.("BAR_CHART_PATH_ERROR",{error:I(T,r)}):e<0&&i?.("BAR_CHART_PATH_ERROR",{error:$(e,r)})},[i,c.data,r,T]);const v=Q(h,[String(_)],!0)[0],m=Q(p,[String(T)])[0],C=x?{x1:v,x2:v,y1:d.y1,y2:m}:{x1:f.x1,x2:v,y1:m,y2:m};return l.jsx(ye,{barConfig:e,currentBars:c.barChildrenCount,extraSpacing:c.gapBetweenBars,order:a,orientation:c.orientation,...C,...n})},me=e=>{let t=0;return u.Children.toArray(e).forEach(e=>{u.isValidElement(e)&&e.type===ve&&e.props.order>t&&(t=e.props.order)}),t},Ce=e=>{if(0===e.length)return{numeric:{max:2,min:0,step:1}};const t=Math.min(...e.map(e=>parseFloat(e))),r=Math.max(...e.map(e=>parseFloat(e)));return{numeric:{max:r,min:t,step:Math.abs(r-t)/2}}},Se=()=>"undefined"!=typeof window&&"undefined"!=typeof document,Ie=()=>Se()?document:void 0,$e=e=>{const t=Ie();if(t)return t.createElementNS("http://www.w3.org/2000/svg",e)},Ne=({bound:e,data:t,fontSize:r,svgHeight:a,svgWidth:n,viewBox:i})=>{if(!Se()||!t.length)return 0;const o=Ie();if(!o)return 0;const s=$e("svg");if(!s)return 0;s.setAttribute("style","position: absolute; visibility: hidden; top: -9999px; left: -9999px;"),s.setAttribute("viewBox",i),s.setAttribute("width",n),s.setAttribute("height",a),o.body.appendChild(s);const c=t.map(t=>{const a=$e("text");if(!a)return 0;a.setAttribute("font-size",r),a.textContent=t,s.appendChild(a);const n=a.getBBox()[e];return a.remove(),n});return s.remove(),Math.max(...c,0)},ke=({ariaLabel:e="",className:t="line",dataTestId:r,tabIndex:a=-1,...n})=>l.jsx("line",{...n,"aria-label":e,className:t,"data-testid":r,tabIndex:a}),Le=({children:e,className:t="circle",tabIndex:r=-1,...a})=>l.jsx("text",{className:t,tabIndex:r,...a,children:e}),be=({showTickLines:e,tick:t,tickLine:r,tickText:a})=>l.jsxs("g",{children:[e&&l.jsx(ke,{...r}),a&&l.jsx(Le,{...a,children:t.value})]}),Oe=(e,t,r=1)=>e>=t-r&&e<=t+r,He=e=>{const{ariaLabel:t,className:r,dataTestId:a,opacity:n,stroke:i,strokeDasharray:o,strokeDashoffset:s,strokeLinecap:c,strokeLinejoin:d,strokeOpacity:l,strokeWidth:u,style:h,tabIndex:f,transform:p,x1:x,x2:R,y1:g,y2:A}=e;return{ariaLabel:t,className:r,dataTestId:a,opacity:n,stroke:i,strokeDasharray:o,strokeDashoffset:s,strokeLinecap:c,strokeLinejoin:d,strokeOpacity:l,strokeWidth:u,style:h,tabIndex:f,transform:p,x1:x,x2:R,y1:g,y2:A}},we=({canvasHeight:e=p.height,canvasWidth:t=p.width,cursor:r=0,extraSpace:a={bottom:0,left:0,right:0,top:0},position:n=m.BOTTOM,showTickLines:i=!1,tickLine:o,tickLineHover:s,tickText:c,tickValues:d=[],...u})=>{const h=ie(u);return l.jsxs("g",{...h,children:[l.jsx(ke,{...He(u)}),d&&d.length>0&&d.map((e,t)=>{const a=Oe(r,e.position)&&s?{...o,...s}:o,n="rotate"===c?.transform?`rotate(-30, ${e.position}, ${c.y})`:void 0;return l.jsx(be,{showTickLines:i,tick:e,tickLine:{...a,x1:e.position,x2:e.position},tickText:{...c,transform:n,x:e.position}},`${t.toString()}`)})]})},je=(e,t,r)=>e===m.RIGHT?t+r:t-r,Be=(e,t,r,a)=>e===m.TOP?r:t+r+a,De=({position:e=m.BOTTOM,tickLine:t,tickText:r,...a})=>{const{xAxisCoordinates:{coordinates:n,tickValues:i},...o}=u.useContext(E),s=Be(e,n.y1,Number(r?.fontSize),r?.top??0),c=o.extraSpaceTopY,d=Number(o.canvasHeight)-o.extraSpaceBottomY;return l.jsx(we,{...n,...a,canvasHeight:Number(o.canvasHeight),canvasWidth:Number(o.canvasWidth),dataTestId:`${o.dataTestId}xAxis`,extraSpace:{left:o.extraSpaceLeftX,right:o.extraSpaceRightX},tickLine:{...t,y1:c,y2:d},tickText:{...r,y:s},tickValues:r?i:void 0})},Me=({canvasWidth:e,cursor:t=0,extraSpace:r={bottom:0,left:0,right:0,top:0},position:a=m.LEFT,showTickLines:n=!0,tickLine:i,tickLineHover:o,tickText:s,tickValues:c=[],...d})=>{const u=ie(d);return l.jsxs("g",{...u,children:[l.jsx(ke,{...He(d)}),c&&c.length>0&&c.map((e,r)=>{const a=Oe(t,e.position)&&o?{...i,...o}:i,c="rotate"===s?.transform?`rotate(-30, ${s.x}, ${e.position})`:void 0;return l.jsx(be,{showTickLines:n,tick:e,tickLine:{...a,y1:e.position,y2:e.position},tickText:{...s,transform:c,y:e.position}},`${r.toString()}`)})]})},Pe=(e,t,r)=>{let a=0;switch(e){case"middle":a=t/2+r;break;case"end":a=t+r;break;default:a=0}return a},Xe=({position:e=m.LEFT,tickLine:t,tickText:r,...a})=>{const{yAxisCoordinates:{coordinates:n,tickValues:i},...o}=u.useContext(E),s=r?.textAnchor||"middle",c=(e===m.RIGHT?r?.right:r?.left)??0,d=Pe(s,o.yAxisText,c),h=je(e,n.x1,d);return l.jsx(Me,{...n,...a,canvasHeight:Number(o.canvasHeight),canvasWidth:Number(o.canvasWidth),dataTestId:`${o.dataTestId}yAxis`,tickLine:{...t,x1:o.extraSpaceLeftX,x2:Number(o.canvasWidth)-o.extraSpaceRightX},tickText:{...r,x:h},tickValues:r?i:void 0})},Fe=e=>{if(e.custom)return e.custom?.values;if(e.numeric){const{max:t,min:r=0,step:a}=e.numeric;if(a>=Math.abs(t-r)||a<=0)return[r.toString()];const n=[];for(let e=r;e<=t;e+=a)n.push(e.toString());return n}},We=(e,t)=>e.flatMap(e=>Object.keys(e).filter(r=>r!==t&&"number"==typeof e[r]).map(t=>Number(e[t]))),Ve=(e,t,r,a,n,i,o,s)=>{const{position:c,tickText:d,tickValues:l}=e.props,u=d?.fontSize??0,h=u*a,f=l?Fe(l):t.map(e=>e[r]),p=Ne({bound:"width",data:f,fontSize:u,svgHeight:`${o}`,svgWidth:`${s}`,viewBox:i}),x=n>p?n:p;return{barChartXPosition:c||m.BOTTOM,extraSpaceBottomY:c===m.BOTTOM?h+(d?.top??0):0,extraSpaceTopY:c===m.TOP?h+(d?.bottom??0):0,securityXSpace:x,xBreakAxis:l?.numeric?l.numeric.breakAxis??0:d?.custom?.breakAxis??0,xData:f}},Ye=(e,t,r,a,n,i,o,s)=>{const{position:c,tickText:d,tickValues:l}=e.props,u=d?.fontSize??0,h=u*a,f=l||Ce([...new Set(We(t,r))]),p=Fe(f),x=n>h?n:h,R=Ne({bound:"width",data:p,fontSize:u,svgHeight:`${o}`,svgWidth:`${s}`,viewBox:i});return{barChartYPosition:c||m.LEFT,extraSpaceLeftX:c===m.LEFT?R+(d?.right??0):0,extraSpaceRightX:c===m.RIGHT?R+(d?.left??0):0,securityYSpace:x,yAxisText:R,yBreakAxis:l?.numeric?l.numeric.breakAxis??0:d?.custom?.breakAxis??0,yData:p}},Ke=({addError:e,ajustedX:t,ajustedY:r,canvasHeight:a,canvasWidth:n,children:i,data:o,gapBetweenBars:s,orientation:c,pKey:d,viewBox:l})=>{let h;if(!o||0===o.length){const t={error:V(k)};e?.("BAR_CHART_CONTEXT_ERROR",t),h=t}if(n<=0||a<=0){const t={error:K(n,a)};e?.("BAR_CHART_CONTEXT_ERROR",t),h=t}const f=me(i),p=20*f,x=(f-1)*s,R=c===y.VERTICAL?n:a;if(p+x>R){const t={error:(g=`Insufficient space: requires ${p+x}px but only ${R}px available`,new Error(`Invalid bar distribution for "all": ${g}`))};e?.("BAR_CHART_CONTEXT_ERROR",t),h=t}var g;const A=o&&o.length>0?o:[{[ne]:0,[d]:re},{[ne]:0,[d]:ae}],_=n>0?n:100,T=a>0?a:100,{barChartXPosition:E,barChartYPosition:C,extraSpaceBottomY:S,extraSpaceLeftX:I,extraSpaceRightX:$,extraSpaceTopY:L,securityXSpace:b,securityYSpace:O,xAxisText:H,xBreakAxis:w,xData:j,yAxisText:W,yBreakAxis:Y,yData:U}=(({ajustedX:e,ajustedY:t,canvasHeight:r,canvasWidth:a,children:n,data:i,gapBetweenBars:o,orientation:s,pKey:c,viewBox:d})=>{let l={barChartXPosition:m.BOTTOM,barChartYPosition:m.LEFT,extraSpaceBottomY:0,extraSpaceLeftX:0,extraSpaceRightX:0,extraSpaceTopY:0,securityXSpace:0,securityYSpace:0,xAxisText:0,xBreakAxis:0,xData:[],yAxisText:0,yBreakAxis:0,yData:[]},h=o;const f=[];return u.Children.forEach(n,n=>{if(u.isValidElement(n))if(n.type!==ve||f.includes(n.props.order)||(f.push(n.props.order),h+=n.props.barConfig.barWidth??0),n.type===De){const t=s===y.VERTICAL?h:0;l={...l,...Ve(n,i,c,e,t,d,r,a)}}else if(n.type===Xe){const e=s===y.HORIZONTAL?h:0;l={...l,...Ye(n,i,c,t,e,d,r,a)}}}),l})({ajustedX:t,ajustedY:r,canvasHeight:T,canvasWidth:_,children:i,data:A,gapBetweenBars:s,orientation:c,pKey:d,viewBox:l}),z=E!==m.TOP&&E!==m.BOTTOM,G=ee({initPos:I,maxSpaceAvailable:_,otherAxisSpace:I+$,securitySpace:b,tickValues:j});if((G??[]).some(({position:e})=>isNaN(e))){const t={error:V(N)};e?.("BAR_CHART_CONTEXT_ERROR",t),h=t}if(G){const t=G.length<2,r=G.length>=2&&1===new Set(G.map(e=>e.value)).size;if(t){const t={error:V(D)};e?.("BAR_CHART_X_AXIS_ERROR",t),h||(h=t)}if(r){const t={error:V(B)};e?.("BAR_CHART_X_AXIS_ERROR",t),h||(h=t)}}const Z=C!==m.LEFT&&C!==m.RIGHT,ie=te({initPos:T-S,maxSpaceAvailable:T,needAjusted:c===y.HORIZONTAL,otherAxisSpace:L+S,securitySpace:O,tickValues:U});if(ie){const t=ie.length<2,r=ie.length>=2&&1===new Set(ie.map(e=>e.value)).size;if(t){const t={error:V(X)};e?.("BAR_CHART_Y_AXIS_ERROR",t),h||(h=t)}if(r){const t={error:V(P)};e?.("BAR_CHART_Y_AXIS_ERROR",t),h||(h=t)}}const oe=z?Q(ie||[],[String(w)])[0]:0,se=Z?Q(G||[],[String(Y)])[0]:0,ce=q({canvasHeight:T,canvasWidth:_,customBreakAxis:Number(oe),extraSpaceBottomY:S,extraSpaceLeftX:I,extraSpaceRightX:$,extraSpaceTopY:L,position:E}),de=J({canvasHeight:T,canvasWidth:_,customBreakAxis:Number(se),extraSpaceBottomY:S,extraSpaceLeftX:I,extraSpaceRightX:$,extraSpaceTopY:L,position:C});if(ce.x1===ce.x2){const t={error:V(M)};e?.("BAR_CHART_X_AXIS_ERROR",t),h||(h=t)}if(de.y1===de.y2){const t={error:V(F)};e?.("BAR_CHART_Y_AXIS_ERROR",t),h||(h=t)}const le={addError:e,crossXAxis:z,crossYAxis:Z,data:A,extraSpaceBottomY:S,extraSpaceLeftX:I,extraSpaceRightX:$,extraSpaceTopY:L,securityXSpace:b,securityYSpace:O,xAxisCoordinates:{coordinates:ce,tickValues:G||(h?[{position:0,value:re},{position:_,value:ae}]:[])},xAxisText:H,yAxisCoordinates:{coordinates:de,tickValues:ie||(h?[{position:T,value:re},{position:0,value:ae}]:[])},yAxisText:W};return h?{...le,error:{...h,type:v.BAR_CHART_CONTEXT_ERROR}}:le},Ue=Object.assign(({canvasConfig:e=p,caption:t,children:r,classNames:a,data:n,dataTestId:i,gapBetweenBars:o=0,height:s="100%",onErrors:c,orientation:d,pKey:g,role:A,tabIndex:_,width:y="100%",...v})=>{const{extraSpace:m,height:C,width:S}=e,I=T(S),$=T(C),N=m?T(m):void 0,k=f(I,$,N),L=me(r),b=2*o,O=[l.jsx(De,{},"default-x-axis"),l.jsx(Xe,{},"default-y-axis")],H=u.Children.toArray(r)||[],w=O.concat(H),j=Math.max(I,$,N??0),B=I/j,D=$/j,M=u.useMemo(()=>x(c),[c]),P=R(n),X=u.useMemo(()=>(M.clearErrors(),Ke({addError:(e,t)=>{M.addError(e,t)},ajustedX:B,ajustedY:D,canvasHeight:$,canvasWidth:I,children:w,data:n,gapBetweenBars:b,orientation:d,pKey:g,viewBox:k})),[C,S,P,g,d,M.addError]);return l.jsx(h,{caption:t,className:a,dataTestId:i,height:s,role:A,tabIndex:_,viewBox:k,width:y,...v,children:l.jsx(E.Provider,{value:{...X,barChildrenCount:L,canvasExtraSpace:N,canvasHeight:$,canvasWidth:I,data:n,dataTestId:i,gapBetweenBars:o,orientation:d,pKey:g},children:r})})},{Path:ve,Separator:({areaSeparator:e,dataTestId:t,rightSeparator:r,topSeparator:a,xBreakAxis:n,yBreakAxis:i})=>{const{addError:o,crossXAxis:s,crossYAxis:c,xAxisCoordinates:d,yAxisCoordinates:h}=u.useContext(E);if(u.useEffect(()=>{if(void 0!==n){const e=d.tickValues.map(e=>e.value),t="string"==typeof n?parseFloat(n):n;if(isNaN(t))o?.("BAR_CHART_SEPARATOR_ERROR",{error:U(n)});else{const r=Math.min(...e.map(e=>"string"==typeof e?parseFloat(e):e)),a=Math.max(...e.map(e=>"string"==typeof e?parseFloat(e):e));(t<r||t>a)&&o?.("BAR_CHART_SEPARATOR_ERROR",{error:G(t,r,a)})}}if(void 0!==i){const e=h.tickValues.map(e=>e.value),t="string"==typeof i?parseFloat(i):i;if(isNaN(t))o?.("BAR_CHART_SEPARATOR_ERROR",{error:z(i)});else{const r=Math.min(...e.map(e=>"string"==typeof e?parseFloat(e):e)),a=Math.max(...e.map(e=>"string"==typeof e?parseFloat(e):e));(t<r||t>a)&&o?.("BAR_CHART_SEPARATOR_ERROR",{error:Z(t,r,a)})}}},[n,i,d.tickValues,h.tickValues,o]),!a&&!r&&!e)return l.jsx(l.Fragment,{});const f=n&&Q(d.tickValues,[n],!0)[0],p=i&&Q(h.tickValues,[i])[0],x=c?h.coordinates.x1:d.coordinates.x2,R=s?d.coordinates.y1:h.coordinates.y1,g=d.coordinates.x1,A=f??x,_=h.coordinates.y2,T=p??R;u.useEffect(()=>{g===A&&_===T&&o?.("BAR_CHART_SEPARATOR_ERROR",{error:V(w)})},[g,A,_,T,o]);const y=`M${g} ${_} H ${A} V ${T} H ${g} Z`,v=`M${g} ${T} H ${A}`,m=`M${A} ${_} V ${T}`;return l.jsxs("g",{children:[l.jsx("path",{d:y,"data-testid":`${t}Area`,...e}),l.jsx("path",{d:v,"data-testid":`${t}Top`,...a}),l.jsx("path",{d:m,"data-testid":`${t}Right`,...r})]})},XAxis:De,YAxis:Xe}),ze=u.createContext({}),Ge=({curved:e=!1,extendToBottom:t=!1,points:r,svgHeight:a})=>{if(0===r.length)return"";const[n,...i]=r;let o=`M ${n[0]} ${n[1]}`;return o+=e?i.reduce((e,t,a)=>{const[n,i]=r[a],[o,s]=t,c=.3*(o-n),d=[n+c,i],l=[o-c,s];return`${e} C ${d[0]} ${d[1]}, ${l[0]} ${l[1]}, ${o} ${s}`},""):i.reduce((e,t)=>`${e} L ${t[0]} ${t[1]}`,""),t&&(o+=` L ${i[i.length-1][0]} ${a} L ${n[0]} ${a} Z`),o},Ze=(e,t)=>new Error(`Invalid projection bounds - upper projection (${e}) must be below lower projection (${t})`),qe=(e,t)=>new Error(`${t?"Upper":"Lower"} projection X coordinate (${e}) is outside valid range (0-100)`),Je=(e,t,r)=>new Error(`${r?"Upper":"Lower"} projection Y coordinate (${e}) is outside chart area (0-${t})`),Qe=(e,t)=>{if(!t)return e;const r=t<0,a=e*Math.abs(t)/100;return r?e-a:e+a},et=(e,t,r)=>{if(!r)return e;const a=r<0,n=(0===e?t:e)*Math.abs(r)/100;return a?e+n:e-n},tt=({curved:e,lineProjection:t,points:r,svgHeight:a})=>{const{addError:n}=u.useContext(ze),{lower:i,shapeColor:o,upper:s}=t,{xProjection:c,yProjection:d,...h}=s||{},{xProjection:f,yProjection:p,...x}=i||{},R=c||d?{x:c,y:d}:void 0,g=f||p?{x:f,y:p}:void 0;u.useEffect(()=>{if(R&&g){const e=R.y||0,t=g.y||0;e>=t&&n?.("LINE_CHART_PROJECTION_ERROR",{error:Ze(e,t)})}if(R){const{x:e,y:t}=R;void 0!==e&&(e<0||e>100)&&n?.("LINE_CHART_PROJECTION_ERROR",{error:qe(e,!0)}),void 0!==t&&(t<0||t>a)&&n?.("LINE_CHART_PROJECTION_ERROR",{error:Je(t,a,!0)})}if(g){const{x:e,y:t}=g;void 0!==e&&(e<0||e>100)&&n?.("LINE_CHART_PROJECTION_ERROR",{error:qe(e,!1)}),void 0!==t&&(t<0||t>a)&&n?.("LINE_CHART_PROJECTION_ERROR",{error:Je(t,a,!1)})}},[R,g,a,n]);const{downPath:A,shapePath:_,upPath:T}=(({curved:e,lowerProjection:t,points:r,svgHeight:a,upperProjection:n})=>{const i=n||t;if(0===r.length&&!i)return{shapePath:""};const[o,...s]=r,c=`M ${o[0]} ${o[1]}`;let d=c,l=n?c:void 0,u=t?c:void 0;const h=[],f=[];s.forEach(([e,r])=>{const i=n?[Qe(e,n.x),et(r,a,n.y)]:[e,r],o=t?[Qe(e,-(t.x??0)),et(r,a,-(t.y??0))]:[e,r];h.push(i),f.push(o)});const p=n&&t?[...h,s.at(-1),...f.reverse(),o]:[...h,...f.reverse(),o];return e?(d+=p.reduce((e,t,r)=>{const a=0===r?o:p[r-1],[n,i]=a,[s,c]=t,d=.3*(s-n),l=[n+d,i],u=[s-d,c];return`${e} C ${l[0]} ${l[1]}, ${u[0]} ${u[1]}, ${s} ${c}`},""),l&&(l+=h.reduce((e,t,r)=>{const a=0===r?o:h[r-1],[n,i]=a,[s,c]=t,d=.3*(s-n),l=[n+d,i],u=[s-d,c];return`${e} C ${l[0]} ${l[1]}, ${u[0]} ${u[1]}, ${s} ${c}`},"")),u&&(u+=f.reverse().reduce((e,t,r)=>{const a=0===r?o:f[r-1],[n,i]=a,[s,c]=t,d=.3*(s-n),l=[n+d,i],u=[s-d,c];return`${e} C ${l[0]} ${l[1]}, ${u[0]} ${u[1]}, ${s} ${c}`},""))):(d+=p.reduce((e,t)=>`${e} L ${t?.[0]} ${t?.[1]}`,""),l&&(l+=h.reduce((e,t)=>`${e} L ${t[0]} ${t[1]}`,"")),u&&(u+=f.reverse().reduce((e,t)=>`${e} L ${t[0]} ${t[1]}`,""))),{downPath:u,shapePath:d,upPath:l}})({curved:e,lowerProjection:g,points:r,svgHeight:a,upperProjection:R});return l.jsxs("g",{className:"pointer-events-none",children:[l.jsx("path",{d:_,fill:o,stroke:"transparent",strokeWidth:"0.1"}),";",T&&l.jsx("path",{d:T,...h}),A&&l.jsx("path",{d:A,...x})]})},rt=(e,t)=>e.map(e=>e[t]),at={formatTicksValues:(e,t)=>e.map(e=>({...e,value:t(e.value)}))},nt=({ariaLabel:e,position:t=m.BOTTOM,tickLine:r,tickText:a,valueFormatter:n=e=>e,...i})=>{const{xAxisCoordinates:{coordinates:o,tickValues:s},xCursor:c,...d}=u.useContext(ze),h=Be(t,o.y1,Number(a?.fontSize),a?.top??0),f=d.extraSpaceTopY,p=Number(d.canvasHeight)-d.extraSpaceBottomY,x=a?at.formatTicksValues(s,n):void 0,R=ie(i),g=e||i["aria-label"],A={...i,...R,...g&&{"aria-label":g}};return l.jsx(we,{...o,...A,canvasHeight:Number(d.canvasHeight),canvasWidth:Number(d.canvasWidth),cursor:c,dataTestId:`${d.dataTestId}xAxis`,extraSpace:{left:d.extraSpaceLeftX,right:d.extraSpaceRightX},tickLine:{...r,y1:f,y2:p},tickText:{...a,y:h},tickValues:x})},it=({ariaLabel:e,position:t=m.LEFT,tickLine:r,tickText:a,valueFormatter:n=e=>e,...i})=>{const{yAxisCoordinates:{coordinates:o,tickValues:s},yCursor:c,...d}=u.useContext(ze),h=a?.textAnchor||"middle",f=(t===m.RIGHT?a?.right:a?.left)??0,p=Pe(h,d.yAxisText,f),x=je(t,o.x1,p),R=a?at.formatTicksValues(s,n):void 0,g=ie(i),A=e||i["aria-label"],_={...i,...g,...A&&{"aria-label":A}};return l.jsx(Me,{...o,..._,canvasHeight:Number(d.canvasHeight),canvasWidth:Number(d.canvasWidth),cursor:c,dataTestId:`${d.dataTestId}yAxis`,tickLine:{...r,x1:d.extraSpaceLeftX,x2:Number(d.canvasWidth)-d.extraSpaceRightX},tickText:{...a,x:x},tickValues:R})},ot={[g]:g,[A]:A},st="WIDTH",ct=/^(\d+(\.\d+)?)(px|rem|%)?$/,dt=e=>{if("number"==typeof e)return{unit:void 0,value:e};const t=e.match(ct);if(!t)throw new Error(`Invalid string format: "${e}"`);const r=parseFloat(t[1]),a=t[3];return{unit:ot[a],value:r}},lt=(e,t,r)=>{const a=r.parentElement;return a?e/100*(t===st?a.clientWidth:a.clientHeight):0},ut=e=>{const t=Ie();if(!t)return 16*e;const r=(e=>{const t=Se()?window:void 0;if(t)return t.getComputedStyle(e)})(t.documentElement);return r?e*(parseFloat(r.fontSize)||16):16*e},ht=({canvasHeight:e,canvasWidth:t,svgElement:r})=>{const{unit:a,value:n}=dt(t),i=a===g?lt(n,st,r):a===A?ut(n):n,{unit:o,value:s}=dt(e);return{parsedCanvasHeight:o===g?lt(s,"HEIGHT",r):o===A?ut(s):s,parsedCanvasWidth:i}},ft=e=>{if(e.custom)return e.custom?.values;if(e.numeric){const{max:t,min:r=0,step:a}=e.numeric;if(a>=Math.abs(t-r)||a<=0)return[r.toString(),t.toString()];const n=[];for(let e=r;e<=t;e+=a)n.push(e.toString());return n}},pt=(e,t)=>e.flatMap(e=>Object.keys(e).filter(r=>r!==t&&"number"==typeof e[r]).map(t=>e[t])),xt=(e,t,r,a,n,i,o)=>{const{position:s,tickText:c,tickValues:d,valueFormatter:l}=e.props,u=c?.fontSize??0,h=u*a,f=d?ft(d):t.map(e=>e[r]),p=l?f.map(l):f,x=Ne({bound:"width",data:p,fontSize:u,svgHeight:`${i}`,svgWidth:`${o}`,viewBox:n}),R=s===m.TOP;return{extraSpaceBottomY:s===m.BOTTOM?h+(c?.top??0):0,extraSpaceTopY:R?h+(c?.bottom??0):0,lineChartXPosition:s||m.BOTTOM,securityXSpace:x,xBreakAxis:d?.numeric?d.numeric.breakAxis??0:c?.custom?.breakAxis??0,xData:f}},Rt=(e,t,r,a,n,i,o)=>{const{position:s,tickText:c,tickValues:d,valueFormatter:l}=e.props,u=c?.fontSize??"0",h=u*a,f=d||Ce([...new Set(pt(t,r))]),p=ft(f),x=l?p.map(l):p,R=Ne({bound:"width",data:x,fontSize:u,svgHeight:`${i}`,svgWidth:`${o}`,viewBox:n}),g=h,A=s===m.RIGHT;return{extraSpaceLeftX:s===m.LEFT?R+(c?.right??0):0,extraSpaceRightX:A?R+(c?.left??0):0,lineChartYPosition:s||m.LEFT,securityYSpace:g,yAxisText:R,yBreakAxis:d?.numeric?d.numeric.breakAxis??0:c?.custom?.breakAxis??0,yData:p}},gt=({addError:e,ajustedX:t,ajustedY:r,canvasHeight:a,canvasWidth:n,children:i,data:o,viewBox:s,xKey:c})=>{let d;if(!o||0===o.length){const t={error:V(L)};e?.("LINE_CHART_CONTEXT_ERROR",t),d=t}if(o&&1===o.length){const t={error:V(j)};e?.("LINE_CHART_CONTEXT_ERROR",t),d=t}if(n<=0||a<=0){const t={error:K(n,a)};e?.("LINE_CHART_CONTEXT_ERROR",t),d=t}const l=o&&o.length>0?o:[{[c]:"0",y:0},{[c]:"1",y:1}],h=n>0?n:100,f=a>0?a:100,{extraSpaceBottomY:p,extraSpaceLeftX:x,extraSpaceRightX:R,extraSpaceTopY:g,lineChartXPosition:A,lineChartYPosition:_,securityXSpace:T,securityYSpace:E,xAxisText:y,xBreakAxis:C,xData:S,yAxisText:I,yBreakAxis:$,yData:k}=(({ajustedX:e,ajustedY:t,canvasHeight:r,canvasWidth:a,children:n,data:i,viewBox:o,xKey:s})=>{let c={extraSpaceBottomY:0,extraSpaceLeftX:0,extraSpaceRightX:0,extraSpaceTopY:0,lineChartXPosition:m.BOTTOM,lineChartYPosition:m.LEFT,securityXSpace:0,securityYSpace:0,xAxisText:0,xBreakAxis:0,xData:[],yAxisText:0,yBreakAxis:0,yData:[]};return u.Children.forEach(n,n=>{u.isValidElement(n)&&(n.type===nt?c={...c,...xt(n,i,s,e,o,r,a)}:n.type===it&&(c={...c,...Rt(n,i,s,t,o,r,a)}))}),c})({ajustedX:t,ajustedY:r,canvasHeight:f,canvasWidth:h,children:i,data:l,viewBox:s,xKey:c}),b=A!==m.TOP&&A!==m.BOTTOM,O=ee({initPos:x,maxSpaceAvailable:h,otherAxisSpace:x+R,securitySpace:T,tickValues:S});if((O??[]).some(({position:e})=>isNaN(e))){const t={error:V(N)};e?.("LINE_CHART_CONTEXT_ERROR",t),d=t}if(O){const t=O.length<2,r=O.length>=2&&1===new Set(O.map(e=>e.value)).size;if(t){const t={error:V(D)};e?.("LINE_CHART_X_AXIS_ERROR",t),d||(d=t)}if(r){const t={error:V(B)};e?.("LINE_CHART_X_AXIS_ERROR",t),d||(d=t)}}const H=_!==m.LEFT&&_!==m.RIGHT,w=te({initPos:f-p,maxSpaceAvailable:f,otherAxisSpace:g+p,securitySpace:E,tickValues:k});if(w){const t=w.length<2,r=w.length>=2&&1===new Set(w.map(e=>e.value)).size;if(t){const t={error:V(X)};e?.("LINE_CHART_Y_AXIS_ERROR",t),d||(d=t)}if(r){const t={error:V(P)};e?.("LINE_CHART_Y_AXIS_ERROR",t),d||(d=t)}}const W=b?Q(w||[],[String(C)])[0]:0,Y=H?Q(O||[],[String($)])[0]:0,U=q({canvasHeight:f,canvasWidth:h,customBreakAxis:Number(W),extraSpaceBottomY:p,extraSpaceLeftX:x,extraSpaceRightX:R,extraSpaceTopY:g,position:A}),z=J({canvasHeight:f,canvasWidth:h,customBreakAxis:Number(Y),extraSpaceBottomY:p,extraSpaceLeftX:x,extraSpaceRightX:R,extraSpaceTopY:g,position:_});if(U.x1===U.x2){const t={error:V(M)};e?.("LINE_CHART_X_AXIS_ERROR",t),d||(d=t)}if(z.y1===z.y2){const t={error:V(F)};e?.("LINE_CHART_Y_AXIS_ERROR",t),d||(d=t)}const G={addError:e,crossXAxis:b,crossYAxis:H,extraSpaceBottomY:p,extraSpaceLeftX:x,extraSpaceRightX:R,extraSpaceTopY:g,securityXSpace:T,securityYSpace:E,xAxisCoordinates:{coordinates:U,tickValues:O||(d?[{position:0,value:"0"},{position:h,value:"1"}]:[])},xAxisText:y,yAxisCoordinates:{coordinates:z,tickValues:w||(d?[{position:f,value:re},{position:0,value:ae}]:[])},yAxisText:I};return d?{...G,error:{...d,type:v.LINE_CHART_CONTEXT_ERROR}}:G},At=Object.assign(({ariaHidden:e,ariaLabel:t,canvasConfig:r=p,caption:a,children:n,classNames:i,data:o,dataTestId:s="line-chart",getPathArea:c,height:d="100%",onErrors:g,role:A,tabIndex:_,width:E="100%",xKey:y,...v})=>{const{extraSpace:m,height:C,width:S}=r,[I,$]=u.useState(""),[N,k]=u.useState({height:0,width:0}),L=m?T(m):void 0,b=f(N.width,N.height,L),O=[l.jsx(nt,{},"default-x-axis"),l.jsx(it,{},"default-y-axis")],H=u.Children.toArray(n)||[],w=O.concat(H),j=Math.max(N.width,N.height,L??0),B=isNaN(N.width/j)?0:N.width/j,D=isNaN(N.height/j)?0:N.height/j;(({attrName:e,children:t,originalValue:r,updateValue:a})=>{let n="";u.Children.toArray(t).forEach(t=>{if(u.isValidElement(t)){const r=t.props[e];r&&(n+=r)}}),n!==r&&a(n)})({attrName:"dataKey",children:w,originalValue:I,updateValue:$});const M=u.useMemo(()=>x(g),[g]),P=R(o),X=u.useMemo(()=>(M.clearErrors(),gt({addError:(e,t)=>{M.addError(e,t)},ajustedX:B,ajustedY:D,canvasHeight:N.height,canvasWidth:N.width,children:w,data:o,viewBox:b,xKey:y})),[N.width,N.height,P,y,I,M.addError]),{svgRef:F,xCursor:W,yCursor:V}=(({canvasHeight:e,canvasWidth:t})=>{const[[r,a],n]=u.useState([se,se]),i=u.useCallback((r,a)=>{const{height:i,left:o,top:s,width:c}=a.getBoundingClientRect(),d=r.clientX-o,l=r.clientY-s;n([d*t/c,l*e/i])},[t,e]),o=e=>{e.preventDefault()};return{svgRef:u.useCallback(e=>{e&&(e.addEventListener("touchstart",o),e.addEventListener("touchmove",t=>i(t.touches[0],e)),e.addEventListener("mousemove",t=>i(t,e))),e?.removeEventListener("touchstart",o),e?.removeEventListener("touchmove",t=>i(t.touches[0],e)),e?.removeEventListener("mousemove",t=>i(t,e))},[e,t]),xCursor:r,yCursor:a}})({canvasHeight:N.height,canvasWidth:N.width});return u.useEffect(()=>{const e=document.querySelector("[data-kbt-svg]");if(!e)return;const{parsedCanvasHeight:t,parsedCanvasWidth:r}=ht({canvasHeight:C,canvasWidth:S,svgElement:e});k({height:t,width:r})},[S,C]),u.useEffect(()=>{c?.({x1:X.extraSpaceLeftX,x2:N.width-X.extraSpaceRightX,y1:X.extraSpaceTopY,y2:N.height-X.extraSpaceBottomY})},[N.width,N.height]),l.jsx(h,{ref:F,ariaHidden:e,ariaLabel:t,caption:a,className:i,"data-kbt-svg":!0,dataTestId:s,height:d,role:A,tabIndex:_,viewBox:b,width:E,...v,children:l.jsx(ze.Provider,{value:{...X,canvasExtraSpace:L,canvasHeight:N.height,canvasWidth:N.width,data:o,dataTestId:s,xCursor:W,xKey:y,yCursor:V},children:n})})},{Path:({ariaLabel:e,closestClick:t,curved:r,getNodeFocusInfo:a,getNodesCoords:n,indicatorConfig:i,lineProjection:o,onClick:s,...c})=>{const{addError:d,xAxisCoordinates:h,yAxisCoordinates:f,...p}=u.useContext(ze);u.useEffect(()=>{if(!c.dataKey||"string"!=typeof c.dataKey)return void d?.("LINE_CHART_PATH_ERROR",{error:V(H)});if(p.data.length>0&&!Object.prototype.hasOwnProperty.call(p.data[0],c.dataKey))return void d?.("LINE_CHART_PATH_ERROR",{error:Y(c.dataKey)});if(r&&p.data.length<2)return void d?.("LINE_CHART_PATH_ERROR",{error:V(O)});const e=rt(p.data,c.dataKey);e.length>0&&e.every(e=>null==e)&&d?.("LINE_CHART_PATH_ERROR",{error:V(b)})},[c.dataKey,r,p.data,d]);const{indicatorRef:x,pathRef:R}=((e,t)=>{const r=u.useRef(null),a=u.useRef(null);return u.useEffect(()=>{if(!t||!r.current||!a.current)return;const n=r.current,i=a.current;let o,s,c=0,d=n.getTotalLength();for(;d-c>.01;)o=(c+d)/2,s=n.getPointAtLength(o),s.x<e?c=o:d=o;const l=n.getPointAtLength(d);i.setAttribute("transform",`translate(${l.x}, ${l.y})`),i.setAttribute("pointer-events","none")},[e]),{indicatorRef:a,pathRef:r}})(p.xCursor,!!i),g=!!i&&p.xCursor!==-1/0,A=u.useRef(null),_=u.useRef(null),{autoClick:T,lineIndicator:E,...y}=i||{},v=p.extraSpaceTopY,m=Number(p.canvasHeight)-p.extraSpaceBottomY,{tickValues:C}=h,{tickValues:S}=f,I=rt(p.data,p.xKey),$=rt(p.data,c.dataKey),N=Q(C,I,!0),k=Q(S,$),L=N.map((e,t)=>[e,k[t]]),w=Ge({curved:r,extendToBottom:!1,points:L,svgHeight:Number(p.canvasHeight)-p.extraSpaceBottomY}),j=Ge({curved:r,extendToBottom:!!c.fill||!!c.gradient,points:L,svgHeight:Number(p.canvasHeight)-p.extraSpaceBottomY});u.useEffect(()=>{if(!A.current?.path)return;R.current=A.current.path;const e=A.current.main,t=A.current.node,r=I.map((e,t)=>({x:e,y:$[t]})),{mount:n,unmount:i}=(({data:e,getNodeFocusInfo:t,nodes:r,ref:a})=>{let n,i=!1;const o=a.querySelector("[data-draw]"),s=a=>{i&&("ArrowRight"===a.key?(n=void 0===n||n===r.length-1?0:n+1,r[n].focus(),t?.(e[n])):"ArrowLeft"===a.key&&(n=void 0===n||0===n?r.length-1:n-1,r[n].focus(),t?.(e[n])))},c=()=>{i=!0},d=()=>{i=!1},l=()=>{n=void 0};return{mount:()=>{a.addEventListener("focusin",c),a.addEventListener("focusout",d),o?.addEventListener("focus",l),window.addEventListener("keydown",e=>s(e))},unmount:()=>{a.removeEventListener("focusin",c),a.removeEventListener("focusout",d),o?.removeEventListener("focus",l),window.removeEventListener("keydown",e=>s(e))}}})({data:r,getNodeFocusInfo:a,nodes:t,ref:e});return n(),()=>i()},[]),u.useEffect(()=>{if(c.nodeConfig&&g&&T){const{idx:e,match:t}=((e,t)=>{let r=0,a=!1;for(let n=0;n<e.length;n++)if(Math.round(e[n])===Math.round(t)){a=!0,r=n;break}return{idx:r,match:a}})(N,p.xCursor);if(t&&e!==_.current){_.current=e;const t=new MouseEvent("click",{bubbles:!0});t.autoClick=!0,A.current?.node?.[e]?.dispatchEvent(t),navigator?.vibrate?.(200)}else _.current=null}},[p.xCursor]),u.useEffect(()=>{n?.(L)},[L]);const B=ie(c),D={...c,...B,...e&&{"aria-label":e}};return l.jsxs(l.Fragment,{children:[l.jsx(Te,{ref:A,d:w,dFill:j,dataTestId:`${p.dataTestId}path`,dataValue:p.data,points:L,xKey:p.xKey,onClick:e=>{if(s?.(e),t){const e=((e,t)=>{let r=0,a=Math.abs(e[0]-t);for(let n=1;n<e.length;n++){const i=Math.abs(e[n]-t);i<a&&(r=n,a=i)}return r})(N,p.xCursor),t=new MouseEvent("click",{bubbles:!0});t.autoClick=!1,A.current?.node?.[e]?.dispatchEvent(t)}},...D}),o&&l.jsx(tt,{curved:r,dataKey:c.dataKey,lineProjection:o,points:L,svgHeight:Number(p.canvasHeight)-p.extraSpaceBottomY}),g&&l.jsxs(l.Fragment,{children:[!!E&&l.jsx(ke,{...E,className:"pointer-events-none",x1:p.xCursor,x2:p.xCursor,y1:v,y2:m}),l.jsx("g",{ref:x,className:"pointer-events-none",children:l.jsx(Ae,{...y})})]})]})},Separator:({areaSeparator:e,dataTestId:t,rightSeparator:r,topSeparator:a,xBreakAxis:n,yBreakAxis:i})=>{const{addError:o,crossXAxis:s,crossYAxis:c,xAxisCoordinates:d,yAxisCoordinates:h}=u.useContext(ze);if(u.useEffect(()=>{if(void 0!==n){const e=d.tickValues.map(e=>e.value),t="string"==typeof n?parseFloat(n):n;if(isNaN(t))o?.("LINE_CHART_SEPARATOR_ERROR",{error:U(n)});else{const r=Math.min(...e.map(e=>"string"==typeof e?parseFloat(e):e)),a=Math.max(...e.map(e=>"string"==typeof e?parseFloat(e):e));(t<r||t>a)&&o?.("LINE_CHART_SEPARATOR_ERROR",{error:G(t,r,a)})}}if(void 0!==i){const e=h.tickValues.map(e=>e.value),t="string"==typeof i?parseFloat(i):i;if(isNaN(t))o?.("LINE_CHART_SEPARATOR_ERROR",{error:z(i)});else{const r=Math.min(...e.map(e=>"string"==typeof e?parseFloat(e):e)),a=Math.max(...e.map(e=>"string"==typeof e?parseFloat(e):e));(t<r||t>a)&&o?.("LINE_CHART_SEPARATOR_ERROR",{error:Z(t,r,a)})}}},[n,i,d.tickValues,h.tickValues,o]),!a&&!r&&!e)return l.jsx(l.Fragment,{});const f=n&&Q(d.tickValues,[n],!0)[0],p=i&&Q(h.tickValues,[i])[0],x=c?h.coordinates.x1:d.coordinates.x2,R=s?d.coordinates.y1:h.coordinates.y1,g=d.coordinates.x1,A=f??x,_=h.coordinates.y2,T=p??R;u.useEffect(()=>{g===A&&_===T&&o?.("LINE_CHART_SEPARATOR_ERROR",{error:V(w)})},[g,A,_,T,o]);const E=`M${g} ${_} H ${A} V ${T} H ${g} Z`,y=`M${g} ${T} H ${A}`,v=`M${A} ${_} V ${T}`;return l.jsxs("g",{children:[l.jsx("path",{d:E,"data-testid":`${t}Area`,...e}),l.jsx("path",{d:y,"data-testid":`${t}Top`,...a}),l.jsx("path",{d:v,"data-testid":`${t}Right`,...r})]})},XAxis:nt,YAxis:it}),_t=({children:e,dataTestId:t,height:r,width:a,x:n,y:i})=>l.jsx("foreignObject",{"data-testid":t,height:r,width:a,x:n,y:i,children:e}),Tt=u.createContext({}),Et=(e,t,r)=>({x:e.x+t*Math.cos(r),y:e.y+t*Math.sin(r)}),yt=({center:e,innerEnd:t,innerRadius:r,singleStroke:a})=>{if(!a)return r>0?`L ${t.x},${t.y}`:`L ${e.x},${e.y}`},vt="CLOCKWISE",mt=({canvasHeight:e,canvasWidth:t,color:r="blue",gap:a,halfChart:n,innerRadius:i,radius:o,singleStroke:s,startAngle:c,total:d,value:u,...h})=>{const f=(({canvasHeight:e,canvasWidth:t,customRadius:r,gap:a,halfChart:n,innerRadius:i,rotateDirection:o,singleStroke:s,startAngle:c,total:d,value:l})=>{const u=n?2*e:e,h=Math.min(t,u)/2,f=r&&r<h?r:h,p=n?Math.PI:2*Math.PI,x={x:t/2,y:n?e:e/2},R=s?2*d:d,g=100*l/R*p/100,A=a/f,{carryAngle:_,finalAngle:T,initialAngle:E}=(({angleEquivalent:e,direction:t,gapAngle:r,startAngle:a})=>{const n=t===vt;return{carryAngle:n?a+e:a-e,finalAngle:n?a+e-r/2:a-e+r/2,initialAngle:n?a+r/2:a-r/2}})({angleEquivalent:g,direction:o,gapAngle:A,startAngle:c.current});c.current=_;const y=p*l/R-A<=Math.PI?"0":"1",v=Et(x,i,E),m=Et(x,i,T),C=Et(x,f,E);return(({center:e,innerEnd:t,innerRadius:r,innerStart:a,largeArcFlag:n,outerEnd:i,outerStart:o,radius:s,rotateDirection:c,singleStroke:d})=>{let l,u,h,f,p,x,R,g,A,_;return c===vt?(l=`M ${o.x},${o.y}`,u=`A ${s},${s} 0 ${n} 1 ${i.x}, ${i.y}`,h=yt({center:e,innerEnd:t,innerRadius:r,singleStroke:d}),f=d?`M ${t.x},${t.y}`:void 0,p=r>0?`A ${r},${r} 0 ${n} 0 ${a.x},${a.y}`:void 0,x=`M ${o.x},${o.y}`,g=`M ${t.x},${t.y}`,R=`A ${s},${s} 0 ${n} 0 ${i.x},${i.y}`,A=`A ${r},${r} 0 ${n} 1 ${a.x},${a.y}`,_=d?void 0:"Z"):(l=`M ${o.x} ${o.y}`,u=`A ${s},${s} 0 ${n},0 ${i.x}, ${i.y}`,h=yt({center:e,innerEnd:t,innerRadius:r,singleStroke:d}),f=d?`M ${t.x},${t.y}`:void 0,p=r>0?`A ${r}, ${r} 0 ${n},1 ${a.x},${a.y}`:void 0,x=`M ${o.x},${o.y}`,g=`M ${t.x},${t.y}`,R=`A ${s},${s} 0 ${n} 1 ${i.x},${i.y}`,A=`A ${r},${r} 0 ${n} 0 ${a.x},${a.y}`,_=d?void 0:"Z"),[l,u,h,f,p,_].concat(d?[x,R,g,A]:[]).filter(Boolean).join(" ")})({center:x,innerEnd:m,innerRadius:i,innerStart:v,largeArcFlag:y,outerEnd:Et(x,f,T),outerStart:C,radius:f,rotateDirection:o,singleStroke:s})})({canvasHeight:e,canvasWidth:t,customRadius:o,gap:a,halfChart:n,innerRadius:i,singleStroke:s,startAngle:c,total:d,value:u});return l.jsx(Te,{...h,d:f,dataValue:u,fill:r})},Ct=({dataKey:e,fill:t,gap:r,innerRadius:a,radius:n,...i})=>{const o=String(e),{canvasHeight:s,canvasWidth:c,data:d,dataTestId:h,halfChart:f}=u.useContext(Tt),p=f?0:-Math.PI/2,x=u.useRef(p),R=d[o]?.reduce((e,t)=>e+t.value,0),g=1===d[o]?.length,A=a?T(a):void 0,_=n?T(n):void 0;return d[o]?.length?l.jsx("g",{children:d[o].map((e,a)=>u.createElement(mt,{...i,...e,key:`${a.toString()}`,canvasHeight:s,canvasWidth:c,color:e.color||t,dataTestId:`${h}path-${a}`,gap:r,halfChart:f,innerRadius:A,radius:_,singleStroke:g,startAngle:x,total:R}))}):l.jsx(l.Fragment,{})},St=Object.assign(({ariaHidden:e,ariaLabel:t,canvasConfig:r=p,caption:a,children:n,classNames:i,data:o,dataTestId:s="pie-chart",halfChart:c,height:d="100%",radius:x="50%",role:R,tabIndex:g,width:A="100%",..._})=>{const{extraSpace:E,height:y,width:v}=r,m=T(v),C=T(y),S=E?T(E):void 0,I=f(m,C,S),$=u.useMemo(()=>(({canvasHeight:e,canvasWidth:t,children:r,halfChart:a})=>{let n,i;u.Children.forEach(r,e=>{if(u.isValidElement(e)&&e.type===Ct){const{innerRadius:t}=e.props;if(!t)return;const r=T(t);(!n||r<n)&&(n=r)}}),n&&(i=2*n);const o=i??0,s=a?o/2:o,c=a?e:e/2;return{foreignObject:{height:s,width:o,x:t/2-o/2,y:a?c-s:c-s/2}}})({canvasHeight:C,canvasWidth:m,children:n,halfChart:c}),[y,v,c]);return l.jsx(h,{ariaHidden:e,ariaLabel:t,caption:a,className:i,dataTestId:s,height:d,radius:x,role:R,tabIndex:g,viewBox:I,width:A,..._,children:l.jsx(Tt.Provider,{value:{...$,canvasHeight:C,canvasWidth:m,data:o,dataTestId:s,halfChart:c},children:n})})},{Foreign:({children:e,dataTestId:t,height:r,width:a,x:n,y:i,...o})=>{const{dataTestId:s,foreignObject:c}=u.useContext(Tt),d=!a&&c?.width?c.width:a,h=!r&&c?.height?c.height:r,f=!n&&c?.x?c.x:n,p=!i&&c?.y?c.y:i,x=!t&&s?`${s}-foreign-object`:t;return l.jsx(_t,{...o,dataTestId:x,height:h,width:d,x:f,y:p,children:e})},Path:Ct}),It=({fill:e="#8f8f8f",x:t,y:r})=>l.jsxs("g",{fill:e,pointerEvents:"none",transform:`translate(${t-5}, ${r-5})`,children:[l.jsx("path",{d:"M4.99948 9.99802C4.47168 9.99802 4.04419 9.64335 4.04419 9.20547V0.79255C4.04419 0.354666 4.47168 0 4.99948 0C5.52728 0 5.95477 0.354666 5.95477 0.79255V9.20745C5.95477 9.64533 5.52728 10 4.99948 10V9.99802Z"}),l.jsx("path",{d:"M0.955289 8.78839C0.427492 8.78839 0 8.43372 0 7.99584V2.00416C0 1.56628 0.427492 1.21161 0.955289 1.21161C1.48309 1.21161 1.91058 1.56628 1.91058 2.00416V7.99584C1.91058 8.43372 1.48309 8.78839 0.955289 8.78839Z"}),l.jsx("path",{d:"M8.08936 7.99584C8.08936 8.43372 8.51685 8.78839 9.04464 8.78839C9.57244 8.78839 9.99993 8.43372 9.99993 7.99584V2.00416C9.99993 1.56628 9.57244 1.21161 9.04464 1.21161C8.51685 1.21161 8.08936 1.56628 8.08936 2.00416V7.99584Z"})]}),$t=({linesData:e})=>l.jsx(l.Fragment,{children:e.map((e,t)=>l.jsxs("g",{children:[e.config.fill&&e.fillPath&&l.jsx("path",{d:e.fillPath,fill:e.config.fill,fillOpacity:e.config.fillOpacity||.2,stroke:"none"}),l.jsx("path",{d:e.linePath,fill:"none",stroke:e.config.stroke||"#0078D4",strokeWidth:e.config.strokeWidth||1})]},e.config.dataKey||e.config.yKey||t))}),Nt={FOCUS_COLOR:"#0078D4",FOCUS_INNER:"#ffffff",INNER_FOCUS_STROKE_WIDTH:2,OUTER_FOCUS_STROKE_WIDTH:2,OUTLINES_GAP:0},kt=({elementHeight:e,elementPosition:t,elementStrokeWidth:r=0,elementType:a,elementWidth:n,gap:i=0,innerStrokeWidth:o=2,outlineStrokeWidth:s=2})=>{if("circle"===a){const e=n/2+r/2+o/2+i,a=e+o/2+s/2;return{inner:{cx:t.x,cy:t.y,r:e},outer:{cx:t.x,cy:t.y,r:a},type:"circle"}}const c=n+r+o+2*i,d=e+r+o+2*i,l=c+o+s,u=d+o+s;return{inner:{height:d,width:c,x:t.x-c/2,y:t.y-d/2},outer:{height:u,width:l,x:t.x-l/2,y:t.y-u/2},type:"rectangle"}},Lt=(e,t,r)=>{const a=e.start/Math.max(1,t-1)*r;return{endX:e.end/Math.max(1,t-1)*r,startX:a}},bt=(e,t,r)=>{const a=Math.max(0,Math.min(t,e))/t;return Math.round(a*(r-1))},Ot=(e,t,r=.1)=>{const a=Math.max(0,Math.min(e.start,t-1-r));return{end:Math.min(t-1,Math.max(e.end,a+r)),start:a}},Ht=e=>({end:Math.max(0,e-1),start:0}),wt=(e,t)=>0===e.start&&e.end===t-1,jt=({endX:e,focusConfig:t,height:r,isFocused:a,startX:n})=>{if(!a)return null;const i=e-n,o=kt({elementHeight:r,elementPosition:{x:n+i/2,y:r/2},elementStrokeWidth:0,elementType:"rectangle",elementWidth:i,gap:t.gap,innerStrokeWidth:t.innerStrokeWidth,outlineStrokeWidth:t.outlineStrokeWidth}),s=t.outlineColor,c=t.innerColor,d=t.outlineStrokeWidth,u=t.innerStrokeWidth;return"rectangle"!==o.type?null:l.jsxs("g",{pointerEvents:"none",children:[l.jsx("rect",{fill:"none",height:o.outer.height,stroke:s,strokeWidth:d,width:o.outer.width,x:o.outer.x,y:o.outer.y}),l.jsx("rect",{fill:"none",height:o.inner.height,stroke:c,strokeWidth:u,width:o.inner.width,x:o.inner.x,y:o.inner.y})]})},Bt=({currentRange:e,dataLength:t,dataTestId:r,endX:a,height:n,onBlur:i,onFocus:o,onKeyDown:s,onMouseDown:c,onTouchStart:d,screenReaderText:u,selectionConfig:h,startX:f})=>{const p=h.hideOverlayOnFullRange&&wt(e,t);return l.jsx(l.Fragment,{children:l.jsx("rect",{"aria-label":u,"aria-valuemax":t-1,"aria-valuemin":0,"aria-valuetext":u,cursor:"grab","data-testid":r,fill:h.fill,fillOpacity:h.fillOpacity,height:n,role:"slider",stroke:h.stroke,strokeWidth:h.strokeWidth,style:{outline:"none",visibility:p?"hidden":"visible"},tabIndex:0,width:a-f,x:f,y:0,onBlur:i,onFocus:o,onKeyDown:s,onMouseDown:c,onTouchStart:d})})},Dt="#8f8f8f",Mt=({dataTestId:e,focusConfig:t,handlerConfig:r,height:a,isFocused:n,max:i,min:o,onBlur:s,onFocus:c,onKeyDown:d,onMouseDown:u,onTouchStart:h,screenReaderText:f,x:p})=>{const x=a/2,R=(e=>({fill:e?.fill||"#ffffff",iconColor:e?.iconColor||Dt,radius:e?.radius||17,stroke:e?.stroke||Dt,strokeWidth:e?.strokeWidth||1,verticalLineStroke:e?.verticalLineStroke||Dt,verticalLineStrokeWidth:e?.verticalLineStrokeWidth||2}))(r),g=kt({elementHeight:2*R.radius,elementPosition:{x:p,y:x},elementStrokeWidth:"number"==typeof R.strokeWidth?R.strokeWidth:parseFloat(R.strokeWidth.toString()),elementType:"circle",elementWidth:2*R.radius,gap:t.gap,innerStrokeWidth:t.innerStrokeWidth,outlineStrokeWidth:t.outlineStrokeWidth});return l.jsxs("g",{"data-testid":`${e}-group`,children:[l.jsx("line",{pointerEvents:"none",stroke:R.verticalLineStroke,strokeWidth:R.verticalLineStrokeWidth,x1:p,x2:p,y1:0,y2:a}),l.jsx("circle",{"aria-label":f,"aria-valuemax":i,"aria-valuemin":o,"aria-valuetext":f,cursor:"ew-resize",cx:p,cy:x,"data-testid":e,fill:R.fill,r:R.radius,role:"slider",stroke:R.stroke,strokeWidth:R.strokeWidth,style:{outline:"none"},tabIndex:0,onBlur:s,onFocus:c,onKeyDown:d,onMouseDown:u,onTouchStart:h}),l.jsx(It,{fill:R.iconColor,x:p,y:x}),n&&"circle"===g.type&&l.jsxs("g",{pointerEvents:"none",children:[l.jsx("circle",{cx:g.outer.cx,cy:g.outer.cy,fill:"none",r:g.outer.r,stroke:t.outlineColor,strokeWidth:t.outlineStrokeWidth}),l.jsx("circle",{cx:g.inner.cx,cy:g.inner.cy,fill:"none",r:g.inner.r,stroke:t.innerColor,strokeWidth:t.innerStrokeWidth})]})]})},Pt={END_HANDLER:"END_HANDLER",SELECTION_AREA:"SELECTION_AREA",START_HANDLER:"START_HANDLER"},Xt=e=>{const{currentRange:t,dataLength:r,interactionConfig:a,onRangeChange:n,width:i}=e,o=u.useRef(null),[s,c]=u.useState(null),d=u.useCallback(e=>()=>{c(e)},[]),l=u.useCallback(e=>()=>{c(e)},[]),h=u.useCallback(e=>{if(!s||!o.current)return;const c=o.current;if(!c)return;const d=e-c.getBoundingClientRect().left,l=bt(d,i,r),u=((e,t,r,a,n)=>{const i={...t};if(e===Pt.START_HANDLER)i.start=Math.max(0,Math.min(r,t.end-n.minHandlerDistance));else if(e===Pt.END_HANDLER)i.end=Math.min(a-1,Math.max(r,t.start+n.minHandlerDistance));else if(e===Pt.SELECTION_AREA){const e=t.end-t.start,n=Math.max(0,Math.min(a-1-e,r-e/2));i.start=n,i.end=n+e}return i})(s,t,l,r,a),h=Ot(u,r,a.minHandlerDistance);n(h)},[s,i,r,t,n,a]),f=u.useCallback(e=>{h(e.clientX)},[h]),p=u.useCallback(e=>{0!==e.touches.length&&(e.preventDefault(),h(e.touches[0].clientX))},[h]),x=u.useCallback(()=>{c(null)},[]),R=u.useCallback(()=>{c(null)},[]);return u.useEffect(()=>{if(s)return document.addEventListener("mousemove",f),document.addEventListener("mouseup",x),document.addEventListener("touchmove",p,{passive:!1}),document.addEventListener("touchend",R),()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",x),document.removeEventListener("touchmove",p),document.removeEventListener("touchend",R)}},[s,f,x,p,R]),{groupRef:o,handleMouseDown:d,handleTouchStart:l,isDragging:s}},Ft=e=>{const{currentRange:t,dataLength:r,interactionConfig:a,onRangeChange:n}=e;return{handleKeyDown:u.useCallback(e=>i=>{const o=i.shiftKey?a.keyboardFastStep:a.keyboardStep;let s={...t};switch(i.key){case"ArrowLeft":case"ArrowDown":i.preventDefault(),s=((e,t,r,a)=>{const n={...t};if(e===Pt.START_HANDLER)n.start=Math.max(0,t.start-r);else if(e===Pt.END_HANDLER)n.end=Math.max(t.start+a.minHandlerDistance,t.end-r);else if(e===Pt.SELECTION_AREA){const e=t.end-t.start,a=Math.max(0,t.start-r);n.start=a,n.end=a+e}return n})(e,t,o,a);break;case"ArrowRight":case"ArrowUp":i.preventDefault(),s=((e,t,r,a,n)=>{const i={...t};if(e===Pt.START_HANDLER)i.start=Math.min(t.end-n.minHandlerDistance,t.start+r);else if(e===Pt.END_HANDLER)i.end=Math.min(a-1,t.end+r);else if(e===Pt.SELECTION_AREA){const e=t.end-t.start,n=Math.min(a-1-e,t.start+r);i.start=n,i.end=n+e}return i})(e,t,o,r,a);break;case"Home":i.preventDefault(),s=((e,t,r)=>{const a={...t};if(e===Pt.START_HANDLER)a.start=0;else if(e===Pt.END_HANDLER)a.end=r-1;else if(e===Pt.SELECTION_AREA){const e=t.end-t.start;a.start=0,a.end=e}return a})(e,t,r);break;case"End":i.preventDefault(),s=((e,t,r,a)=>{const n={...t};if(e===Pt.START_HANDLER)n.start=t.end-a.minHandlerDistance;else if(e===Pt.END_HANDLER)n.end=r-1;else if(e===Pt.SELECTION_AREA){const e=t.end-t.start;n.start=r-1-e,n.end=r-1}return n})(e,t,r,a);break;default:return}const c=Ot(s,r,a.minHandlerDistance);n(c)},[t,r,n,a])}},Wt=({canvasConfig:e,dataTestId:t,extraSpace:r=0,height:a,width:n})=>{const[i,o]=u.useState({height:0,width:0}),s=u.useMemo(()=>e||{extraSpace:r,height:a,width:n},[e,n,a,r]),{extraSpace:c,height:d,width:l}=s,h=c?T(c):void 0;u.useEffect(()=>{if(!Se())return;const e=(e=>{const t=Ie();return t?t.querySelector(e):null})(`[data-testid="${t}"]`);if(!e)return;const r=()=>{const{parsedCanvasHeight:t,parsedCanvasWidth:r}=ht({canvasHeight:d,canvasWidth:l,svgElement:e});o({height:t,width:r})};r();const a=new ResizeObserver(()=>{r()});return a.observe(e),()=>{a.disconnect()}},[l,d,t]);const p=u.useMemo(()=>f(i.width,i.height,h),[i.width,i.height,h]);return{parsedCanvas:i,viewBox:p}},Vt=()=>{const[e,t]=u.useState(null),r=u.useCallback(e=>()=>t(e),[]);return{handleBlur:u.useCallback(()=>{t(null)},[]),handleFocus:r,isFocused:u.useCallback(t=>e===t,[e])}},Yt=(e,t)=>{const r=Math.floor(e);return Math.max(0,Math.min(t,r))},Kt=(e,t)=>{const r=Math.ceil(e);return Math.max(0,Math.min(t,r))},Ut=(e,t)=>{const r=Math.max(0,t-1);return{endIndex:Kt(e.end,r),startIndex:Yt(e.start,r)}},zt=({data:e,initialRange:t,onDataChange:r})=>{const a=t||Ht(e.length),[n,i]=u.useState(a),o=t=>{if(!r||0===e.length)return;const{endIndex:a,startIndex:n}=Ut(t,e.length),i=e.slice(n,a+1);r(i)};return u.useEffect(()=>{o(n)},[]),{currentRange:n,handleRangeChange:e=>{i(e),o(e)}}},Gt=e=>({keyboardFastStep:e?.keyboardFastStep??2,keyboardStep:e?.keyboardStep??1,minHandlerDistance:e?.minHandlerDistance??1}),Zt=e=>{if(0===e.length)return"";if(1===e.length)return`M ${e[0][0]} ${e[0][1]}`;const[t,...r]=e;let a=`M ${t[0]} ${t[1]}`;return r.forEach((e,n)=>{const i=0===n?t:r[n-1],[o,s]=i,[c,d]=e,l=.3*(c-o),u=[o+l,s],h=[c-l,d];a+=` C ${u[0]} ${u[1]}, ${h[0]} ${h[1]}, ${c} ${d}`}),a},qt=(e,t,r,a)=>{if(0===e.length||0===t.length)return[];const n=.05*a,i=a-2*n,o=t.flatMap(t=>e.map(e=>Number(e[t.yKey]))),s=Math.min(...o),c=Math.max(...o)-s||1;return t.map(t=>{const o=e.map((a,o)=>[o/Math.max(1,e.length-1)*r,n+i-(Number(a[t.yKey])-s)/c*i]),d=t.curved?Zt(o):`M ${o.map(([e,t])=>`${e},${t}`).join(" L ")}`;let l="";return t.fill&&(l=t.curved?`${Zt(o)} L ${r} ${a} L 0 ${a} Z`:`${d} L ${r},${a} L 0,${a} Z`),{config:t,fillPath:l,linePath:d}})},Jt=(e,t,r)=>e[r]?.[t]?.toString()||`${r}`,Qt=(e,t,r)=>{if(!e)return e;const a=new RegExp("{{startValue}}","g"),n=new RegExp("{{endValue}}","g");return e.replace(a,t).replace(n,r)};e.Bar=ye,e.BarChart=Ue,e.BarOrientation=y,e.ChartText=Le,e.DefaultCanvasConfig=p,e.ErrorType=v,e.FOCUS_DEFAULT=Nt,e.ForeignObject=_t,e.HandlerIcon=It,e.Line=ke,e.LineChart=At,e.LineRenderer=$t,e.Node=Ae,e.NodeType=Re,e.Path=Te,e.PieChart=St,e.Positions=m,e.SelectionArea=Bt,e.SelectionAreaFocusRing=jt,e.SvgContainer=h,e.Tick=be,e.TickDataUtils=at,e.XAxis=we,e.YAxis=Me,e.ZoomArea=({ariaHidden:e,ariaLabel:t,backgroundColor:r,canvasConfig:a,caption:n,classNames:i,data:o,focusConfig:s,handlerConfig:c,height:d="40px",initialRange:f,interactionConfig:p,lines:x,onDataChange:g,role:A,screenReaderTextConfig:_,selectionConfig:T,width:E="100%",xKey:y,...v})=>{const m="zoom-area",C=Gt(p),S=(I=T,{fill:I?.fill??"#0078d4",fillOpacity:I?.fillOpacity??.5,hideOverlayOnFullRange:I?.hideOverlayOnFullRange??true,stroke:I?.stroke??"#0078d4",strokeWidth:I?.strokeWidth??0});var I;const $=(e=>({gap:e?.gap??Nt.OUTLINES_GAP,innerColor:e?.innerColor??Nt.FOCUS_INNER,innerStrokeWidth:e?.innerStrokeWidth??Nt.INNER_FOCUS_STROKE_WIDTH,outlineColor:e?.outlineColor??Nt.FOCUS_COLOR,outlineStrokeWidth:e?.outlineStrokeWidth??Nt.OUTER_FOCUS_STROKE_WIDTH}))(s),{currentRange:N,handleRangeChange:k}=zt({data:o,initialRange:f,onDataChange:g}),{parsedCanvas:L,viewBox:b}=Wt({canvasConfig:a,dataTestId:m,height:d,width:E}),O=R(o),H=JSON.stringify(x),w=((e,t,r,a)=>{const{endIndex:n,startIndex:i}=Ut(r,e.length),o=Jt(e,t,i),s=Jt(e,t,n),c=Qt(a?.startHandler,o,s)??o;return{endHandler:Qt(a?.endHandler,o,s)??s,selectionArea:Qt(a?.selectionArea,o,s)??`${o} - ${s}`,startHandler:c}})(o,y,N,_),j=u.useMemo(()=>qt(o,x,L.width,L.height),[O,H,L.width,L.height]),{endX:B,startX:D}=u.useMemo(()=>Lt(N,o.length,L.width),[N,O,L.width]),{handleBlur:M,handleFocus:P,isFocused:X}=Vt(),{handleKeyDown:F}=Ft({currentRange:N,dataLength:o.length,interactionConfig:C,onRangeChange:k}),{groupRef:W,handleMouseDown:V,handleTouchStart:Y}=Xt({currentRange:N,dataLength:o.length,interactionConfig:C,onRangeChange:k,width:L.width});return l.jsxs(h,{ref:W,ariaHidden:e,ariaLabel:t,backgroundColor:r,caption:n,className:i,"data-testid":m,height:d,overflow:"visible",role:A,viewBox:b,width:E,...v,children:[l.jsx($t,{linesData:j}),l.jsx(Bt,{currentRange:N,dataLength:o.length,dataTestId:`${m}-selection-area`,endX:B,height:L.height,screenReaderText:w.selectionArea,selectionConfig:S,startX:D,onBlur:M,onFocus:P(Pt.SELECTION_AREA),onKeyDown:F(Pt.SELECTION_AREA),onMouseDown:V(Pt.SELECTION_AREA),onTouchStart:Y(Pt.SELECTION_AREA)}),l.jsx(Mt,{dataTestId:`${m}-start-handler`,focusConfig:$,handlerConfig:c,height:L.height,isFocused:X(Pt.START_HANDLER),max:N.end-C.minHandlerDistance,min:0,screenReaderText:w.startHandler,type:Pt.START_HANDLER,value:N.start,x:D,onBlur:M,onFocus:P(Pt.START_HANDLER),onKeyDown:F(Pt.START_HANDLER),onMouseDown:V(Pt.START_HANDLER),onTouchStart:Y(Pt.START_HANDLER)}),l.jsx(Mt,{dataTestId:`${m}-end-handler`,focusConfig:$,handlerConfig:c,height:L.height,isFocused:X(Pt.END_HANDLER),max:o.length-1,min:N.start+C.minHandlerDistance,screenReaderText:w.endHandler,type:Pt.END_HANDLER,value:N.end,x:B,onBlur:M,onFocus:P(Pt.END_HANDLER),onKeyDown:F(Pt.END_HANDLER),onMouseDown:V(Pt.END_HANDLER),onTouchStart:Y(Pt.END_HANDLER)}),l.jsx(jt,{endX:B,focusConfig:$,height:L.height,isFocused:X(Pt.SELECTION_AREA),startX:D})]})},e.ZoomAreaElements=Pt,e.ZoomHandler=Mt,e.calculateHandlerPositions=Lt,e.calculateLinesPathData=qt,e.clampRange=Ot,e.createDefaultRange=Ht,e.generateCurvedPath=Zt,e.getInteractionConfig=Gt,e.isFullRange=wt,e.mouseToDataIndex=bt,e.normalizeToArray=e=>Array.isArray(e)?e:[e],e.useDragInteraction=Xt,e.useKeyboardNavigation=Ft,e.useResponsiveCanvas=Wt,e.useZoomAreaFocus=Vt,e.useZoomData=zt,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
@@ -5,6 +5,7 @@ import { BarChartStyles, BarOrientation } from '../../components/bar/bar.type';
5
5
  import { PathProps, StyleProps } from '../../components/path/path.types';
6
6
  import { TickData } from '../../components/tick/tick.types';
7
7
  import { CanvasConfig } from '../../types/canvas.type';
8
+ import { ChartError, ChartErrorCollection, ErrorType } from '../../types/errors.type';
8
9
  import { Positions } from '../../types/position.enum';
9
10
  export type BarChartChildrenType = ReactNode | ReactElement<PathProps | XAxisProps | YAxisProps>;
10
11
  export interface BarChartIDataPoint {
@@ -51,6 +52,8 @@ export type BarChartContextType = Omit<BarChartExtraSpacings, OmitLineProps> & {
51
52
  barChildrenCount: number;
52
53
  gapBetweenBars?: number;
53
54
  orientation: (typeof BarOrientation)[keyof typeof BarOrientation];
55
+ error?: ChartError;
56
+ addError?: (errorType: keyof typeof ErrorType, error: Omit<ChartError, 'type'>) => void;
54
57
  };
55
58
  export interface BarChartProps {
56
59
  children: BarChartChildrenType;
@@ -74,6 +77,7 @@ export interface BarChartProps {
74
77
  onBlur?: (event: React.FocusEvent<SVGElement>) => void;
75
78
  onKeyDown?: (event: React.KeyboardEvent<SVGSVGElement>) => void;
76
79
  onKeyUp?: (event: React.KeyboardEvent<SVGSVGElement>) => void;
80
+ onErrors?: (errors: ChartErrorCollection) => void;
77
81
  }
78
82
  export interface BarChartTickNumeric {
79
83
  max: number;
@@ -1 +1 @@
1
- {"version":3,"file":"barChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChart.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"barChart.type.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChart.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,YAAY,CAAC,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;AAEjG,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;IAC9D,iBAAiB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;IAC9D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,aAAa,GACd,mBAAmB,GACnB,mBAAmB,GACnB,OAAO,GACP,OAAO,GACP,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC,GAAG;IAC7E,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;IAClE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACzF,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACpE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACzE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACzE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACxD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACvD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AACD,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,GAAG,QAAQ,CAAC;AACrE,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IACrE,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AACD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IACrE,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AACD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"barChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChartStructure.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAyFrD,CAAC"}
1
+ {"version":3,"file":"barChartStructure.d.ts","sourceRoot":"","sources":["../../../../src/charts/barChart/barChartStructure.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoGrD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { BarOrientation } from '../../../components/bar/bar.type';
2
+ import { ChartError, ErrorType } from '../../../types/errors.type';
2
3
  import { BarChartChildrenType, BarChartContextType, BarChartIDataPoint } from '../barChart.type';
3
4
  interface BuildContextValue {
4
5
  children: BarChartChildrenType;
@@ -11,6 +12,7 @@ interface BuildContextValue {
11
12
  gapBetweenBars: number;
12
13
  orientation: (typeof BarOrientation)[keyof typeof BarOrientation];
13
14
  viewBox: string;
15
+ addError?: (errorType: keyof typeof ErrorType, error: Omit<ChartError, 'type'>) => void;
14
16
  }
15
17
  type OmitProps = 'data' | 'pKey' | 'canvasHeight' | 'canvasWidth' | 'canvasExtraSpace' | 'xBreakAxis' | 'yBreakAxis' | 'xCursor' | 'yCursor' | 'barChildrenCount' | 'orientation';
16
18
  /**
@@ -19,6 +21,6 @@ type OmitProps = 'data' | 'pKey' | 'canvasHeight' | 'canvasWidth' | 'canvasExtra
19
21
  * @param {BuildContextValue} options - The options for building the context value.
20
22
  * @returns {LineContextValue} - The built context value.
21
23
  */
22
- export declare const buildBarContextValue: ({ ajustedX, ajustedY, canvasHeight, canvasWidth, children, data, gapBetweenBars, orientation, pKey, viewBox, }: BuildContextValue) => Omit<BarChartContextType, OmitProps>;
24
+ export declare const buildBarContextValue: ({ addError, ajustedX, ajustedY, canvasHeight, canvasWidth, children, data, gapBetweenBars, orientation, pKey, viewBox, }: BuildContextValue) => Omit<BarChartContextType, OmitProps>;
23
25
  export {};
24
26
  //# sourceMappingURL=buildBarContextValues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildBarContextValues.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/context/buildBarContextValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAO3D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAG1B,UAAU,iBAAiB;IACzB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,SAAS,GACV,MAAM,GACN,MAAM,GACN,cAAc,GACd,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,aAAa,CAAC;AAElB;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,gHAWlC,iBAAiB,KAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CA2GzD,CAAC"}
1
+ {"version":3,"file":"buildBarContextValues.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/context/buildBarContextValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAoBjE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAI1B,UAAU,iBAAiB;IACzB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACzF;AAED,KAAK,SAAS,GACV,MAAM,GACN,MAAM,GACN,cAAc,GACd,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,aAAa,CAAC;AAElB;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,0HAYlC,iBAAiB,KAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAkSzD,CAAC"}
@@ -1,3 +1,9 @@
1
1
  import { BarChartPathProps } from '../barChart.type';
2
+ /**
3
+ * Extracts the values for a specific key from the dataset
4
+ * @param data Array of data points
5
+ * @param key Key to extract values from
6
+ * @returns Array of values for the given key
7
+ */
2
8
  export declare const BarChartPath: React.FC<BarChartPathProps>;
3
9
  //# sourceMappingURL=barChartPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barChartPath.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartPath.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6CpD,CAAC"}
1
+ {"version":3,"file":"barChartPath.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartPath.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8EpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"barChartSeparator.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartSeparator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAiC,MAAM,OAAO,CAAC;AAI/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAoCxD,CAAC"}
1
+ {"version":3,"file":"barChartSeparator.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartSeparator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAA4C,MAAM,OAAO,CAAC;AAY1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA0FxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"barChartXAxis.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartXAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAiC,MAAM,OAAO,CAAC;AAM/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA8ChD,CAAC"}
1
+ {"version":3,"file":"barChartXAxis.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartXAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAiC,MAAM,OAAO,CAAC;AAO/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA8ChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"barChartYAxis.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartYAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAiC,MAAM,OAAO,CAAC;AAO/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAsChD,CAAC"}
1
+ {"version":3,"file":"barChartYAxis.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/fragments/barChartYAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAiC,MAAM,OAAO,CAAC;AAQ/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAsChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"barContextData.d.ts","sourceRoot":"","sources":["../../../../../../src/charts/barChart/fragments/fixture/barContextData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,eAAO,MAAM,OAAO,EAAE,mBAuCrB,CAAC"}
1
+ {"version":3,"file":"barContextData.d.ts","sourceRoot":"","sources":["../../../../../../src/charts/barChart/fragments/fixture/barContextData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,eAAO,MAAM,OAAO,EAAE,mBAwCrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getBarDataValue.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/utils/getBarDataValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,2BAA2B,KAAG,MAAM,EAAE,GAAG,SAa/E,CAAC"}
1
+ {"version":3,"file":"getBarDataValue.d.ts","sourceRoot":"","sources":["../../../../../src/charts/barChart/utils/getBarDataValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,2BAA2B,KAAG,MAAM,EAAE,GAAG,SAkB/E,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Shared default configuration constants for chart components.
3
+ *
4
+ * These constants provide standardized default values that are common across
5
+ * different chart types, as well as type-specific constants with clear naming.
6
+ */
7
+ /**
8
+ * Default canvas dimensions used as fallback when invalid dimensions are provided
9
+ */
10
+ export declare const CHART_CANVAS_DEFAULTS: {
11
+ /** Default canvas height when invalid height is provided */
12
+ readonly SAFE_HEIGHT: 100;
13
+ /** Default canvas width when invalid width is provided */
14
+ readonly SAFE_WIDTH: 100;
15
+ };
16
+ /**
17
+ * Axis validation constants for tick values and positioning
18
+ */
19
+ export declare const AXIS_VALIDATION: {
20
+ /** Minimum number of tick values required for a valid axis */
21
+ readonly MIN_TICK_COUNT: 2;
22
+ /** Number used to detect when all tick values are identical */
23
+ readonly UNIQUE_VALUE_THRESHOLD: 1;
24
+ };
25
+ /**
26
+ * Default spacing and positioning values
27
+ */
28
+ export declare const CHART_SPACING_DEFAULTS: {
29
+ /** Default spacing value when no spacing is specified */
30
+ readonly DEFAULT_SPACE: 0;
31
+ };
32
+ /**
33
+ * Break axis default values
34
+ */
35
+ export declare const BREAK_AXIS_DEFAULTS: {
36
+ /** Default value when no custom break axis is specified */
37
+ readonly DEFAULT_BREAK_VALUE: 0;
38
+ };
39
+ /**
40
+ * Shared fallback data points used across different chart types
41
+ */
42
+ export declare const SHARED_FALLBACK_DATA: {
43
+ /** First fallback primary key value (used for axis labels) */
44
+ readonly FALLBACK_PKEY_FIRST: "0";
45
+ /** Second fallback primary key value (used for axis labels) */
46
+ readonly FALLBACK_PKEY_SECOND: "1";
47
+ };
48
+ /**
49
+ * Bar Chart specific default configuration values
50
+ */
51
+ export declare const BAR_CHART_DEFAULTS: {
52
+ /** Default width for bar elements when not specified */
53
+ readonly BAR_WIDTH: 20;
54
+ };
55
+ /**
56
+ * Bar Chart specific fallback data points used when bar chart data is invalid or empty
57
+ */
58
+ export declare const BAR_CHART_FALLBACK_DATA: {
59
+ /** Default x value for fallback data points */
60
+ readonly DEFAULT_X_VALUE: 0;
61
+ /** Generic secondary key for fallback data when dataKey is needed */
62
+ readonly FALLBACK_SECONDARY_KEY: "fallbackData";
63
+ };
64
+ /**
65
+ * Line Chart specific fallback data points used when line chart data is invalid or empty
66
+ */
67
+ export declare const LINE_CHART_FALLBACK_DATA: {
68
+ /** First X value for line chart fallback data */
69
+ readonly FALLBACK_X_FIRST: "0";
70
+ /** Second X value for line chart fallback data */
71
+ readonly FALLBACK_X_SECOND: "1";
72
+ /** First Y value for line chart fallback data */
73
+ readonly FALLBACK_Y_FIRST: 0;
74
+ /** Second Y value for line chart fallback data */
75
+ readonly FALLBACK_Y_SECOND: 1;
76
+ };
77
+ //# sourceMappingURL=chartDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartDefaults.d.ts","sourceRoot":"","sources":["../../../../src/charts/constants/chartDefaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,4DAA4D;;IAE5D,0DAA0D;;CAElD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B,8DAA8D;;IAE9D,+DAA+D;;CAEvD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB;IACjC,yDAAyD;;CAEjD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,2DAA2D;;CAEnD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B,8DAA8D;;IAE9D,+DAA+D;;CAEvD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,wDAAwD;;CAEhD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,+CAA+C;;IAE/C,qEAAqE;;CAE7D,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB;IACnC,iDAAiD;;IAEjD,kDAAkD;;IAElD,iDAAiD;;IAEjD,kDAAkD;;CAE1C,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { ChartError, ErrorType } from '../../../types/errors.type';
1
2
  import { ChildrenType, IDataPoint, LineChartContextType } from '../lineChart.type';
2
3
  interface BuildContextValue {
3
4
  children: ChildrenType;
@@ -8,6 +9,7 @@ interface BuildContextValue {
8
9
  canvasHeight: number;
9
10
  canvasWidth: number;
10
11
  viewBox: string;
12
+ addError?: (errorType: keyof typeof ErrorType, error: Omit<ChartError, 'type'>) => void;
11
13
  }
12
14
  type OmitProps = 'data' | 'xKey' | 'canvasHeight' | 'canvasWidth' | 'canvasExtraSpace' | 'xBreakAxis' | 'yBreakAxis' | 'xCursor' | 'yCursor';
13
15
  /**
@@ -16,6 +18,6 @@ type OmitProps = 'data' | 'xKey' | 'canvasHeight' | 'canvasWidth' | 'canvasExtra
16
18
  * @param {BuildContextValue} options - The options for building the context value.
17
19
  * @returns {LineContextValue} - The built context value.
18
20
  */
19
- export declare const buildLineContextValue: ({ ajustedX, ajustedY, canvasHeight, canvasWidth, children, data, viewBox, xKey, }: BuildContextValue) => Omit<LineChartContextType, OmitProps>;
21
+ export declare const buildLineContextValue: ({ addError, ajustedX, ajustedY, canvasHeight, canvasWidth, children, data, viewBox, xKey, }: BuildContextValue) => Omit<LineChartContextType, OmitProps>;
20
22
  export {};
21
23
  //# sourceMappingURL=buildLineContextValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildLineContextValue.d.ts","sourceRoot":"","sources":["../../../../../src/charts/lineChart/context/buildLineContextValue.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,SAAS,GACV,MAAM,GACN,MAAM,GACN,cAAc,GACd,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;AAEd;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,mFASnC,iBAAiB,KAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CA+I1D,CAAC"}
1
+ {"version":3,"file":"buildLineContextValue.d.ts","sourceRoot":"","sources":["../../../../../src/charts/lineChart/context/buildLineContextValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAkBjE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACzF;AAED,KAAK,SAAS,GACV,MAAM,GACN,MAAM,GACN,cAAc,GACd,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;AAEd;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,6FAUnC,iBAAiB,KAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAoR1D,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { TickData } from '../../../../components/tick/tick.types';
2
2
  export declare const CONTEXT: {
3
+ addError: undefined;
3
4
  canvasExtraSpace: number;
4
5
  canvasHeight: number;
5
6
  canvasWidth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"contextData.d.ts","sourceRoot":"","sources":["../../../../../../src/charts/lineChart/fragments/fixture/contextData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;oBAwBA,QAAQ,EAAE;;;;;;;;;;;;oBAWV,QAAQ,EAAE;;;;CAI7B,CAAC"}
1
+ {"version":3,"file":"contextData.d.ts","sourceRoot":"","sources":["../../../../../../src/charts/lineChart/fragments/fixture/contextData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;oBAyBA,QAAQ,EAAE;;;;;;;;;;;;oBAWV,QAAQ,EAAE;;;;CAI7B,CAAC"}