@pie-lib/charting 7.0.3-next.3 → 7.0.4-next.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 (269) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +23 -0
  2. package/dist/actions-button.d.ts +26 -0
  3. package/dist/actions-button.js +84 -0
  4. package/dist/axes.d.ts +84 -0
  5. package/dist/axes.js +376 -0
  6. package/dist/bars/bar.d.ts +47 -0
  7. package/dist/bars/bar.js +27 -0
  8. package/dist/bars/common/bars.d.ts +98 -0
  9. package/dist/bars/common/bars.js +174 -0
  10. package/dist/bars/common/correct-check-icon.d.ts +18 -0
  11. package/dist/bars/common/correct-check-icon.js +50 -0
  12. package/dist/bars/histogram.d.ts +47 -0
  13. package/dist/bars/histogram.js +28 -0
  14. package/dist/chart-setup.d.ts +29 -0
  15. package/dist/chart-setup.js +231 -0
  16. package/dist/chart-type.d.ts +32 -0
  17. package/dist/chart-type.js +68 -0
  18. package/dist/chart-types.d.ts +41 -0
  19. package/dist/chart-types.js +17 -0
  20. package/dist/chart.d.ts +88 -0
  21. package/dist/chart.js +250 -0
  22. package/dist/common/correctness-indicators.d.ts +70 -0
  23. package/dist/common/correctness-indicators.js +106 -0
  24. package/dist/common/drag-handle.d.ts +129 -0
  25. package/dist/common/drag-handle.js +120 -0
  26. package/dist/common/drag-icon.d.ts +23 -0
  27. package/dist/common/drag-icon.js +45 -0
  28. package/dist/common/styles.d.ts +23 -0
  29. package/dist/common/styles.js +17 -0
  30. package/dist/grid.d.ts +45 -0
  31. package/dist/grid.js +56 -0
  32. package/dist/index.d.ts +14 -0
  33. package/dist/index.js +6 -0
  34. package/dist/key-legend.d.ts +19 -0
  35. package/dist/key-legend.js +46 -0
  36. package/dist/line/common/drag-handle.d.ts +120 -0
  37. package/dist/line/common/drag-handle.js +92 -0
  38. package/dist/line/common/line.d.ts +96 -0
  39. package/dist/line/common/line.js +114 -0
  40. package/dist/line/line-cross.d.ts +47 -0
  41. package/dist/line/line-cross.js +133 -0
  42. package/dist/line/line-dot.d.ts +47 -0
  43. package/dist/line/line-dot.js +101 -0
  44. package/dist/mark-label.d.ts +55 -0
  45. package/dist/mark-label.js +139 -0
  46. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Axis.js +100 -0
  47. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisBottom.js +45 -0
  48. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisLeft.js +46 -0
  49. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +61 -0
  50. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Ticks.js +42 -0
  51. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  52. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  53. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +21 -0
  54. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  55. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  56. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickPosition.js +15 -0
  57. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridColumns.js +79 -0
  58. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridRows.js +79 -0
  59. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  60. package/dist/node_modules/.bun/@visx_group@3.12.0_f4eacebf2041cd4f/node_modules/@visx/group/esm/Group.js +49 -0
  61. package/dist/node_modules/.bun/@visx_point@3.12.0/node_modules/@visx/point/esm/Point.js +18 -0
  62. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/align.js +6 -0
  63. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/base.js +6 -0
  64. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/clamp.js +6 -0
  65. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/constant.js +6 -0
  66. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/domain.js +6 -0
  67. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/exponent.js +6 -0
  68. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/interpolate.js +10 -0
  69. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/nice.js +37 -0
  70. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/padding.js +6 -0
  71. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/range.js +6 -0
  72. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/reverse.js +9 -0
  73. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/round.js +7 -0
  74. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/scaleOperator.js +58 -0
  75. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/unknown.js +6 -0
  76. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/zero.js +9 -0
  77. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/scales/band.js +9 -0
  78. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/scales/point.js +9 -0
  79. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  80. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/createColorInterpolator.js +29 -0
  81. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/getTicks.js +9 -0
  82. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/isUtcScale.js +7 -0
  83. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  84. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Bar.js +28 -0
  85. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Circle.js +28 -0
  86. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Line.js +46 -0
  87. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/LinePath.js +49 -0
  88. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/D3ShapeFactories.js +9 -0
  89. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js +6 -0
  90. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/lib/shapes/Line.js +52 -0
  91. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/Text.js +57 -0
  92. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/hooks/useText.js +91 -0
  93. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/util/getStringWidth.js +21 -0
  94. package/dist/node_modules/.bun/@visx_vendor@3.12.0/node_modules/@visx/vendor/esm/d3-interpolate.js +8 -0
  95. package/dist/node_modules/.bun/@visx_vendor@3.12.0/node_modules/@visx/vendor/esm/d3-scale.js +8 -0
  96. package/dist/node_modules/.bun/@visx_vendor@3.12.0/node_modules/@visx/vendor/esm/d3-time.js +8 -0
  97. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +32 -0
  98. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +33 -0
  99. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Hash.js +21 -0
  100. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_ListCache.js +21 -0
  101. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Map.js +10 -0
  102. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_MapCache.js +21 -0
  103. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Symbol.js +9 -0
  104. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_assocIndexOf.js +14 -0
  105. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseGetTag.js +15 -0
  106. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseIsNative.js +16 -0
  107. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_coreJsData.js +9 -0
  108. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_freeGlobal.js +8 -0
  109. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getMapData.js +14 -0
  110. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getNative.js +15 -0
  111. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getRawTag.js +19 -0
  112. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getValue.js +11 -0
  113. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashClear.js +13 -0
  114. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashDelete.js +12 -0
  115. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashGet.js +18 -0
  116. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashHas.js +14 -0
  117. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashSet.js +14 -0
  118. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isKeyable.js +12 -0
  119. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isMasked.js +16 -0
  120. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheClear.js +11 -0
  121. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheDelete.js +14 -0
  122. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheGet.js +14 -0
  123. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheHas.js +13 -0
  124. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheSet.js +14 -0
  125. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheClear.js +19 -0
  126. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheDelete.js +14 -0
  127. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheGet.js +13 -0
  128. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheHas.js +13 -0
  129. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheSet.js +14 -0
  130. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_nativeCreate.js +9 -0
  131. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_objectToString.js +12 -0
  132. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_root.js +10 -0
  133. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_toSource.js +20 -0
  134. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/eq.js +11 -0
  135. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isFunction.js +16 -0
  136. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isObject.js +12 -0
  137. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/memoize.js +20 -0
  138. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  139. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  140. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  141. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  142. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  143. package/dist/node_modules/.bun/react-input-autosize@2.2.2_f4eacebf2041cd4f/node_modules/react-input-autosize/lib/AutosizeInput.js +216 -0
  144. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  145. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  146. package/dist/plot/common/plot.d.ts +103 -0
  147. package/dist/plot/common/plot.js +227 -0
  148. package/dist/plot/dot.d.ts +47 -0
  149. package/dist/plot/dot.js +62 -0
  150. package/dist/plot/line.d.ts +47 -0
  151. package/dist/plot/line.js +84 -0
  152. package/dist/tool-menu.d.ts +31 -0
  153. package/dist/utils.d.ts +39 -0
  154. package/dist/utils.js +101 -0
  155. package/package.json +35 -25
  156. package/CHANGELOG.json +0 -17
  157. package/CHANGELOG.md +0 -1110
  158. package/LICENSE.md +0 -5
  159. package/lib/actions-button.js +0 -145
  160. package/lib/actions-button.js.map +0 -1
  161. package/lib/axes.js +0 -643
  162. package/lib/axes.js.map +0 -1
  163. package/lib/bars/bar.js +0 -58
  164. package/lib/bars/bar.js.map +0 -1
  165. package/lib/bars/common/bars.js +0 -277
  166. package/lib/bars/common/bars.js.map +0 -1
  167. package/lib/bars/common/correct-check-icon.js +0 -54
  168. package/lib/bars/common/correct-check-icon.js.map +0 -1
  169. package/lib/bars/histogram.js +0 -59
  170. package/lib/bars/histogram.js.map +0 -1
  171. package/lib/chart-setup.js +0 -382
  172. package/lib/chart-setup.js.map +0 -1
  173. package/lib/chart-type.js +0 -80
  174. package/lib/chart-type.js.map +0 -1
  175. package/lib/chart-types.js +0 -22
  176. package/lib/chart-types.js.map +0 -1
  177. package/lib/chart.js +0 -384
  178. package/lib/chart.js.map +0 -1
  179. package/lib/common/correctness-indicators.js +0 -156
  180. package/lib/common/correctness-indicators.js.map +0 -1
  181. package/lib/common/drag-handle.js +0 -160
  182. package/lib/common/drag-handle.js.map +0 -1
  183. package/lib/common/drag-icon.js +0 -52
  184. package/lib/common/drag-icon.js.map +0 -1
  185. package/lib/common/styles.js +0 -22
  186. package/lib/common/styles.js.map +0 -1
  187. package/lib/grid.js +0 -101
  188. package/lib/grid.js.map +0 -1
  189. package/lib/index.js +0 -42
  190. package/lib/index.js.map +0 -1
  191. package/lib/key-legend.js +0 -87
  192. package/lib/key-legend.js.map +0 -1
  193. package/lib/line/common/drag-handle.js +0 -146
  194. package/lib/line/common/drag-handle.js.map +0 -1
  195. package/lib/line/common/line.js +0 -214
  196. package/lib/line/common/line.js.map +0 -1
  197. package/lib/line/line-cross.js +0 -214
  198. package/lib/line/line-cross.js.map +0 -1
  199. package/lib/line/line-dot.js +0 -158
  200. package/lib/line/line-dot.js.map +0 -1
  201. package/lib/mark-label.js +0 -237
  202. package/lib/mark-label.js.map +0 -1
  203. package/lib/plot/common/plot.js +0 -349
  204. package/lib/plot/common/plot.js.map +0 -1
  205. package/lib/plot/dot.js +0 -110
  206. package/lib/plot/dot.js.map +0 -1
  207. package/lib/plot/line.js +0 -140
  208. package/lib/plot/line.js.map +0 -1
  209. package/lib/tool-menu.js +0 -106
  210. package/lib/tool-menu.js.map +0 -1
  211. package/lib/utils.js +0 -189
  212. package/lib/utils.js.map +0 -1
  213. package/src/__tests__/actions-button.test.jsx +0 -280
  214. package/src/__tests__/axes.test.jsx +0 -667
  215. package/src/__tests__/chart-setup.test.jsx +0 -532
  216. package/src/__tests__/chart-type.test.jsx +0 -23
  217. package/src/__tests__/chart.test.jsx +0 -86
  218. package/src/__tests__/grid.test.jsx +0 -37
  219. package/src/__tests__/key-legend.test.jsx +0 -223
  220. package/src/__tests__/mark-label.test.jsx +0 -33
  221. package/src/__tests__/tool-menu.test.jsx +0 -522
  222. package/src/__tests__/utils.js +0 -36
  223. package/src/__tests__/utils.test.js +0 -100
  224. package/src/actions-button.jsx +0 -115
  225. package/src/axes.jsx +0 -594
  226. package/src/bars/__tests__/bar.test.jsx +0 -45
  227. package/src/bars/__tests__/histogram.test.jsx +0 -45
  228. package/src/bars/__tests__/utils.js +0 -30
  229. package/src/bars/bar.js +0 -28
  230. package/src/bars/common/__tests__/bars.test.jsx +0 -68
  231. package/src/bars/common/__tests__/utils.js +0 -30
  232. package/src/bars/common/bars.jsx +0 -249
  233. package/src/bars/common/correct-check-icon.jsx +0 -25
  234. package/src/bars/histogram.js +0 -28
  235. package/src/chart-setup.jsx +0 -356
  236. package/src/chart-type.js +0 -59
  237. package/src/chart-types.js +0 -8
  238. package/src/chart.jsx +0 -357
  239. package/src/common/__tests__/correctness-indicators.test.jsx +0 -720
  240. package/src/common/__tests__/drag-handle.test.jsx +0 -58
  241. package/src/common/__tests__/utils.js +0 -30
  242. package/src/common/correctness-indicators.jsx +0 -128
  243. package/src/common/drag-handle.jsx +0 -125
  244. package/src/common/drag-icon.jsx +0 -36
  245. package/src/common/styles.js +0 -19
  246. package/src/grid.jsx +0 -68
  247. package/src/index.js +0 -7
  248. package/src/key-legend.jsx +0 -77
  249. package/src/line/__tests__/line-cross.test.jsx +0 -463
  250. package/src/line/__tests__/line-dot.test.jsx +0 -41
  251. package/src/line/__tests__/utils.js +0 -36
  252. package/src/line/common/__tests__/drag-handle.test.jsx +0 -62
  253. package/src/line/common/__tests__/line.test.jsx +0 -79
  254. package/src/line/common/__tests__/utils.js +0 -30
  255. package/src/line/common/drag-handle.jsx +0 -114
  256. package/src/line/common/line.jsx +0 -171
  257. package/src/line/line-cross.js +0 -144
  258. package/src/line/line-dot.js +0 -111
  259. package/src/mark-label.jsx +0 -238
  260. package/src/plot/__tests__/dot.test.jsx +0 -344
  261. package/src/plot/__tests__/line.test.jsx +0 -375
  262. package/src/plot/__tests__/utils.js +0 -30
  263. package/src/plot/common/__tests__/plot.test.jsx +0 -69
  264. package/src/plot/common/__tests__/utils.js +0 -30
  265. package/src/plot/common/plot.jsx +0 -358
  266. package/src/plot/dot.js +0 -74
  267. package/src/plot/line.js +0 -98
  268. package/src/tool-menu.jsx +0 -85
  269. package/src/utils.js +0 -201
