@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
@@ -0,0 +1,25 @@
1
+ export declare const LineChartErrorMessages: {
2
+ readonly LINE_CHART_INVALID_CANVAS: "Canvas dimensions validation failed: both width and height must be > 0";
3
+ readonly LINE_CHART_NO_DATA: "Data validation failed: no data provided for chart rendering";
4
+ readonly LINE_CHART_PATH_ALL_VALUES_NULL: "Path data cannot be generated - all Y values are null or undefined";
5
+ readonly LINE_CHART_PATH_INSUFFICIENT_POINTS: "Unable to calculate curved path with insufficient points (minimum 2 required)";
6
+ readonly LINE_CHART_PATH_INVALID_DATAKEY: "DataKey must be a valid string";
7
+ readonly LINE_CHART_PROJECTION_INVALID_BOUNDS: "Invalid projection bounds - upper projection must be below lower projection";
8
+ readonly LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE: "Lower projection X coordinate is outside valid range (0-100)";
9
+ readonly LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE: "Lower projection Y coordinate is outside chart area";
10
+ readonly LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE: "Upper projection X coordinate is outside valid range (0-100)";
11
+ readonly LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE: "Upper projection Y coordinate is outside chart area";
12
+ readonly LINE_CHART_SEPARATOR_INVALID_COORDINATES: "Invalid separator position - coordinates overlap, cannot render separator";
13
+ readonly LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS: "Invalid xBreakAxis value: cannot be parsed as number";
14
+ readonly LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS: "Invalid yBreakAxis value: cannot be parsed as number";
15
+ readonly LINE_CHART_SEPARATOR_X_OUT_OF_RANGE: "xBreakAxis value is outside data range";
16
+ readonly LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE: "yBreakAxis value is outside data range";
17
+ readonly LINE_CHART_SINGLE_POINT: "Data validation failed: single data point provided, minimum 2 required for line chart";
18
+ readonly LINE_CHART_X_AXIS_IDENTICAL_VALUES: "X-axis range validation failed: minimum and maximum values are identical, cannot render chart line";
19
+ readonly LINE_CHART_X_AXIS_INSUFFICIENT_TICKS: "X-axis tick calculation: insufficient data points (1/2 minimum required)";
20
+ readonly LINE_CHART_X_AXIS_ZERO_LENGTH: "X-axis geometry validation failed: start and end X coordinates are identical (x1=x2), axis has zero length";
21
+ readonly LINE_CHART_Y_AXIS_IDENTICAL_VALUES: "Y-axis range validation failed: minimum and maximum values are identical, cannot render chart line";
22
+ readonly LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS: "Y-axis tick calculation: insufficient data points (1/2 minimum required)";
23
+ readonly LINE_CHART_Y_AXIS_ZERO_LENGTH: "Y-axis geometry validation failed: start and end Y coordinates are identical (y1=y2), axis has zero length";
24
+ };
25
+ //# sourceMappingURL=lineChartErrorMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineChartErrorMessages.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/buildErrors/constants/errorMessages/lineChartErrorMessages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;CA4CzB,CAAC"}
@@ -0,0 +1,29 @@
1
+ export const LineChartErrorMessages = {
2
+ // Context Error Messages
3
+ LINE_CHART_INVALID_CANVAS: 'Canvas dimensions validation failed: both width and height must be > 0',
4
+ LINE_CHART_NO_DATA: 'Data validation failed: no data provided for chart rendering',
5
+ // Path Error Messages
6
+ LINE_CHART_PATH_ALL_VALUES_NULL: 'Path data cannot be generated - all Y values are null or undefined',
7
+ LINE_CHART_PATH_INSUFFICIENT_POINTS: 'Unable to calculate curved path with insufficient points (minimum 2 required)',
8
+ LINE_CHART_PATH_INVALID_DATAKEY: 'DataKey must be a valid string',
9
+ // Projection Error Messages
10
+ LINE_CHART_PROJECTION_INVALID_BOUNDS: 'Invalid projection bounds - upper projection must be below lower projection',
11
+ LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE: 'Lower projection X coordinate is outside valid range (0-100)',
12
+ LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE: 'Lower projection Y coordinate is outside chart area',
13
+ LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE: 'Upper projection X coordinate is outside valid range (0-100)',
14
+ LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE: 'Upper projection Y coordinate is outside chart area',
15
+ // Separator Error Messages
16
+ LINE_CHART_SEPARATOR_INVALID_COORDINATES: 'Invalid separator position - coordinates overlap, cannot render separator',
17
+ LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS: 'Invalid xBreakAxis value: cannot be parsed as number',
18
+ LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS: 'Invalid yBreakAxis value: cannot be parsed as number',
19
+ LINE_CHART_SEPARATOR_X_OUT_OF_RANGE: 'xBreakAxis value is outside data range',
20
+ LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE: 'yBreakAxis value is outside data range',
21
+ LINE_CHART_SINGLE_POINT: 'Data validation failed: single data point provided, minimum 2 required for line chart',
22
+ // Axis Error Messages
23
+ LINE_CHART_X_AXIS_IDENTICAL_VALUES: 'X-axis range validation failed: minimum and maximum values are identical, cannot render chart line',
24
+ LINE_CHART_X_AXIS_INSUFFICIENT_TICKS: 'X-axis tick calculation: insufficient data points (1/2 minimum required)',
25
+ LINE_CHART_X_AXIS_ZERO_LENGTH: 'X-axis geometry validation failed: start and end X coordinates are identical (x1=x2), axis has zero length',
26
+ LINE_CHART_Y_AXIS_IDENTICAL_VALUES: 'Y-axis range validation failed: minimum and maximum values are identical, cannot render chart line',
27
+ LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS: 'Y-axis tick calculation: insufficient data points (1/2 minimum required)',
28
+ LINE_CHART_Y_AXIS_ZERO_LENGTH: 'Y-axis geometry validation failed: start and end Y coordinates are identical (y1=y2), axis has zero length',
29
+ };
@@ -0,0 +1,20 @@
1
+ export declare const BarChartErrors: {
2
+ readonly BAR_CHART_AXIS_INSUFFICIENT_TICKS: "BAR_CHART_AXIS_INSUFFICIENT_TICKS";
3
+ readonly BAR_CHART_AXIS_INVALID_SCALE: "BAR_CHART_AXIS_INVALID_SCALE";
4
+ readonly BAR_CHART_DISTRIBUTION_INSUFFICIENT_SPACE: "BAR_CHART_DISTRIBUTION_INSUFFICIENT_SPACE";
5
+ readonly BAR_CHART_DISTRIBUTION_INVALID_GAP: "BAR_CHART_DISTRIBUTION_INVALID_GAP";
6
+ readonly BAR_CHART_DISTRIBUTION_OVERLAP: "BAR_CHART_DISTRIBUTION_OVERLAP";
7
+ readonly BAR_CHART_EMPTY_DATA: "BAR_CHART_EMPTY_DATA";
8
+ readonly BAR_CHART_INSUFFICIENT_SPACE_HEIGHT: "BAR_CHART_INSUFFICIENT_SPACE_HEIGHT";
9
+ readonly BAR_CHART_INSUFFICIENT_SPACE_WIDTH: "BAR_CHART_INSUFFICIENT_SPACE_WIDTH";
10
+ readonly BAR_CHART_INVALID_VALUE: "BAR_CHART_INVALID_VALUE";
11
+ readonly BAR_CHART_NEGATIVE_VALUE: "BAR_CHART_NEGATIVE_VALUE";
12
+ readonly BAR_CHART_NO_DATA: "BAR_CHART_NO_DATA";
13
+ readonly BAR_CHART_OVERLAP: "BAR_CHART_OVERLAP";
14
+ readonly BAR_CHART_SEPARATOR_X_OUT_OF_RANGE: "BAR_CHART_SEPARATOR_X_OUT_OF_RANGE";
15
+ readonly BAR_CHART_SEPARATOR_Y_OUT_OF_RANGE: "BAR_CHART_SEPARATOR_Y_OUT_OF_RANGE";
16
+ readonly BAR_CHART_STACK_INVALID: "BAR_CHART_STACK_INVALID";
17
+ readonly BAR_CHART_STACK_MISSING_VALUES: "BAR_CHART_STACK_MISSING_VALUES";
18
+ };
19
+ export declare const BarChartErrorsRecord: Record<"BAR_CHART_AXIS_INSUFFICIENT_TICKS" | "BAR_CHART_AXIS_INVALID_SCALE" | "BAR_CHART_DISTRIBUTION_INSUFFICIENT_SPACE" | "BAR_CHART_DISTRIBUTION_INVALID_GAP" | "BAR_CHART_DISTRIBUTION_OVERLAP" | "BAR_CHART_EMPTY_DATA" | "BAR_CHART_INSUFFICIENT_SPACE_HEIGHT" | "BAR_CHART_INSUFFICIENT_SPACE_WIDTH" | "BAR_CHART_INVALID_VALUE" | "BAR_CHART_NEGATIVE_VALUE" | "BAR_CHART_NO_DATA" | "BAR_CHART_OVERLAP" | "BAR_CHART_SEPARATOR_X_OUT_OF_RANGE" | "BAR_CHART_SEPARATOR_Y_OUT_OF_RANGE" | "BAR_CHART_STACK_INVALID" | "BAR_CHART_STACK_MISSING_VALUES", Error>;
20
+ //# sourceMappingURL=barChartErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barChartErrors.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/buildErrors/constants/errors/barChartErrors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;CA0BjB,CAAC;AAEX,eAAO,MAAM,oBAAoB,uiBAMhC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { BarChartErrorMessages } from '../errorMessages/barChartErrorMessages';
2
+ export const BarChartErrors = {
3
+ // Axis & Scale Errors
4
+ BAR_CHART_AXIS_INSUFFICIENT_TICKS: 'BAR_CHART_AXIS_INSUFFICIENT_TICKS',
5
+ BAR_CHART_AXIS_INVALID_SCALE: 'BAR_CHART_AXIS_INVALID_SCALE',
6
+ // Distribution Errors
7
+ BAR_CHART_DISTRIBUTION_INSUFFICIENT_SPACE: 'BAR_CHART_DISTRIBUTION_INSUFFICIENT_SPACE',
8
+ BAR_CHART_DISTRIBUTION_INVALID_GAP: 'BAR_CHART_DISTRIBUTION_INVALID_GAP',
9
+ BAR_CHART_DISTRIBUTION_OVERLAP: 'BAR_CHART_DISTRIBUTION_OVERLAP',
10
+ // Data Validation Errors
11
+ BAR_CHART_EMPTY_DATA: 'BAR_CHART_EMPTY_DATA',
12
+ BAR_CHART_INSUFFICIENT_SPACE_HEIGHT: 'BAR_CHART_INSUFFICIENT_SPACE_HEIGHT',
13
+ BAR_CHART_INSUFFICIENT_SPACE_WIDTH: 'BAR_CHART_INSUFFICIENT_SPACE_WIDTH',
14
+ BAR_CHART_INVALID_VALUE: 'BAR_CHART_INVALID_VALUE',
15
+ BAR_CHART_NEGATIVE_VALUE: 'BAR_CHART_NEGATIVE_VALUE',
16
+ BAR_CHART_NO_DATA: 'BAR_CHART_NO_DATA',
17
+ BAR_CHART_OVERLAP: 'BAR_CHART_OVERLAP',
18
+ // Separator Errors
19
+ BAR_CHART_SEPARATOR_X_OUT_OF_RANGE: 'BAR_CHART_SEPARATOR_X_OUT_OF_RANGE',
20
+ BAR_CHART_SEPARATOR_Y_OUT_OF_RANGE: 'BAR_CHART_SEPARATOR_Y_OUT_OF_RANGE',
21
+ // Stack Errors
22
+ BAR_CHART_STACK_INVALID: 'BAR_CHART_STACK_INVALID',
23
+ BAR_CHART_STACK_MISSING_VALUES: 'BAR_CHART_STACK_MISSING_VALUES',
24
+ };
25
+ export const BarChartErrorsRecord = Object.entries(BarChartErrorMessages).reduce((acc, [key, message]) => {
26
+ acc[key] = new Error(message);
27
+ return acc;
28
+ }, {});
@@ -0,0 +1,26 @@
1
+ export declare const LineChartErrors: {
2
+ readonly LINE_CHART_INVALID_CANVAS: "LINE_CHART_INVALID_CANVAS";
3
+ readonly LINE_CHART_NO_DATA: "LINE_CHART_NO_DATA";
4
+ readonly LINE_CHART_PATH_ALL_VALUES_NULL: "LINE_CHART_PATH_ALL_VALUES_NULL";
5
+ readonly LINE_CHART_PATH_INSUFFICIENT_POINTS: "LINE_CHART_PATH_INSUFFICIENT_POINTS";
6
+ readonly LINE_CHART_PATH_INVALID_DATAKEY: "LINE_CHART_PATH_INVALID_DATAKEY";
7
+ readonly LINE_CHART_PROJECTION_INVALID_BOUNDS: "LINE_CHART_PROJECTION_INVALID_BOUNDS";
8
+ readonly LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE: "LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE";
9
+ readonly LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE: "LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE";
10
+ readonly LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE: "LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE";
11
+ readonly LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE: "LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE";
12
+ readonly LINE_CHART_SEPARATOR_INVALID_COORDINATES: "LINE_CHART_SEPARATOR_INVALID_COORDINATES";
13
+ readonly LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS: "LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS";
14
+ readonly LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS: "LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS";
15
+ readonly LINE_CHART_SEPARATOR_X_OUT_OF_RANGE: "LINE_CHART_SEPARATOR_X_OUT_OF_RANGE";
16
+ readonly LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE: "LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE";
17
+ readonly LINE_CHART_SINGLE_POINT: "LINE_CHART_SINGLE_POINT";
18
+ readonly LINE_CHART_X_AXIS_IDENTICAL_VALUES: "LINE_CHART_X_AXIS_IDENTICAL_VALUES";
19
+ readonly LINE_CHART_X_AXIS_INSUFFICIENT_TICKS: "LINE_CHART_X_AXIS_INSUFFICIENT_TICKS";
20
+ readonly LINE_CHART_X_AXIS_ZERO_LENGTH: "LINE_CHART_X_AXIS_ZERO_LENGTH";
21
+ readonly LINE_CHART_Y_AXIS_IDENTICAL_VALUES: "LINE_CHART_Y_AXIS_IDENTICAL_VALUES";
22
+ readonly LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS: "LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS";
23
+ readonly LINE_CHART_Y_AXIS_ZERO_LENGTH: "LINE_CHART_Y_AXIS_ZERO_LENGTH";
24
+ };
25
+ export declare const LineChartErrorsRecord: Record<"LINE_CHART_INVALID_CANVAS" | "LINE_CHART_NO_DATA" | "LINE_CHART_PATH_ALL_VALUES_NULL" | "LINE_CHART_PATH_INSUFFICIENT_POINTS" | "LINE_CHART_PATH_INVALID_DATAKEY" | "LINE_CHART_PROJECTION_INVALID_BOUNDS" | "LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE" | "LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE" | "LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE" | "LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE" | "LINE_CHART_SEPARATOR_INVALID_COORDINATES" | "LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS" | "LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS" | "LINE_CHART_SEPARATOR_X_OUT_OF_RANGE" | "LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE" | "LINE_CHART_SINGLE_POINT" | "LINE_CHART_X_AXIS_IDENTICAL_VALUES" | "LINE_CHART_X_AXIS_INSUFFICIENT_TICKS" | "LINE_CHART_X_AXIS_ZERO_LENGTH" | "LINE_CHART_Y_AXIS_IDENTICAL_VALUES" | "LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS" | "LINE_CHART_Y_AXIS_ZERO_LENGTH", Error>;
26
+ //# sourceMappingURL=lineChartErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineChartErrors.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/buildErrors/constants/errors/lineChartErrors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;CAgClB,CAAC;AAEX,eAAO,MAAM,qBAAqB,i3BAMjC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { LineChartErrorMessages } from '../errorMessages/lineChartErrorMessages';
2
+ export const LineChartErrors = {
3
+ // LineChart Context Errors
4
+ LINE_CHART_INVALID_CANVAS: 'LINE_CHART_INVALID_CANVAS',
5
+ LINE_CHART_NO_DATA: 'LINE_CHART_NO_DATA',
6
+ // LineChart Path Errors
7
+ LINE_CHART_PATH_ALL_VALUES_NULL: 'LINE_CHART_PATH_ALL_VALUES_NULL',
8
+ LINE_CHART_PATH_INSUFFICIENT_POINTS: 'LINE_CHART_PATH_INSUFFICIENT_POINTS',
9
+ LINE_CHART_PATH_INVALID_DATAKEY: 'LINE_CHART_PATH_INVALID_DATAKEY',
10
+ // LineChart Projection Errors
11
+ LINE_CHART_PROJECTION_INVALID_BOUNDS: 'LINE_CHART_PROJECTION_INVALID_BOUNDS',
12
+ LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE: 'LINE_CHART_PROJECTION_LOWER_X_OUT_OF_RANGE',
13
+ LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE: 'LINE_CHART_PROJECTION_LOWER_Y_OUT_OF_RANGE',
14
+ LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE: 'LINE_CHART_PROJECTION_UPPER_X_OUT_OF_RANGE',
15
+ LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE: 'LINE_CHART_PROJECTION_UPPER_Y_OUT_OF_RANGE',
16
+ // LineChart Separator Errors
17
+ LINE_CHART_SEPARATOR_INVALID_COORDINATES: 'LINE_CHART_SEPARATOR_INVALID_COORDINATES',
18
+ LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS: 'LINE_CHART_SEPARATOR_INVALID_X_BREAK_AXIS',
19
+ LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS: 'LINE_CHART_SEPARATOR_INVALID_Y_BREAK_AXIS',
20
+ LINE_CHART_SEPARATOR_X_OUT_OF_RANGE: 'LINE_CHART_SEPARATOR_X_OUT_OF_RANGE',
21
+ LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE: 'LINE_CHART_SEPARATOR_Y_OUT_OF_RANGE',
22
+ LINE_CHART_SINGLE_POINT: 'LINE_CHART_SINGLE_POINT',
23
+ // LineChart Axis Errors
24
+ LINE_CHART_X_AXIS_IDENTICAL_VALUES: 'LINE_CHART_X_AXIS_IDENTICAL_VALUES',
25
+ LINE_CHART_X_AXIS_INSUFFICIENT_TICKS: 'LINE_CHART_X_AXIS_INSUFFICIENT_TICKS',
26
+ LINE_CHART_X_AXIS_ZERO_LENGTH: 'LINE_CHART_X_AXIS_ZERO_LENGTH',
27
+ LINE_CHART_Y_AXIS_IDENTICAL_VALUES: 'LINE_CHART_Y_AXIS_IDENTICAL_VALUES',
28
+ LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS: 'LINE_CHART_Y_AXIS_INSUFFICIENT_TICKS',
29
+ LINE_CHART_Y_AXIS_ZERO_LENGTH: 'LINE_CHART_Y_AXIS_ZERO_LENGTH',
30
+ };
31
+ export const LineChartErrorsRecord = Object.entries(LineChartErrorMessages).reduce((acc, [key, message]) => {
32
+ acc[key] = new Error(message);
33
+ return acc;
34
+ }, {});
@@ -0,0 +1,2 @@
1
+ export * from './buildErrors';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/buildErrors/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ // Re-export everything from the main buildErrors.ts file
2
+ export * from './buildErrors';
@@ -0,0 +1,7 @@
1
+ import type { ChartError, ChartErrorCollection, ErrorType } from '../../types/errors.type';
2
+ export declare const createErrorAccumulator: (onErrors?: (errors: ChartErrorCollection) => void) => {
3
+ addError: (errorType: keyof typeof ErrorType, error: Omit<ChartError, "type">) => void;
4
+ getAccumulatedErrors: () => ChartErrorCollection;
5
+ clearErrors: () => void;
6
+ };
7
+ //# sourceMappingURL=createErrorAccumulator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createErrorAccumulator.d.ts","sourceRoot":"","sources":["../../../../src/utils/createErrorAccumulator/createErrorAccumulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvF,eAAO,MAAM,sBAAsB,GACjC,WAAW,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,KAChD;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACvF,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;IACjD,WAAW,EAAE,MAAM,IAAI,CAAC;CAqEzB,CAAC"}
@@ -0,0 +1,54 @@
1
+ export const createErrorAccumulator = (onErrors) => {
2
+ const errors = new Map();
3
+ const getAccumulatedErrors = () => {
4
+ const result = {};
5
+ // Return all errors by type as arrays (internal format)
6
+ errors.forEach((errorArray, errorType) => {
7
+ result[errorType] = errorArray;
8
+ });
9
+ return result;
10
+ };
11
+ const addError = (errorType, error) => {
12
+ if (!error) {
13
+ return;
14
+ }
15
+ // Create complete error with type
16
+ const completeError = { ...error, type: errorType };
17
+ // Get existing errors for this type or create new array
18
+ const existingErrors = errors.get(errorType) || [];
19
+ // Add new error to the array
20
+ existingErrors.push(completeError);
21
+ // Set the updated array back to the Map
22
+ errors.set(errorType, existingErrors);
23
+ // Call onErrors callback immediately if provided
24
+ if (onErrors) {
25
+ const accumulatedErrors = getAccumulatedErrors();
26
+ // BACKWARDS COMPATIBILITY: Detect if callback expects legacy format
27
+ // If there's only one error per type, we offer compatibility with previous format
28
+ const compatibleErrors = {};
29
+ Object.entries(accumulatedErrors).forEach(([key, errorArray]) => {
30
+ const keyType = key;
31
+ // If it's an error array and has only one, it might be compatible with legacy format
32
+ if (Array.isArray(errorArray) && errorArray.length === 1) {
33
+ // Try to determine if callback expects legacy format
34
+ // For maximum compatibility, we offer the array but could also
35
+ // offer the single element depending on context
36
+ compatibleErrors[keyType] = errorArray;
37
+ }
38
+ else {
39
+ // Multiple errors - only array format
40
+ compatibleErrors[keyType] = errorArray;
41
+ }
42
+ });
43
+ onErrors(compatibleErrors);
44
+ }
45
+ };
46
+ const clearErrors = () => {
47
+ errors.clear();
48
+ // Call onErrors with empty object when clearing if callback is provided
49
+ if (onErrors) {
50
+ onErrors({});
51
+ }
52
+ };
53
+ return { addError, clearErrors, getAccumulatedErrors };
54
+ };
@@ -0,0 +1,2 @@
1
+ export { createErrorAccumulator } from './createErrorAccumulator';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/createErrorAccumulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1 @@
1
+ export { createErrorAccumulator } from './createErrorAccumulator';
@@ -1 +1 @@
1
- {"version":3,"file":"cssGradientToSvg.d.ts","sourceRoot":"","sources":["../../../../src/utils/cssGradientToSvg/cssGradientToSvg.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,EAAE,WAAoB,KAAG,GAAG,CAAC,OA0ChF,CAAC"}
1
+ {"version":3,"file":"cssGradientToSvg.d.ts","sourceRoot":"","sources":["../../../../src/utils/cssGradientToSvg/cssGradientToSvg.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,EAAE,WAAoB,KAAG,GAAG,CAAC,OAwChF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { logger } from '../logger/logger';
2
3
  /**
3
4
  * Converts a CSS linear gradient string into an SVG linear gradient.
4
5
  *
@@ -38,8 +39,7 @@ export const cssGradientToSVG = (cssGradient, id = 'gradientePath') => {
38
39
  x1 = '100%';
39
40
  break;
40
41
  default:
41
- // eslint-disable-next-line no-console
42
- console.error('Unsupported angle');
42
+ logger.warn(`Unsupported gradient angle: ${angle}°. Supported angles are 90, 180, 270.`);
43
43
  return _jsx(_Fragment, {}); // Return an empty fragment for unsupported angles
44
44
  }
45
45
  return (_jsx("defs", { children: _jsx("linearGradient", { id: id, x1: x1, x2: x2, y1: y1, y2: y2, children: stops.map((stop, index) => (_jsx("stop", { offset: stop.offset, stopColor: stop.color }, `${index}-${stop.offset}`.toString()))) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"getCanvasDimensions.d.ts","sourceRoot":"","sources":["../../../../src/utils/getCanvasDimensions/getCanvasDimensions.ts"],"names":[],"mappings":"AAyFA,UAAU,wBAAwB;IAChC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,UAAU,yBAAyB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAAI,4CAIjC,wBAAwB,KAAG,yBAkB7B,CAAC"}
1
+ {"version":3,"file":"getCanvasDimensions.d.ts","sourceRoot":"","sources":["../../../../src/utils/getCanvasDimensions/getCanvasDimensions.ts"],"names":[],"mappings":"AAsGA,UAAU,wBAAwB;IAChC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,UAAU,yBAAyB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAAI,4CAIjC,wBAAwB,KAAG,yBAkB7B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { safeDocument, safeGetComputedStyle } from '../ssr/ssr';
1
2
  import { Unit } from '../../types/unit.enum';
2
3
  /**
3
4
  * A mapping of string representations of units to their corresponding `Unit` enum values.
@@ -62,13 +63,23 @@ const calculatePercentage = (value, dimension, svgElement) => {
62
63
  };
63
64
  /**
64
65
  * Calculates the rem value based on the root font size.
66
+ * SSR-safe: Returns default 16px if not in browser environment.
65
67
  *
66
68
  * @param {number} value - The value in rem to be converted to pixels.
67
69
  * @returns {number} The calculated pixel value.
68
70
  */
69
71
  const calculateRem = (value) => {
70
- const remValue = parseFloat(getComputedStyle(document.documentElement).fontSize);
71
- return value * remValue;
72
+ const doc = safeDocument();
73
+ if (!doc) {
74
+ // SSR fallback: Default browser font size is typically 16px
75
+ return value * 16;
76
+ }
77
+ const style = safeGetComputedStyle(doc.documentElement);
78
+ if (!style) {
79
+ return value * 16;
80
+ }
81
+ const remValue = parseFloat(style.fontSize);
82
+ return value * (remValue || 16); // Fallback to 16 if fontSize is invalid
72
83
  };
73
84
  /**
74
85
  * Calculates the dimensions of an SVG element based on the provided width and height values.
@@ -3,7 +3,9 @@ export * from './buildTickValues/buildTickValues';
3
3
  export * from './classNames/classNames';
4
4
  export * from './cssGradientToSvg/cssGradientToSvg';
5
5
  export * from './cursorNear/isNear';
6
+ export * from './logger';
6
7
  export * from './shadowSvg/shadowSvg';
7
8
  export * from './shadowSvg/shadowSvg.types';
9
+ export * from './ssr';
8
10
  export * from './textBound/textBound';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,OAAO,CAAC;AACtB,cAAc,uBAAuB,CAAC"}
@@ -3,6 +3,8 @@ export * from './buildTickValues/buildTickValues';
3
3
  export * from './classNames/classNames';
4
4
  export * from './cssGradientToSvg/cssGradientToSvg';
5
5
  export * from './cursorNear/isNear';
6
+ export * from './logger';
6
7
  export * from './shadowSvg/shadowSvg';
7
8
  export * from './shadowSvg/shadowSvg.types';
9
+ export * from './ssr';
8
10
  export * from './textBound/textBound';
@@ -0,0 +1,2 @@
1
+ export { logger, configureLogger, resetLogger } from './logger';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export { logger, configureLogger, resetLogger } from './logger';
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Logger utility for @kubit/web-ui-charts
3
+ *
4
+ * Provides a centralized logging system that:
5
+ * - Respects NODE_ENV (disabled in production builds)
6
+ * - Supports different log levels
7
+ * - Can be configured/disabled by consumers
8
+ * - Will be stripped out in production builds via terser
9
+ */
10
+ type LogLevel = 'debug' | 'info' | 'warn' | 'error';
11
+ interface LoggerConfig {
12
+ enabled: boolean;
13
+ minLevel: LogLevel;
14
+ prefix: string;
15
+ }
16
+ /**
17
+ * Configure the logger behavior
18
+ * @param newConfig - Partial configuration to merge with current settings
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * // Disable all logging
23
+ * configureLogger({ enabled: false });
24
+ *
25
+ * // Enable debug logs in development
26
+ * configureLogger({ minLevel: 'debug' });
27
+ * ```
28
+ */
29
+ export declare const configureLogger: (newConfig: Partial<LoggerConfig>) => void;
30
+ /**
31
+ * Reset logger to default configuration
32
+ */
33
+ export declare const resetLogger: () => void;
34
+ /**
35
+ * Main logger object
36
+ * Export as singleton to ensure consistent configuration
37
+ */
38
+ export declare const logger: {
39
+ debug: (message: string, ...args: unknown[]) => void;
40
+ error: (message: string, ...args: unknown[]) => void;
41
+ info: (message: string, ...args: unknown[]) => void;
42
+ warn: (message: string, ...args: unknown[]) => void;
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AA+BD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,OAAO,CAAC,YAAY,CAAC,KAAG,IAElE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,QAAO,IAE9B,CAAC;AAkFF;;;GAGG;AACH,eAAO,MAAM,MAAM;qBA1DK,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;qBA+CjC,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;oBAhClC,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;oBAgBjC,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;CAgCvD,CAAC"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Logger utility for @kubit/web-ui-charts
3
+ *
4
+ * Provides a centralized logging system that:
5
+ * - Respects NODE_ENV (disabled in production builds)
6
+ * - Supports different log levels
7
+ * - Can be configured/disabled by consumers
8
+ * - Will be stripped out in production builds via terser
9
+ */
10
+ /**
11
+ * Detect if we're in a production build
12
+ * Uses globalThis to be compatible with different environments (browser, Node, SSR)
13
+ */
14
+ const isProduction = () => {
15
+ // Check if globalThis.process exists (Node/SSR environments)
16
+ if (typeof globalThis !== 'undefined' && 'process' in globalThis) {
17
+ const proc = globalThis.process;
18
+ return proc?.env?.NODE_ENV === 'production';
19
+ }
20
+ // In browser or other environments, assume development unless explicitly set
21
+ return false;
22
+ };
23
+ const DEFAULT_CONFIG = {
24
+ enabled: !isProduction(),
25
+ minLevel: 'info',
26
+ prefix: '[Kubit Charts]',
27
+ };
28
+ let config = { ...DEFAULT_CONFIG };
29
+ const LOG_LEVELS = {
30
+ debug: 0,
31
+ error: 3,
32
+ info: 1,
33
+ warn: 2,
34
+ };
35
+ /**
36
+ * Configure the logger behavior
37
+ * @param newConfig - Partial configuration to merge with current settings
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * // Disable all logging
42
+ * configureLogger({ enabled: false });
43
+ *
44
+ * // Enable debug logs in development
45
+ * configureLogger({ minLevel: 'debug' });
46
+ * ```
47
+ */
48
+ export const configureLogger = (newConfig) => {
49
+ config = { ...config, ...newConfig };
50
+ };
51
+ /**
52
+ * Reset logger to default configuration
53
+ */
54
+ export const resetLogger = () => {
55
+ config = { ...DEFAULT_CONFIG };
56
+ };
57
+ /**
58
+ * Check if a log level should be output based on configuration
59
+ */
60
+ const shouldLog = (level) => {
61
+ if (!config.enabled) {
62
+ return false;
63
+ }
64
+ return LOG_LEVELS[level] >= LOG_LEVELS[config.minLevel];
65
+ };
66
+ /**
67
+ * Format log message with prefix
68
+ */
69
+ const formatMessage = (message) => {
70
+ return `${config.prefix} ${message}`;
71
+ };
72
+ /**
73
+ * Log debug messages (development only)
74
+ * Useful for detailed debugging information
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * logger.debug('Chart dimensions calculated', { width: 400, height: 300 });
79
+ * ```
80
+ */
81
+ const debug = (message, ...args) => {
82
+ if (shouldLog('debug')) {
83
+ // eslint-disable-next-line no-console
84
+ console.debug(formatMessage(message), ...args);
85
+ }
86
+ };
87
+ /**
88
+ * Log informational messages
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * logger.info('Chart rendered successfully');
93
+ * ```
94
+ */
95
+ const info = (message, ...args) => {
96
+ if (shouldLog('info')) {
97
+ // eslint-disable-next-line no-console
98
+ console.info(formatMessage(message), ...args);
99
+ }
100
+ };
101
+ /**
102
+ * Log warning messages
103
+ * Use for non-breaking issues that developers should be aware of
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * logger.warn('Invalid gradient angle, falling back to default', angle);
108
+ * ```
109
+ */
110
+ const warn = (message, ...args) => {
111
+ if (shouldLog('warn')) {
112
+ // eslint-disable-next-line no-console
113
+ console.warn(formatMessage(message), ...args);
114
+ }
115
+ };
116
+ /**
117
+ * Log error messages
118
+ * Use for errors that don't prevent execution but indicate problems
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * logger.error('Failed to calculate text bounds, using fallback', error);
123
+ * ```
124
+ */
125
+ const error = (message, ...args) => {
126
+ if (shouldLog('error')) {
127
+ // eslint-disable-next-line no-console
128
+ console.error(formatMessage(message), ...args);
129
+ }
130
+ };
131
+ /**
132
+ * Main logger object
133
+ * Export as singleton to ensure consistent configuration
134
+ */
135
+ export const logger = {
136
+ debug,
137
+ error,
138
+ info,
139
+ warn,
140
+ };
@@ -0,0 +1,2 @@
1
+ export { isBrowser, isServer, safeWindow, safeDocument, safeExecute, safeExecuteWithFallback, createSVGElement, safeGetComputedStyle, safeQuerySelector, } from './ssr';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/ssr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,OAAO,CAAC"}
@@ -0,0 +1 @@
1
+ export { isBrowser, isServer, safeWindow, safeDocument, safeExecute, safeExecuteWithFallback, createSVGElement, safeGetComputedStyle, safeQuerySelector, } from './ssr';