@pie-lib/charting 7.0.4-next.31 → 7.0.4-next.34

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 (272) hide show
  1. package/CHANGELOG.json +17 -0
  2. package/CHANGELOG.md +1116 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/actions-button.js +145 -0
  5. package/lib/actions-button.js.map +1 -0
  6. package/lib/axes.js +643 -0
  7. package/lib/axes.js.map +1 -0
  8. package/lib/bars/bar.js +58 -0
  9. package/lib/bars/bar.js.map +1 -0
  10. package/lib/bars/common/bars.js +277 -0
  11. package/lib/bars/common/bars.js.map +1 -0
  12. package/lib/bars/common/correct-check-icon.js +54 -0
  13. package/lib/bars/common/correct-check-icon.js.map +1 -0
  14. package/lib/bars/histogram.js +59 -0
  15. package/lib/bars/histogram.js.map +1 -0
  16. package/lib/chart-setup.js +382 -0
  17. package/lib/chart-setup.js.map +1 -0
  18. package/lib/chart-type.js +80 -0
  19. package/lib/chart-type.js.map +1 -0
  20. package/lib/chart-types.js +22 -0
  21. package/lib/chart-types.js.map +1 -0
  22. package/lib/chart.js +384 -0
  23. package/lib/chart.js.map +1 -0
  24. package/lib/common/correctness-indicators.js +156 -0
  25. package/lib/common/correctness-indicators.js.map +1 -0
  26. package/lib/common/drag-handle.js +160 -0
  27. package/lib/common/drag-handle.js.map +1 -0
  28. package/lib/common/drag-icon.js +52 -0
  29. package/lib/common/drag-icon.js.map +1 -0
  30. package/lib/common/styles.js +22 -0
  31. package/lib/common/styles.js.map +1 -0
  32. package/lib/grid.js +112 -0
  33. package/lib/grid.js.map +1 -0
  34. package/lib/index.js +42 -0
  35. package/lib/index.js.map +1 -0
  36. package/lib/key-legend.js +87 -0
  37. package/lib/key-legend.js.map +1 -0
  38. package/lib/line/common/drag-handle.js +146 -0
  39. package/lib/line/common/drag-handle.js.map +1 -0
  40. package/lib/line/common/line.js +214 -0
  41. package/lib/line/common/line.js.map +1 -0
  42. package/lib/line/line-cross.js +214 -0
  43. package/lib/line/line-cross.js.map +1 -0
  44. package/lib/line/line-dot.js +158 -0
  45. package/lib/line/line-dot.js.map +1 -0
  46. package/lib/mark-label.js +237 -0
  47. package/lib/mark-label.js.map +1 -0
  48. package/lib/plot/common/plot.js +349 -0
  49. package/lib/plot/common/plot.js.map +1 -0
  50. package/lib/plot/dot.js +110 -0
  51. package/lib/plot/dot.js.map +1 -0
  52. package/lib/plot/line.js +140 -0
  53. package/lib/plot/line.js.map +1 -0
  54. package/lib/tool-menu.js +106 -0
  55. package/lib/tool-menu.js.map +1 -0
  56. package/lib/utils.js +189 -0
  57. package/lib/utils.js.map +1 -0
  58. package/package.json +28 -39
  59. package/src/__tests__/actions-button.test.jsx +280 -0
  60. package/src/__tests__/axes.test.jsx +667 -0
  61. package/src/__tests__/chart-setup.test.jsx +532 -0
  62. package/src/__tests__/chart-type.test.jsx +23 -0
  63. package/src/__tests__/chart.test.jsx +86 -0
  64. package/src/__tests__/grid.test.jsx +37 -0
  65. package/src/__tests__/key-legend.test.jsx +223 -0
  66. package/src/__tests__/mark-label.test.jsx +33 -0
  67. package/src/__tests__/tool-menu.test.jsx +522 -0
  68. package/src/__tests__/utils.js +36 -0
  69. package/src/__tests__/utils.test.js +100 -0
  70. package/src/actions-button.jsx +115 -0
  71. package/src/axes.jsx +594 -0
  72. package/src/bars/__tests__/bar.test.jsx +45 -0
  73. package/src/bars/__tests__/histogram.test.jsx +45 -0
  74. package/src/bars/__tests__/utils.js +30 -0
  75. package/src/bars/bar.js +28 -0
  76. package/src/bars/common/__tests__/bars.test.jsx +68 -0
  77. package/src/bars/common/__tests__/utils.js +30 -0
  78. package/src/bars/common/bars.jsx +249 -0
  79. package/src/bars/common/correct-check-icon.jsx +25 -0
  80. package/src/bars/histogram.js +28 -0
  81. package/src/chart-setup.jsx +356 -0
  82. package/src/chart-type.js +59 -0
  83. package/src/chart-types.js +8 -0
  84. package/src/chart.jsx +357 -0
  85. package/src/common/__tests__/correctness-indicators.test.jsx +720 -0
  86. package/src/common/__tests__/drag-handle.test.jsx +58 -0
  87. package/src/common/__tests__/utils.js +30 -0
  88. package/src/common/correctness-indicators.jsx +128 -0
  89. package/src/common/drag-handle.jsx +125 -0
  90. package/src/common/drag-icon.jsx +36 -0
  91. package/src/common/styles.js +19 -0
  92. package/src/grid.jsx +80 -0
  93. package/src/index.js +7 -0
  94. package/src/key-legend.jsx +77 -0
  95. package/src/line/__tests__/line-cross.test.jsx +463 -0
  96. package/src/line/__tests__/line-dot.test.jsx +41 -0
  97. package/src/line/__tests__/utils.js +36 -0
  98. package/src/line/common/__tests__/drag-handle.test.jsx +62 -0
  99. package/src/line/common/__tests__/line.test.jsx +79 -0
  100. package/src/line/common/__tests__/utils.js +30 -0
  101. package/src/line/common/drag-handle.jsx +114 -0
  102. package/src/line/common/line.jsx +171 -0
  103. package/src/line/line-cross.js +144 -0
  104. package/src/line/line-dot.js +111 -0
  105. package/src/mark-label.jsx +238 -0
  106. package/src/plot/__tests__/dot.test.jsx +344 -0
  107. package/src/plot/__tests__/line.test.jsx +375 -0
  108. package/src/plot/__tests__/utils.js +30 -0
  109. package/src/plot/common/__tests__/plot.test.jsx +69 -0
  110. package/src/plot/common/__tests__/utils.js +30 -0
  111. package/src/plot/common/plot.jsx +358 -0
  112. package/src/plot/dot.js +74 -0
  113. package/src/plot/line.js +98 -0
  114. package/src/tool-menu.jsx +85 -0
  115. package/src/utils.js +201 -0
  116. package/dist/_virtual/_rolldown/runtime.js +0 -23
  117. package/dist/actions-button.d.ts +0 -26
  118. package/dist/actions-button.js +0 -84
  119. package/dist/autosize-input.d.ts +0 -10
  120. package/dist/autosize-input.js +0 -66
  121. package/dist/axes.d.ts +0 -84
  122. package/dist/axes.js +0 -376
  123. package/dist/bars/bar.d.ts +0 -47
  124. package/dist/bars/bar.js +0 -27
  125. package/dist/bars/common/bars.d.ts +0 -98
  126. package/dist/bars/common/bars.js +0 -174
  127. package/dist/bars/common/correct-check-icon.d.ts +0 -18
  128. package/dist/bars/common/correct-check-icon.js +0 -50
  129. package/dist/bars/histogram.d.ts +0 -47
  130. package/dist/bars/histogram.js +0 -28
  131. package/dist/chart-setup.d.ts +0 -29
  132. package/dist/chart-setup.js +0 -231
  133. package/dist/chart-type.d.ts +0 -32
  134. package/dist/chart-type.js +0 -68
  135. package/dist/chart-types.d.ts +0 -41
  136. package/dist/chart-types.js +0 -17
  137. package/dist/chart.d.ts +0 -88
  138. package/dist/chart.js +0 -250
  139. package/dist/common/correctness-indicators.d.ts +0 -70
  140. package/dist/common/correctness-indicators.js +0 -106
  141. package/dist/common/drag-handle.d.ts +0 -129
  142. package/dist/common/drag-handle.js +0 -120
  143. package/dist/common/drag-icon.d.ts +0 -23
  144. package/dist/common/drag-icon.js +0 -45
  145. package/dist/common/styles.d.ts +0 -23
  146. package/dist/common/styles.js +0 -17
  147. package/dist/grid.d.ts +0 -45
  148. package/dist/grid.js +0 -56
  149. package/dist/index.d.ts +0 -14
  150. package/dist/index.js +0 -6
  151. package/dist/key-legend.d.ts +0 -19
  152. package/dist/key-legend.js +0 -46
  153. package/dist/line/common/drag-handle.d.ts +0 -120
  154. package/dist/line/common/drag-handle.js +0 -92
  155. package/dist/line/common/line.d.ts +0 -96
  156. package/dist/line/common/line.js +0 -114
  157. package/dist/line/line-cross.d.ts +0 -47
  158. package/dist/line/line-cross.js +0 -133
  159. package/dist/line/line-dot.d.ts +0 -47
  160. package/dist/line/line-dot.js +0 -101
  161. package/dist/mark-label.d.ts +0 -55
  162. package/dist/mark-label.js +0 -138
  163. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Axis.js +0 -101
  164. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisBottom.js +0 -46
  165. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisLeft.js +0 -47
  166. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +0 -63
  167. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Ticks.js +0 -44
  168. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/constants/orientation.js +0 -9
  169. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/createPoint.js +0 -14
  170. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +0 -21
  171. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +0 -16
  172. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +0 -8
  173. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickPosition.js +0 -15
  174. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridColumns.js +0 -79
  175. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridRows.js +0 -79
  176. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +0 -6
  177. package/dist/node_modules/.bun/@visx_group@3.12.0_f4eacebf2041cd4f/node_modules/@visx/group/esm/Group.js +0 -50
  178. package/dist/node_modules/.bun/@visx_point@3.12.0/node_modules/@visx/point/esm/Point.js +0 -18
  179. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/align.js +0 -6
  180. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/base.js +0 -6
  181. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/clamp.js +0 -6
  182. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/constant.js +0 -6
  183. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/domain.js +0 -6
  184. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/exponent.js +0 -6
  185. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/interpolate.js +0 -10
  186. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/nice.js +0 -37
  187. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/padding.js +0 -6
  188. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/range.js +0 -6
  189. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/reverse.js +0 -9
  190. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/round.js +0 -7
  191. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/scaleOperator.js +0 -58
  192. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/unknown.js +0 -6
  193. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/operators/zero.js +0 -9
  194. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/scales/band.js +0 -9
  195. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/scales/point.js +0 -9
  196. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +0 -10
  197. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/createColorInterpolator.js +0 -29
  198. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/getTicks.js +0 -9
  199. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/isUtcScale.js +0 -7
  200. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/toString.js +0 -6
  201. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Bar.js +0 -29
  202. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Circle.js +0 -29
  203. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Line.js +0 -47
  204. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/LinePath.js +0 -50
  205. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/D3ShapeFactories.js +0 -9
  206. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js +0 -6
  207. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/lib/shapes/Line.js +0 -53
  208. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/Text.js +0 -57
  209. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/hooks/useText.js +0 -91
  210. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/util/getStringWidth.js +0 -21
  211. package/dist/node_modules/.bun/@visx_vendor@3.12.0/node_modules/@visx/vendor/esm/d3-interpolate.js +0 -8
  212. package/dist/node_modules/.bun/@visx_vendor@3.12.0/node_modules/@visx/vendor/esm/d3-scale.js +0 -8
  213. package/dist/node_modules/.bun/@visx_vendor@3.12.0/node_modules/@visx/vendor/esm/d3-time.js +0 -8
  214. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +0 -32
  215. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +0 -33
  216. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +0 -32
  217. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -16
  218. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Hash.js +0 -21
  219. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_ListCache.js +0 -21
  220. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Map.js +0 -10
  221. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_MapCache.js +0 -21
  222. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Symbol.js +0 -9
  223. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js +0 -14
  224. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseGetTag.js +0 -15
  225. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsNative.js +0 -16
  226. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_coreJsData.js +0 -9
  227. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_freeGlobal.js +0 -8
  228. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getMapData.js +0 -14
  229. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getNative.js +0 -15
  230. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getRawTag.js +0 -19
  231. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getValue.js +0 -11
  232. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashClear.js +0 -13
  233. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashDelete.js +0 -12
  234. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashGet.js +0 -18
  235. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashHas.js +0 -14
  236. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashSet.js +0 -14
  237. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isKeyable.js +0 -12
  238. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isMasked.js +0 -16
  239. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheClear.js +0 -11
  240. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js +0 -14
  241. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheGet.js +0 -14
  242. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheHas.js +0 -13
  243. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheSet.js +0 -14
  244. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js +0 -19
  245. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js +0 -14
  246. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js +0 -13
  247. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js +0 -13
  248. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js +0 -14
  249. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nativeCreate.js +0 -9
  250. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_objectToString.js +0 -12
  251. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_root.js +0 -10
  252. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_toSource.js +0 -20
  253. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/eq.js +0 -11
  254. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/isFunction.js +0 -16
  255. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObject.js +0 -12
  256. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/memoize.js +0 -20
  257. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +0 -37
  258. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +0 -509
  259. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +0 -108
  260. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +0 -31
  261. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +0 -45
  262. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +0 -49
  263. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +0 -34
  264. package/dist/plot/common/plot.d.ts +0 -103
  265. package/dist/plot/common/plot.js +0 -227
  266. package/dist/plot/dot.d.ts +0 -47
  267. package/dist/plot/dot.js +0 -62
  268. package/dist/plot/line.d.ts +0 -47
  269. package/dist/plot/line.js +0 -84
  270. package/dist/tool-menu.d.ts +0 -31
  271. package/dist/utils.d.ts +0 -39
  272. package/dist/utils.js +0 -101
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.Histogram = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ var _plot = require("@pie-lib/plot");
18
+ var _utils = require("../utils");
19
+ var _bars = _interopRequireDefault(require("./common/bars"));
20
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ var Histogram = exports.Histogram = /*#__PURE__*/function (_React$Component) {
23
+ function Histogram() {
24
+ (0, _classCallCheck2["default"])(this, Histogram);
25
+ return _callSuper(this, Histogram, arguments);
26
+ }
27
+ (0, _inherits2["default"])(Histogram, _React$Component);
28
+ return (0, _createClass2["default"])(Histogram, [{
29
+ key: "render",
30
+ value: function render() {
31
+ var props = this.props;
32
+ var data = props.data,
33
+ graphProps = props.graphProps;
34
+ var _ref = graphProps || {},
35
+ _ref$scale = _ref.scale,
36
+ scale = _ref$scale === void 0 ? {} : _ref$scale,
37
+ _ref$size = _ref.size,
38
+ size = _ref$size === void 0 ? {} : _ref$size;
39
+ var xBand = (0, _utils.dataToXBand)(scale.x, data, size.width, 'histogram');
40
+ return /*#__PURE__*/_react["default"].createElement(_bars["default"], (0, _extends2["default"])({}, props, {
41
+ xBand: xBand,
42
+ histogram: true
43
+ }));
44
+ }
45
+ }]);
46
+ }(_react["default"].Component);
47
+ (0, _defineProperty2["default"])(Histogram, "propTypes", {
48
+ data: _propTypes["default"].array,
49
+ onChange: _propTypes["default"].func,
50
+ graphProps: _plot.types.GraphPropsType.isRequired
51
+ });
52
+ var _default = exports["default"] = function _default() {
53
+ return {
54
+ type: 'histogram',
55
+ Component: Histogram,
56
+ name: 'Histogram'
57
+ };
58
+ };
59
+ //# sourceMappingURL=histogram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"histogram.js","names":["_react","_interopRequireDefault","require","_propTypes","_plot","_utils","_bars","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","Histogram","exports","_React$Component","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","render","props","data","graphProps","_ref","_ref$scale","scale","_ref$size","size","xBand","dataToXBand","x","width","createElement","_extends2","histogram","React","Component","_defineProperty2","PropTypes","array","onChange","func","types","GraphPropsType","isRequired","_default","type","name"],"sources":["../../src/bars/histogram.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Bars from './common/bars';\n\nexport class Histogram extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const props = this.props;\n const { data, graphProps } = props;\n const { scale = {}, size = {} } = graphProps || {};\n const xBand = dataToXBand(scale.x, data, size.width, 'histogram');\n\n return <Bars {...props} xBand={xBand} histogram={true} />;\n }\n}\n\nexport default () => ({\n type: 'histogram',\n Component: Histogram,\n name: 'Histogram',\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAiC,SAAAK,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,IAEpBc,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAAAE,gBAAA;EAAA,SAAAF,UAAA;IAAA,IAAAG,gBAAA,mBAAAH,SAAA;IAAA,OAAAf,UAAA,OAAAe,SAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,aAAAL,SAAA,EAAAE,gBAAA;EAAA,WAAAI,aAAA,aAAAN,SAAA;IAAAO,GAAA;IAAAC,KAAA,EAOpB,SAAAC,MAAMA,CAAA,EAAG;MACP,IAAMC,KAAK,GAAG,IAAI,CAACA,KAAK;MACxB,IAAQC,IAAI,GAAiBD,KAAK,CAA1BC,IAAI;QAAEC,UAAU,GAAKF,KAAK,CAApBE,UAAU;MACxB,IAAAC,IAAA,GAAkCD,UAAU,IAAI,CAAC,CAAC;QAAAE,UAAA,GAAAD,IAAA,CAA1CE,KAAK;QAALA,KAAK,GAAAD,UAAA,cAAG,CAAC,CAAC,GAAAA,UAAA;QAAAE,SAAA,GAAAH,IAAA,CAAEI,IAAI;QAAJA,IAAI,GAAAD,SAAA,cAAG,CAAC,CAAC,GAAAA,SAAA;MAC7B,IAAME,KAAK,GAAG,IAAAC,kBAAW,EAACJ,KAAK,CAACK,CAAC,EAAET,IAAI,EAAEM,IAAI,CAACI,KAAK,EAAE,WAAW,CAAC;MAEjE,oBAAO3C,MAAA,YAAA4C,aAAA,CAACtC,KAAA,WAAI,MAAAuC,SAAA,iBAAKb,KAAK;QAAEQ,KAAK,EAAEA,KAAM;QAACM,SAAS,EAAE;MAAK,EAAE,CAAC;IAC3D;EAAC;AAAA,EAd4BC,iBAAK,CAACC,SAAS;AAAA,IAAAC,gBAAA,aAAjC3B,SAAS,eACD;EACjBW,IAAI,EAAEiB,qBAAS,CAACC,KAAK;EACrBC,QAAQ,EAAEF,qBAAS,CAACG,IAAI;EACxBnB,UAAU,EAAEoB,WAAK,CAACC,cAAc,CAACC;AACnC,CAAC;AAAA,IAAAC,QAAA,GAAAlC,OAAA,cAYY,SAAAkC,SAAA;EAAA,OAAO;IACpBC,IAAI,EAAE,WAAW;IACjBV,SAAS,EAAE1B,SAAS;IACpBqC,IAAI,EAAE;EACR,CAAC;AAAA,CAAC","ignoreList":[]}
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.resetValues = exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _renderUi = require("@pie-lib/render-ui");
15
+ var _styles = require("@mui/material/styles");
16
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
17
+ var _chartType = _interopRequireDefault(require("./chart-type"));
18
+ var _configUi = require("@pie-lib/config-ui");
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ var resetValues = exports.resetValues = function resetValues(data, updateModel, range, onChange, model) {
23
+ (data || []).forEach(function (d) {
24
+ var d_value_scaled = Math.round(d.value * 10);
25
+ var range_step_scaled = Math.round(range.step * 10);
26
+ var remainder_scaled = d_value_scaled % range_step_scaled;
27
+ var remainder = remainder_scaled / 10;
28
+ if (d.value > range.max || remainder !== 0) {
29
+ d.value = 0;
30
+ }
31
+ });
32
+ if (updateModel) {
33
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
34
+ data: data
35
+ }));
36
+ }
37
+ };
38
+ var StyledWrapper = (0, _styles.styled)('div')(function () {
39
+ return {
40
+ width: '450px'
41
+ };
42
+ });
43
+ var StyledContent = (0, _styles.styled)('div')(function (_ref) {
44
+ var theme = _ref.theme;
45
+ return {
46
+ display: 'flex',
47
+ flexDirection: 'column',
48
+ width: '100%',
49
+ marginTop: theme.spacing(3)
50
+ };
51
+ });
52
+ var StyledColumnView = (0, _styles.styled)('div')(function () {
53
+ return {
54
+ display: 'flex',
55
+ flexDirection: 'column',
56
+ alignItems: 'center'
57
+ };
58
+ });
59
+ var StyledRowView = (0, _styles.styled)('div')(function () {
60
+ return {
61
+ display: 'flex',
62
+ justifyContent: 'space-around',
63
+ alignItems: 'center'
64
+ };
65
+ });
66
+ var StyledTextField = (0, _styles.styled)(_configUi.NumberTextFieldCustom)(function (_ref2) {
67
+ var theme = _ref2.theme;
68
+ return {
69
+ width: '130px',
70
+ margin: "".concat(theme.spacing(1), " ").concat(theme.spacing(0.5))
71
+ };
72
+ });
73
+ var StyledMediumTextField = (0, _styles.styled)(_configUi.NumberTextFieldCustom)(function (_ref3) {
74
+ var theme = _ref3.theme;
75
+ return {
76
+ width: '160px',
77
+ margin: "".concat(theme.spacing(1), " ").concat(theme.spacing(0.5))
78
+ };
79
+ });
80
+ var StyledDimensions = (0, _styles.styled)('div')(function (_ref4) {
81
+ var theme = _ref4.theme;
82
+ return {
83
+ display: 'flex',
84
+ justifyContent: 'space-between',
85
+ alignItems: 'center',
86
+ margin: "".concat(theme.spacing(3), " 0")
87
+ };
88
+ });
89
+ var StyledDisabled = (0, _styles.styled)(_Typography["default"])(function () {
90
+ return {
91
+ color: _renderUi.color.disabled()
92
+ };
93
+ });
94
+ var ConfigureChartPanel = function ConfigureChartPanel(props) {
95
+ var model = props.model,
96
+ onChange = props.onChange,
97
+ chartDimensions = props.chartDimensions,
98
+ _props$gridValues = props.gridValues,
99
+ gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
100
+ _props$labelValues = props.labelValues,
101
+ labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
102
+ _props$studentNewCate = props.studentNewCategoryDefaultLabel,
103
+ studentNewCategoryDefaultLabel = _props$studentNewCate === void 0 ? {} : _props$studentNewCate,
104
+ _props$availableChart = props.availableChartTypes,
105
+ availableChartTypes = _props$availableChart === void 0 ? {} : _props$availableChart,
106
+ chartTypeLabel = props.chartTypeLabel;
107
+ var _useState = (0, _react.useState)({
108
+ open: false,
109
+ title: '',
110
+ text: '',
111
+ onClose: null,
112
+ onConfirm: null
113
+ }),
114
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
115
+ alertDialog = _useState2[0],
116
+ setAlertDialog = _useState2[1];
117
+ var _useState3 = (0, _react.useState)(false),
118
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
119
+ open = _useState4[0],
120
+ setOpen = _useState4[1];
121
+ var _useState5 = (0, _react.useState)(''),
122
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
123
+ rangeKey = _useState6[0],
124
+ setRangeKey = _useState6[1];
125
+ var _useState7 = (0, _react.useState)(0),
126
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
127
+ resetValue = _useState8[0],
128
+ setResetValue = _useState8[1];
129
+ var _model$range = model.range,
130
+ range = _model$range === void 0 ? {} : _model$range,
131
+ correctAnswer = model.correctAnswer,
132
+ changeInteractiveEnabled = model.changeInteractiveEnabled,
133
+ changeEditableEnabled = model.changeEditableEnabled;
134
+ var size = model.graph;
135
+ var _ref5 = chartDimensions || {},
136
+ showInConfigPanel = _ref5.showInConfigPanel,
137
+ width = _ref5.width,
138
+ height = _ref5.height;
139
+ var widthConstraints = {
140
+ min: width !== null && width !== void 0 && width.min ? Math.max(50, width.min) : 50,
141
+ max: width !== null && width !== void 0 && width.max ? Math.min(700, width.max) : 700,
142
+ step: (width === null || width === void 0 ? void 0 : width.step) >= 1 ? Math.min(200, width.step) : 20
143
+ };
144
+ var heightConstraints = {
145
+ min: height !== null && height !== void 0 && height.min ? Math.max(400, height.min) : 400,
146
+ max: height !== null && height !== void 0 && height.max ? Math.min(700, height.max) : 700,
147
+ step: (height === null || height === void 0 ? void 0 : height.step) >= 1 ? Math.min(200, height.step) : 20
148
+ };
149
+ var gridOptions = gridValues && gridValues.range ? {
150
+ customValues: gridValues.range
151
+ } : {
152
+ min: 0,
153
+ max: 10000
154
+ };
155
+ var labelOptions = labelValues && labelValues.range ? {
156
+ customValues: labelValues.range
157
+ } : {
158
+ min: 0,
159
+ max: 10000
160
+ };
161
+ var stepConfig = /*#__PURE__*/_react["default"].createElement(StyledRowView, null, /*#__PURE__*/_react["default"].createElement(StyledMediumTextField, (0, _extends2["default"])({
162
+ label: "Grid Interval",
163
+ value: range.step,
164
+ variant: "outlined",
165
+ onChange: function onChange(e, v) {
166
+ return onRangeChanged('step', v, e);
167
+ }
168
+ }, gridOptions)), /*#__PURE__*/_react["default"].createElement(StyledMediumTextField, (0, _extends2["default"])({
169
+ label: 'Label Interval',
170
+ value: range.labelStep,
171
+ variant: 'outlined',
172
+ onChange: function onChange(e, v) {
173
+ return onRangeChanged('labelStep', v, e);
174
+ }
175
+ }, labelOptions)));
176
+ var handleAlertDialog = function handleAlertDialog(openStatus) {
177
+ setAlertDialog(function (prevState) {
178
+ return _objectSpread(_objectSpread({}, prevState), {}, {
179
+ open: openStatus
180
+ });
181
+ });
182
+ setOpen(openStatus);
183
+ };
184
+ var setPropertiesToFalse = function setPropertiesToFalse(data, property) {
185
+ return data.map(function (obj) {
186
+ if (Object.prototype.hasOwnProperty.call(obj, property)) {
187
+ obj[property] = property == 'interactive' ? true : false;
188
+ }
189
+ return obj;
190
+ });
191
+ };
192
+ var removeOutOfRangeValues = function removeOutOfRangeValues(updateModel) {
193
+ var correctAnswer = model.correctAnswer,
194
+ data = model.data;
195
+ if (changeInteractiveEnabled === false) {
196
+ setPropertiesToFalse(data, 'interactive');
197
+ }
198
+ if (changeEditableEnabled === false) {
199
+ setPropertiesToFalse(data, 'editable');
200
+ }
201
+ resetValues(data, updateModel, range, onChange, model);
202
+ resetValues(correctAnswer.data, false, range, onChange, model);
203
+ };
204
+ var setCategoryDefaultLabel = function setCategoryDefaultLabel() {
205
+ var studentCategoryDefaultLabel = studentNewCategoryDefaultLabel === null || studentNewCategoryDefaultLabel === void 0 ? void 0 : studentNewCategoryDefaultLabel.label;
206
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
207
+ studentCategoryDefaultLabel: studentCategoryDefaultLabel
208
+ }));
209
+ };
210
+ var rangeProps = function rangeProps(chartType) {
211
+ return chartType.includes('Plot') ? {
212
+ min: 3,
213
+ max: 10
214
+ } : {
215
+ min: 0.05,
216
+ max: 10000
217
+ };
218
+ };
219
+ var onSizeChanged = function onSizeChanged(key, value) {
220
+ var graph = _objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, value));
221
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
222
+ graph: graph
223
+ }));
224
+ };
225
+ var isOutOfRange = function isOutOfRange(data, range) {
226
+ return (data || []).find(function (d) {
227
+ return d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0;
228
+ });
229
+ };
230
+ var onRangeChanged = function onRangeChanged(key, value, e) {
231
+ // use reset values to restore range to initial values
232
+ setResetValue(range[key]);
233
+ setRangeKey(key);
234
+ range[key] = value;
235
+ if (key === 'max' || key === 'step') {
236
+ // check if current chart values are invalid for given range step/max
237
+ var outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);
238
+ if (outOfRange && e !== null && e !== void 0 && e.target) {
239
+ setOpen(true);
240
+ } else {
241
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
242
+ range: range
243
+ }));
244
+ }
245
+ } else {
246
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
247
+ range: range
248
+ }));
249
+ }
250
+ };
251
+ (0, _react.useEffect)(function () {
252
+ removeOutOfRangeValues(true);
253
+ setCategoryDefaultLabel();
254
+ }, []);
255
+ (0, _react.useEffect)(function () {
256
+ if (open) {
257
+ setAlertDialog({
258
+ open: true,
259
+ title: 'Warning',
260
+ text: 'This change will remove values defined for one or more categories',
261
+ onConfirm: function onConfirm() {
262
+ removeOutOfRangeValues();
263
+ handleAlertDialog(false);
264
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
265
+ range: range,
266
+ correctAnswer: correctAnswer
267
+ }));
268
+ },
269
+ onClose: function onClose() {
270
+ range[rangeKey] = resetValue;
271
+ handleAlertDialog(false);
272
+ }
273
+ });
274
+ }
275
+ }, [open]);
276
+ var isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;
277
+ var getPlotConfiguration = function getPlotConfiguration() {
278
+ rangeProps.min = 3;
279
+ rangeProps.max = 10;
280
+ range.max = 10;
281
+ range.step = 1;
282
+ range.labelStep = 1;
283
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
284
+ range: range
285
+ }));
286
+ };
287
+ var onChartTypeChange = function onChartTypeChange(chartType) {
288
+ if (chartType.includes('Plot')) {
289
+ // The selected chart type does not support the current chart configuration
290
+ if (!isValidPlot) {
291
+ setAlertDialog({
292
+ open: true,
293
+ title: 'Warning',
294
+ text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',
295
+ onConfirm: function onConfirm() {
296
+ getPlotConfiguration();
297
+ removeOutOfRangeValues();
298
+ handleAlertDialog(false);
299
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
300
+ range: range,
301
+ chartType: chartType
302
+ }));
303
+ },
304
+ onClose: function onClose() {
305
+ handleAlertDialog(false);
306
+ }
307
+ });
308
+ return;
309
+ }
310
+ rangeProps.min = 3;
311
+ rangeProps.max = 10;
312
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
313
+ chartType: chartType
314
+ }));
315
+ return;
316
+ }
317
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
318
+ chartType: chartType
319
+ }));
320
+ };
321
+ return /*#__PURE__*/_react["default"].createElement(StyledWrapper, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
322
+ variant: 'subtitle1'
323
+ }, "Configure Chart"), /*#__PURE__*/_react["default"].createElement(StyledContent, null, /*#__PURE__*/_react["default"].createElement(StyledRowView, null, /*#__PURE__*/_react["default"].createElement(_chartType["default"], {
324
+ value: model.chartType,
325
+ onChange: function onChange(e) {
326
+ return onChartTypeChange(e.target.value);
327
+ },
328
+ availableChartTypes: availableChartTypes,
329
+ chartTypeLabel: chartTypeLabel
330
+ }), /*#__PURE__*/_react["default"].createElement(StyledMediumTextField, {
331
+ label: "Max Value",
332
+ value: range.max,
333
+ min: rangeProps(model.chartType).min,
334
+ max: rangeProps(model.chartType).max,
335
+ variant: "outlined",
336
+ onChange: function onChange(e, v) {
337
+ return onRangeChanged('max', v, e);
338
+ }
339
+ })), !model.chartType.includes('Plot') && stepConfig, showInConfigPanel && /*#__PURE__*/_react["default"].createElement(StyledDimensions, null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)")), /*#__PURE__*/_react["default"].createElement(StyledColumnView, null, /*#__PURE__*/_react["default"].createElement(StyledTextField, {
340
+ label: 'Width',
341
+ value: size.width,
342
+ min: widthConstraints.min,
343
+ max: widthConstraints.max,
344
+ step: widthConstraints.step,
345
+ variant: 'outlined',
346
+ onChange: function onChange(e, v) {
347
+ return onSizeChanged('width', v);
348
+ }
349
+ }), /*#__PURE__*/_react["default"].createElement(StyledDisabled, null, "Min 50, Max 700")), /*#__PURE__*/_react["default"].createElement(StyledColumnView, null, /*#__PURE__*/_react["default"].createElement(StyledTextField, {
350
+ label: 'Height',
351
+ value: size.height,
352
+ min: heightConstraints.min,
353
+ max: heightConstraints.max,
354
+ step: heightConstraints.step,
355
+ variant: 'outlined',
356
+ onChange: function onChange(e, v) {
357
+ return onSizeChanged('height', v);
358
+ }
359
+ }), /*#__PURE__*/_react["default"].createElement(StyledDisabled, null, "Min 400, Max 700")))), /*#__PURE__*/_react["default"].createElement(_configUi.AlertDialog, {
360
+ open: alertDialog.open,
361
+ title: alertDialog.title,
362
+ text: alertDialog.text,
363
+ onClose: alertDialog.onClose,
364
+ onConfirm: alertDialog.onConfirm
365
+ }));
366
+ };
367
+ ConfigureChartPanel.propTypes = {
368
+ chartDimensions: _propTypes["default"].object,
369
+ domain: _propTypes["default"].object,
370
+ gridValues: _propTypes["default"].object,
371
+ labelValues: _propTypes["default"].object,
372
+ model: _propTypes["default"].object,
373
+ onChange: _propTypes["default"].func,
374
+ range: _propTypes["default"].object,
375
+ chartDimension: _propTypes["default"].object,
376
+ size: _propTypes["default"].object,
377
+ studentNewCategoryDefaultLabel: _propTypes["default"].object,
378
+ availableChartTypes: _propTypes["default"].object,
379
+ chartTypeLabel: _propTypes["default"].string
380
+ };
381
+ var _default = exports["default"] = ConfigureChartPanel;
382
+ //# sourceMappingURL=chart-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-setup.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_renderUi","_styles","_Typography","_chartType","_configUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","resetValues","exports","data","updateModel","range","onChange","model","d","d_value_scaled","Math","round","value","range_step_scaled","step","remainder_scaled","remainder","max","StyledWrapper","styled","width","StyledContent","_ref","theme","display","flexDirection","marginTop","spacing","StyledColumnView","alignItems","StyledRowView","justifyContent","StyledTextField","NumberTextFieldCustom","_ref2","margin","concat","StyledMediumTextField","_ref3","StyledDimensions","_ref4","StyledDisabled","Typography","color","disabled","ConfigureChartPanel","props","chartDimensions","_props$gridValues","gridValues","_props$labelValues","labelValues","_props$studentNewCate","studentNewCategoryDefaultLabel","_props$availableChart","availableChartTypes","chartTypeLabel","_useState","useState","open","title","text","onClose","onConfirm","_useState2","_slicedToArray2","alertDialog","setAlertDialog","_useState3","_useState4","setOpen","_useState5","_useState6","rangeKey","setRangeKey","_useState7","_useState8","resetValue","setResetValue","_model$range","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","size","graph","_ref5","showInConfigPanel","height","widthConstraints","min","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","createElement","_extends2","label","variant","v","onRangeChanged","labelStep","handleAlertDialog","openStatus","prevState","setPropertiesToFalse","property","map","obj","prototype","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","floor","outOfRange","target","useEffect","isValidPlot","getPlotConfiguration","onChartTypeChange","AlertDialog","propTypes","PropTypes","object","domain","func","chartDimension","string","_default"],"sources":["../src/chart-setup.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport ChartType from './chart-type';\nimport { AlertDialog, NumberTextFieldCustom } from '@pie-lib/config-ui';\n\nexport const resetValues = (data, updateModel, range, onChange, model) => {\n (data || []).forEach((d) => {\n const d_value_scaled = Math.round(d.value * 10);\n const range_step_scaled = Math.round(range.step * 10);\n const remainder_scaled = d_value_scaled % range_step_scaled;\n const remainder = remainder_scaled / 10;\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n if (updateModel) {\n onChange({ ...model, data });\n }\n};\n\nconst StyledWrapper = styled('div')(() => ({\n width: '450px',\n}));\n\nconst StyledContent = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(3),\n}));\n\nconst StyledColumnView = styled('div')(() => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StyledRowView = styled('div')(() => ({\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n}));\n\nconst StyledTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '130px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledMediumTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '160px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledDimensions = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing(3)} 0`,\n}));\n\nconst StyledDisabled = styled(Typography)(() => ({\n color: color.disabled(),\n}));\n\nconst ConfigureChartPanel = (props) => {\n const {\n model,\n onChange,\n chartDimensions,\n gridValues = {},\n labelValues = {},\n studentNewCategoryDefaultLabel = {},\n availableChartTypes = {},\n chartTypeLabel,\n } = props;\n const [alertDialog, setAlertDialog] = useState({\n open: false,\n title: '',\n text: '',\n onClose: null,\n onConfirm: null,\n });\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range = {}, correctAnswer, changeInteractiveEnabled, changeEditableEnabled } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20,\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20,\n };\n\n const gridOptions = gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions = labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <StyledRowView>\n <StyledMediumTextField\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v, e)}\n {...gridOptions}\n />\n <StyledMediumTextField\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v, e)}\n {...labelOptions}\n />\n </StyledRowView>\n );\n\n const handleAlertDialog = (openStatus) => {\n setAlertDialog((prevState) => ({\n ...prevState,\n open: openStatus,\n }));\n\n setOpen(openStatus);\n };\n\n const setPropertiesToFalse = (data, property) => {\n return data.map((obj) => {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n obj[property] = property == 'interactive' ? true : false;\n }\n return obj;\n });\n };\n\n const removeOutOfRangeValues = (updateModel) => {\n const { correctAnswer, data } = model;\n\n if (changeInteractiveEnabled === false) {\n setPropertiesToFalse(data, 'interactive');\n }\n\n if (changeEditableEnabled === false) {\n setPropertiesToFalse(data, 'editable');\n }\n\n resetValues(data, updateModel, range, onChange, model);\n resetValues(correctAnswer.data, false, range, onChange, model);\n };\n\n const setCategoryDefaultLabel = () => {\n const studentCategoryDefaultLabel = studentNewCategoryDefaultLabel?.label;\n\n onChange({ ...model, studentCategoryDefaultLabel });\n };\n\n const rangeProps = (chartType) => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const isOutOfRange = (data, range) =>\n (data || []).find((d) => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0);\n\n const onRangeChanged = (key, value, e) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);\n\n if (outOfRange && e?.target) {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n removeOutOfRangeValues(true);\n setCategoryDefaultLabel();\n }, []);\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false);\n onChange({ ...model, range, correctAnswer });\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n },\n });\n }\n }, [open]);\n\n const isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;\n\n const getPlotConfiguration = () => {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n range.max = 10;\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range });\n };\n\n const onChartTypeChange = (chartType) => {\n if (chartType.includes('Plot')) {\n // The selected chart type does not support the current chart configuration\n if (!isValidPlot) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',\n onConfirm: () => {\n getPlotConfiguration();\n removeOutOfRangeValues();\n handleAlertDialog(false);\n onChange({ ...model, range, chartType });\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n });\n\n return;\n }\n\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n onChange({ ...model, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <StyledWrapper>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <StyledContent>\n <StyledRowView>\n <ChartType\n value={model.chartType}\n onChange={(e) => onChartTypeChange(e.target.value)}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n <StyledMediumTextField\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v, e)}\n />\n </StyledRowView>\n {!model.chartType.includes('Plot') && stepConfig}\n\n {showInConfigPanel && (\n <StyledDimensions>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n\n <StyledColumnView>\n <StyledTextField\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <StyledDisabled>Min 50, Max 700</StyledDisabled>\n </StyledColumnView>\n\n <StyledColumnView>\n <StyledTextField\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <StyledDisabled>Min 400, Max 700</StyledDisabled>\n </StyledColumnView>\n </StyledDimensions>\n )}\n </StyledContent>\n\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </StyledWrapper>\n );\n};\n\nConfigureChartPanel.propTypes = {\n chartDimensions: PropTypes.object,\n domain: PropTypes.object,\n gridValues: PropTypes.object,\n labelValues: PropTypes.object,\n model: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.object,\n availableChartTypes: PropTypes.object,\n chartTypeLabel: PropTypes.string,\n};\n\nexport default ConfigureChartPanel;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _styles = require("@mui/material/styles");
10
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
11
+ var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
12
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
13
+ var _material = require("@mui/material");
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var StyledContainer = (0, _styles.styled)('div')(function () {
16
+ return {
17
+ width: '160px'
18
+ };
19
+ });
20
+ var StyledFormControl = (0, _styles.styled)(_FormControl["default"])(function () {
21
+ return {
22
+ width: '160px'
23
+ };
24
+ });
25
+ var StyledInputLabel = (0, _styles.styled)(_InputLabel["default"])(function () {
26
+ return {
27
+ backgroundColor: 'transparent'
28
+ };
29
+ });
30
+ var ChartType = function ChartType(_ref) {
31
+ var onChange = _ref.onChange,
32
+ value = _ref.value,
33
+ availableChartTypes = _ref.availableChartTypes,
34
+ chartTypeLabel = _ref.chartTypeLabel;
35
+ return /*#__PURE__*/_react["default"].createElement(StyledContainer, null, /*#__PURE__*/_react["default"].createElement(StyledFormControl, {
36
+ variant: 'outlined'
37
+ }, /*#__PURE__*/_react["default"].createElement(StyledInputLabel, {
38
+ id: "type-helper-label"
39
+ }, chartTypeLabel), /*#__PURE__*/_react["default"].createElement(_material.Select, {
40
+ labelId: "type-helper-label",
41
+ id: "type-helper-label-select",
42
+ name: "chartType",
43
+ value: value,
44
+ onChange: onChange,
45
+ label: chartTypeLabel,
46
+ MenuProps: {
47
+ transitionDuration: {
48
+ enter: 225,
49
+ exit: 195
50
+ }
51
+ }
52
+ }, (availableChartTypes === null || availableChartTypes === void 0 ? void 0 : availableChartTypes.histogram) && /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
53
+ value: 'histogram'
54
+ }, availableChartTypes.histogram), (availableChartTypes === null || availableChartTypes === void 0 ? void 0 : availableChartTypes.bar) && /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
55
+ value: 'bar'
56
+ }, availableChartTypes.bar), (availableChartTypes === null || availableChartTypes === void 0 ? void 0 : availableChartTypes.lineDot) && /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
57
+ value: 'lineDot'
58
+ }, availableChartTypes.lineDot), (availableChartTypes === null || availableChartTypes === void 0 ? void 0 : availableChartTypes.lineCross) && /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
59
+ value: 'lineCross'
60
+ }, availableChartTypes.lineCross), (availableChartTypes === null || availableChartTypes === void 0 ? void 0 : availableChartTypes.dotPlot) && /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
61
+ value: 'dotPlot'
62
+ }, availableChartTypes.dotPlot), (availableChartTypes === null || availableChartTypes === void 0 ? void 0 : availableChartTypes.linePlot) && /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
63
+ value: 'linePlot'
64
+ }, availableChartTypes.linePlot))));
65
+ };
66
+ ChartType.propTypes = {
67
+ onChange: _propTypes["default"].func.isRequired,
68
+ value: _propTypes["default"].string.isRequired,
69
+ availableChartTypes: _propTypes["default"].shape({
70
+ histogram: _propTypes["default"].string,
71
+ bar: _propTypes["default"].string,
72
+ lineDot: _propTypes["default"].string,
73
+ lineCross: _propTypes["default"].string,
74
+ dotPlot: _propTypes["default"].string,
75
+ linePlot: _propTypes["default"].string
76
+ }),
77
+ chartTypeLabel: _propTypes["default"].string
78
+ };
79
+ var _default = exports["default"] = ChartType;
80
+ //# sourceMappingURL=chart-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-type.js","names":["_react","_interopRequireDefault","require","_styles","_MenuItem","_FormControl","_InputLabel","_material","_propTypes","StyledContainer","styled","width","StyledFormControl","FormControl","StyledInputLabel","InputLabel","backgroundColor","ChartType","_ref","onChange","value","availableChartTypes","chartTypeLabel","createElement","variant","id","Select","labelId","name","label","MenuProps","transitionDuration","enter","exit","histogram","bar","lineDot","lineCross","dotPlot","linePlot","propTypes","PropTypes","func","isRequired","string","shape","_default","exports"],"sources":["../src/chart-type.js"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\nimport InputLabel from '@mui/material/InputLabel';\nimport { Select } from '@mui/material';\nimport PropTypes from 'prop-types';\n\nconst StyledContainer = styled('div')(() => ({\n width: '160px',\n}));\n\nconst StyledFormControl = styled(FormControl)(() => ({\n width: '160px',\n}));\n\nconst StyledInputLabel = styled(InputLabel)(() => ({\n backgroundColor: 'transparent',\n}));\n\nconst ChartType = ({ onChange, value, availableChartTypes, chartTypeLabel }) => (\n <StyledContainer>\n <StyledFormControl variant={'outlined'}>\n <StyledInputLabel id=\"type-helper-label\">{chartTypeLabel}</StyledInputLabel>\n <Select\n labelId=\"type-helper-label\"\n id=\"type-helper-label-select\"\n name=\"chartType\"\n value={value}\n onChange={onChange}\n label={chartTypeLabel}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {availableChartTypes?.histogram && <MenuItem value={'histogram'}>{availableChartTypes.histogram}</MenuItem>}\n {availableChartTypes?.bar && <MenuItem value={'bar'}>{availableChartTypes.bar}</MenuItem>}\n {availableChartTypes?.lineDot && <MenuItem value={'lineDot'}>{availableChartTypes.lineDot}</MenuItem>}\n {availableChartTypes?.lineCross && <MenuItem value={'lineCross'}>{availableChartTypes.lineCross}</MenuItem>}\n {availableChartTypes?.dotPlot && <MenuItem value={'dotPlot'}>{availableChartTypes.dotPlot}</MenuItem>}\n {availableChartTypes?.linePlot && <MenuItem value={'linePlot'}>{availableChartTypes.linePlot}</MenuItem>}\n </Select>\n </StyledFormControl>\n </StyledContainer>\n);\n\nChartType.propTypes = {\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n availableChartTypes: PropTypes.shape({\n histogram: PropTypes.string,\n bar: PropTypes.string,\n lineDot: PropTypes.string,\n lineCross: PropTypes.string,\n dotPlot: PropTypes.string,\n linePlot: PropTypes.string,\n }),\n chartTypeLabel: PropTypes.string,\n};\n\nexport default ChartType;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _bar = _interopRequireDefault(require("./bars/bar"));
9
+ var _histogram = _interopRequireDefault(require("./bars/histogram"));
10
+ var _lineDot = _interopRequireDefault(require("./line/line-dot"));
11
+ var _lineCross = _interopRequireDefault(require("./line/line-cross"));
12
+ var _dot = _interopRequireDefault(require("./plot/dot"));
13
+ var _line = _interopRequireDefault(require("./plot/line"));
14
+ var _default = exports["default"] = {
15
+ Bar: _bar["default"],
16
+ Histogram: _histogram["default"],
17
+ LineDot: _lineDot["default"],
18
+ DotPlot: _dot["default"],
19
+ LinePlot: _line["default"],
20
+ LineCross: _lineCross["default"]
21
+ };
22
+ //# sourceMappingURL=chart-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-types.js","names":["_bar","_interopRequireDefault","require","_histogram","_lineDot","_lineCross","_dot","_line","_default","exports","Bar","Histogram","LineDot","DotPlot","LinePlot","LineCross"],"sources":["../src/chart-types.js"],"sourcesContent":["import Bar from './bars/bar';\nimport Histogram from './bars/histogram';\nimport LineDot from './line/line-dot';\nimport LineCross from './line/line-cross';\nimport DotPlot from './plot/dot';\nimport LinePlot from './plot/line';\n\nexport default { Bar, Histogram, LineDot, DotPlot, LinePlot, LineCross };\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAmC,IAAAM,QAAA,GAAAC,OAAA,cAEpB;EAAEC,GAAG,EAAHA,eAAG;EAAEC,SAAS,EAATA,qBAAS;EAAEC,OAAO,EAAPA,mBAAO;EAAEC,OAAO,EAAPA,eAAO;EAAEC,QAAQ,EAARA,gBAAQ;EAAEC,SAAS,EAATA;AAAU,CAAC","ignoreList":[]}