@@ -1,356 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { color } from '@pie-lib/render-ui';
4
- import { styled } from '@mui/material/styles';
5
- import Typography from '@mui/material/Typography';
6
- import ChartType from './chart-type';
7
- import { AlertDialog, NumberTextFieldCustom } from '@pie-lib/config-ui';
8
-
9
- export const resetValues = (data, updateModel, range, onChange, model) => {
10
- (data || []).forEach((d) => {
11
- const d_value_scaled = Math.round(d.value * 10);
12
- const range_step_scaled = Math.round(range.step * 10);
13
- const remainder_scaled = d_value_scaled % range_step_scaled;
14
- const remainder = remainder_scaled / 10;
15
-
16
- if (d.value > range.max || remainder !== 0) {
17
- d.value = 0;
18
- }
19
- });
20
-
21
- if (updateModel) {
22
- onChange({ ...model, data });
23
- }
24
- };
25
-
26
- const StyledWrapper = styled('div')(() => ({
27
- width: '450px',
28
- }));
29
-
30
- const StyledContent = styled('div')(({ theme }) => ({
31
- display: 'flex',
32
- flexDirection: 'column',
33
- width: '100%',
34
- marginTop: theme.spacing(3),
35
- }));
36
-
37
- const StyledColumnView = styled('div')(() => ({
38
- display: 'flex',
39
- flexDirection: 'column',
40
- alignItems: 'center',
41
- }));
42
-
43
- const StyledRowView = styled('div')(() => ({
44
- display: 'flex',
45
- justifyContent: 'space-around',
46
- alignItems: 'center',
47
- }));
48
-
49
- const StyledTextField = styled(NumberTextFieldCustom)(({ theme }) => ({
50
- width: '130px',
51
- margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,
52
- }));
53
-
54
- const StyledMediumTextField = styled(NumberTextFieldCustom)(({ theme }) => ({
55
- width: '160px',
56
- margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,
57
- }));
58
-
59
- const StyledDimensions = styled('div')(({ theme }) => ({
60
- display: 'flex',
61
- justifyContent: 'space-between',
62
- alignItems: 'center',
63
- margin: `${theme.spacing(3)} 0`,
64
- }));
65
-
66
- const StyledDisabled = styled(Typography)(() => ({
67
- color: color.disabled(),
68
- }));
69
-
70
- const ConfigureChartPanel = (props) => {
71
- const {
72
- model,
73
- onChange,
74
- chartDimensions,
75
- gridValues = {},
76
- labelValues = {},
77
- studentNewCategoryDefaultLabel = {},
78
- availableChartTypes = {},
79
- chartTypeLabel,
80
- } = props;
81
- const [alertDialog, setAlertDialog] = useState({
82
- open: false,
83
- title: '',
84
- text: '',
85
- onClose: null,
86
- onConfirm: null,
87
- });
88
- const [open, setOpen] = useState(false);
89
- const [rangeKey, setRangeKey] = useState('');
90
- const [resetValue, setResetValue] = useState(0);
91
-
92
- const { range = {}, correctAnswer, changeInteractiveEnabled, changeEditableEnabled } = model;
93
-
94
- const size = model.graph;
95
- const { showInConfigPanel, width, height } = chartDimensions || {};
96
-
97
- const widthConstraints = {
98
- min: width?.min ? Math.max(50, width.min) : 50,
99
- max: width?.max ? Math.min(700, width.max) : 700,
100
- step: width?.step >= 1 ? Math.min(200, width.step) : 20,
101
- };
102
- const heightConstraints = {
103
- min: height?.min ? Math.max(400, height.min) : 400,
104
- max: height?.max ? Math.min(700, height.max) : 700,
105
- step: height?.step >= 1 ? Math.min(200, height.step) : 20,
106
- };
107
-
108
- const gridOptions = gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };
109
- const labelOptions = labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };
110
-
111
- const stepConfig = (
112
- <StyledRowView>
113
- <StyledMediumTextField
114
- label="Grid Interval"
115
- value={range.step}
116
- variant="outlined"
117
- onChange={(e, v) => onRangeChanged('step', v, e)}
118
- {...gridOptions}
119
- />
120
- <StyledMediumTextField
121
- label={'Label Interval'}
122
- value={range.labelStep}
123
- variant={'outlined'}
124
- onChange={(e, v) => onRangeChanged('labelStep', v, e)}
125
- {...labelOptions}
126
- />
127
- </StyledRowView>
128
- );
129
-
130
- const handleAlertDialog = (openStatus) => {
131
- setAlertDialog((prevState) => ({
132
- ...prevState,
133
- open: openStatus,
134
- }));
135
-
136
- setOpen(openStatus);
137
- };
138
-
139
- const setPropertiesToFalse = (data, property) => {
140
- return data.map((obj) => {
141
- if (Object.prototype.hasOwnProperty.call(obj, property)) {
142
- obj[property] = property == 'interactive' ? true : false;
143
- }
144
- return obj;
145
- });
146
- };
147
-
148
- const removeOutOfRangeValues = (updateModel) => {
149
- const { correctAnswer, data } = model;
150
-
151
- if (changeInteractiveEnabled === false) {
152
- setPropertiesToFalse(data, 'interactive');
153
- }
154
-
155
- if (changeEditableEnabled === false) {
156
- setPropertiesToFalse(data, 'editable');
157
- }
158
-
159
- resetValues(data, updateModel, range, onChange, model);
160
- resetValues(correctAnswer.data, false, range, onChange, model);
161
- };
162
-
163
- const setCategoryDefaultLabel = () => {
164
- const studentCategoryDefaultLabel = studentNewCategoryDefaultLabel?.label;
165
-
166
- onChange({ ...model, studentCategoryDefaultLabel });
167
- };
168
-
169
- const rangeProps = (chartType) => {
170
- return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };
171
- };
172
-
173
- const onSizeChanged = (key, value) => {
174
- const graph = { ...size, [key]: value };
175
-
176
- onChange({ ...model, graph });
177
- };
178
-
179
- const isOutOfRange = (data, range) =>
180
- (data || []).find((d) => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0);
181
-
182
- const onRangeChanged = (key, value, e) => {
183
- // use reset values to restore range to initial values
184
- setResetValue(range[key]);
185
- setRangeKey(key);
186
-
187
- range[key] = value;
188
-
189
- if (key === 'max' || key === 'step') {
190
- // check if current chart values are invalid for given range step/max
191
- const outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);
192
-
193
- if (outOfRange && e?.target) {
194
- setOpen(true);
195
- } else {
196
- onChange({ ...model, range });
197
- }
198
- } else {
199
- onChange({ ...model, range });
200
- }
201
- };
202
-
203
- useEffect(() => {
204
- removeOutOfRangeValues(true);
205
- setCategoryDefaultLabel();
206
- }, []);
207
-
208
- useEffect(() => {
209
- if (open) {
210
- setAlertDialog({
211
- open: true,
212
- title: 'Warning',
213
- text: 'This change will remove values defined for one or more categories',
214
- onConfirm: () => {
215
- removeOutOfRangeValues();
216
- handleAlertDialog(false);
217
- onChange({ ...model, range, correctAnswer });
218
- },
219
- onClose: () => {
220
- range[rangeKey] = resetValue;
221
- handleAlertDialog(false);
222
- },
223
- });
224
- }
225
- }, [open]);
226
-
227
- const isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;
228
-
229
- const getPlotConfiguration = () => {
230
- rangeProps.min = 3;
231
- rangeProps.max = 10;
232
-
233
- range.max = 10;
234
- range.step = 1;
235
- range.labelStep = 1;
236
-
237
- onChange({ ...model, range });
238
- };
239
-
240
- const onChartTypeChange = (chartType) => {
241
- if (chartType.includes('Plot')) {
242
- // The selected chart type does not support the current chart configuration
243
- if (!isValidPlot) {
244
- setAlertDialog({
245
- open: true,
246
- title: 'Warning',
247
- text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',
248
- onConfirm: () => {
249
- getPlotConfiguration();
250
- removeOutOfRangeValues();
251
- handleAlertDialog(false);
252
- onChange({ ...model, range, chartType });
253
- },
254
- onClose: () => {
255
- handleAlertDialog(false);
256
- },
257
- });
258
-
259
- return;
260
- }
261
-
262
- rangeProps.min = 3;
263
- rangeProps.max = 10;
264
-
265
- onChange({ ...model, chartType });
266
-
267
- return;
268
- }
269
-
270
- onChange({ ...model, chartType });
271
- };
272
-
273
- return (
274
- <StyledWrapper>
275
- <Typography variant={'subtitle1'}>Configure Chart</Typography>
276
- <StyledContent>
277
- <StyledRowView>
278
- <ChartType
279
- value={model.chartType}
280
- onChange={(e) => onChartTypeChange(e.target.value)}
281
- availableChartTypes={availableChartTypes}
282
- chartTypeLabel={chartTypeLabel}
283
- />
284
- <StyledMediumTextField
285
- label="Max Value"
286
- value={range.max}
287
- min={rangeProps(model.chartType).min}
288
- max={rangeProps(model.chartType).max}
289
- variant="outlined"
290
- onChange={(e, v) => onRangeChanged('max', v, e)}
291
- />
292
- </StyledRowView>
293
- {!model.chartType.includes('Plot') && stepConfig}
294
-
295
- {showInConfigPanel && (
296
- <StyledDimensions>
297
- <div>
298
- <Typography>Dimensions(px)</Typography>
299
- </div>
300
-
301
- <StyledColumnView>
302
- <StyledTextField
303
- label={'Width'}
304
- value={size.width}
305
- min={widthConstraints.min}
306
- max={widthConstraints.max}
307
- step={widthConstraints.step}
308
- variant={'outlined'}
309
- onChange={(e, v) => onSizeChanged('width', v)}
310
- />
311
- <StyledDisabled>Min 50, Max 700</StyledDisabled>
312
- </StyledColumnView>
313
-
314
- <StyledColumnView>
315
- <StyledTextField
316
- label={'Height'}
317
- value={size.height}
318
- min={heightConstraints.min}
319
- max={heightConstraints.max}
320
- step={heightConstraints.step}
321
- variant={'outlined'}
322
- onChange={(e, v) => onSizeChanged('height', v)}
323
- />
324
- <StyledDisabled>Min 400, Max 700</StyledDisabled>
325
- </StyledColumnView>
326
- </StyledDimensions>
327
- )}
328
- </StyledContent>
329
-
330
- <AlertDialog
331
- open={alertDialog.open}
332
- title={alertDialog.title}
333
- text={alertDialog.text}
334
- onClose={alertDialog.onClose}
335
- onConfirm={alertDialog.onConfirm}
336
- />
337
- </StyledWrapper>
338
- );
339
- };
340
-
341
- ConfigureChartPanel.propTypes = {
342
- chartDimensions: PropTypes.object,
343
- domain: PropTypes.object,
344
- gridValues: PropTypes.object,
345
- labelValues: PropTypes.object,
346
- model: PropTypes.object,
347
- onChange: PropTypes.func,
348
- range: PropTypes.object,
349
- chartDimension: PropTypes.object,
350
- size: PropTypes.object,
351
- studentNewCategoryDefaultLabel: PropTypes.object,
352
- availableChartTypes: PropTypes.object,
353
- chartTypeLabel: PropTypes.string,
354
- };
355
-
356
- export default ConfigureChartPanel;
package/src/chart-type.js DELETED
@@ -1,59 +0,0 @@
1
- import React from 'react';
2
- import { styled } from '@mui/material/styles';
3
- import MenuItem from '@mui/material/MenuItem';
4
- import FormControl from '@mui/material/FormControl';
5
- import InputLabel from '@mui/material/InputLabel';
6
- import { Select } from '@mui/material';
7
- import PropTypes from 'prop-types';
8
-
9
- const StyledContainer = styled('div')(() => ({
10
- width: '160px',
11
- }));
12
-
13
- const StyledFormControl = styled(FormControl)(() => ({
14
- width: '160px',
15
- }));
16
-
17
- const StyledInputLabel = styled(InputLabel)(() => ({
18
- backgroundColor: 'transparent',
19
- }));
20
-
21
- const ChartType = ({ onChange, value, availableChartTypes, chartTypeLabel }) => (
22
- <StyledContainer>
23
- <StyledFormControl variant={'outlined'}>
24
- <StyledInputLabel id="type-helper-label">{chartTypeLabel}</StyledInputLabel>
25
- <Select
26
- labelId="type-helper-label"
27
- id="type-helper-label-select"
28
- name="chartType"
29
- value={value}
30
- onChange={onChange}
31
- label={chartTypeLabel}
32
- MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}
33
- >
34
- {availableChartTypes?.histogram && <MenuItem value={'histogram'}>{availableChartTypes.histogram}</MenuItem>}
35
- {availableChartTypes?.bar && <MenuItem value={'bar'}>{availableChartTypes.bar}</MenuItem>}
36
- {availableChartTypes?.lineDot && <MenuItem value={'lineDot'}>{availableChartTypes.lineDot}</MenuItem>}
37
- {availableChartTypes?.lineCross && <MenuItem value={'lineCross'}>{availableChartTypes.lineCross}</MenuItem>}
38
- {availableChartTypes?.dotPlot && <MenuItem value={'dotPlot'}>{availableChartTypes.dotPlot}</MenuItem>}
39
- {availableChartTypes?.linePlot && <MenuItem value={'linePlot'}>{availableChartTypes.linePlot}</MenuItem>}
40
- </Select>
41
- </StyledFormControl>
42
- </StyledContainer>
43
- );
44
-
45
- ChartType.propTypes = {
46
- onChange: PropTypes.func.isRequired,
47
- value: PropTypes.string.isRequired,
48
- availableChartTypes: PropTypes.shape({
49
- histogram: PropTypes.string,
50
- bar: PropTypes.string,
51
- lineDot: PropTypes.string,
52
- lineCross: PropTypes.string,
53
- dotPlot: PropTypes.string,
54
- linePlot: PropTypes.string,
55
- }),
56
- chartTypeLabel: PropTypes.string,
57
- };
58
-
59
- export default ChartType;
@@ -1,8 +0,0 @@
1
- import Bar from './bars/bar';
2
- import Histogram from './bars/histogram';
3
- import LineDot from './line/line-dot';
4
- import LineCross from './line/line-cross';
5
- import DotPlot from './plot/dot';
6
- import LinePlot from './plot/line';
7
-
8
- export default { Bar, Histogram, LineDot, DotPlot, LinePlot, LineCross };