@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
package/lib/axes.js ADDED
@@ -0,0 +1,643 @@
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.TickComponent = exports.RawChartAxes = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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 _styles = require("@mui/material/styles");
18
+ var _axis = require("@visx/axis");
19
+ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
20
+ var _plot = require("@pie-lib/plot");
21
+ var _renderUi = require("@pie-lib/render-ui");
22
+ var _configUi = require("@pie-lib/config-ui");
23
+ var _mathRendering = require("@pie-lib/math-rendering");
24
+ var _correctnessIndicators = require("./common/correctness-indicators");
25
+ var _utils = require("./utils");
26
+ var _markLabel = _interopRequireDefault(require("./mark-label"));
27
+ 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; }
28
+ 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; }
29
+ 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)); }
30
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
+ // one document-level MutationObserver shared across all
32
+ // RawChartAxes instances so that no chart misses a MathJax render batch
33
+ var _mathCallbacks = new Set();
34
+ var _docObserver = null;
35
+ function registerMathCallback(cb) {
36
+ _mathCallbacks.add(cb);
37
+ if (!_docObserver && typeof document !== 'undefined') {
38
+ _docObserver = new MutationObserver(function () {
39
+ _mathCallbacks.forEach(function (fn) {
40
+ return fn();
41
+ });
42
+ });
43
+ _docObserver.observe(document.body, {
44
+ childList: true,
45
+ subtree: true
46
+ });
47
+ }
48
+ }
49
+ function unregisterMathCallback(cb) {
50
+ _mathCallbacks["delete"](cb);
51
+ if (_mathCallbacks.size === 0 && _docObserver) {
52
+ _docObserver.disconnect();
53
+ _docObserver = null;
54
+ }
55
+ }
56
+ var StyledErrorText = (0, _styles.styled)('text')(function (_ref) {
57
+ var theme = _ref.theme;
58
+ return {
59
+ fontSize: theme.typography.fontSize - 2,
60
+ fill: theme.palette.error.main
61
+ };
62
+ });
63
+ var StyledCheckbox = (0, _styles.styled)(_Checkbox["default"])(function () {
64
+ return {
65
+ color: "".concat(_renderUi.color.tertiary(), " !important")
66
+ };
67
+ });
68
+ var StyledAxesGroup = (0, _styles.styled)('g')(function (_ref2) {
69
+ var _theme$typography$bod;
70
+ var theme = _ref2.theme;
71
+ return {
72
+ '& .vx-axis-line': {
73
+ stroke: _renderUi.color.visualElementsColors.AXIS_LINE_COLOR,
74
+ strokeWidth: 2
75
+ },
76
+ '& .vx-axis-tick': {
77
+ fill: _renderUi.color.visualElementsColors.AXIS_TICK_COLOR,
78
+ '& line': {
79
+ stroke: _renderUi.color.visualElementsColors.AXIS_TICK_COLOR,
80
+ strokeWidth: 2
81
+ },
82
+ fontFamily: (_theme$typography$bod = theme.typography.body1) === null || _theme$typography$bod === void 0 ? void 0 : _theme$typography$bod.fontFamily,
83
+ fontSize: theme.typography.fontSize,
84
+ textAnchor: 'middle'
85
+ }
86
+ };
87
+ });
88
+ var correctnessIconStyles = function correctnessIconStyles(theme) {
89
+ return {
90
+ borderRadius: theme.spacing(2),
91
+ color: _renderUi.color.defaults.WHITE,
92
+ fontSize: '16px',
93
+ width: '16px',
94
+ height: '16px',
95
+ padding: '2px',
96
+ border: "1px solid ".concat(_renderUi.color.defaults.WHITE),
97
+ boxSizing: 'unset' // to override the default border-box in IBX
98
+ };
99
+ };
100
+ var incorrectIconStyles = {
101
+ backgroundColor: _renderUi.color.incorrectWithIcon()
102
+ };
103
+ var correctIconStyles = {
104
+ backgroundColor: _renderUi.color.correct()
105
+ };
106
+ var TickComponent = exports.TickComponent = /*#__PURE__*/function (_React$Component) {
107
+ function TickComponent(props) {
108
+ var _this;
109
+ (0, _classCallCheck2["default"])(this, TickComponent);
110
+ _this = _callSuper(this, TickComponent, [props]);
111
+ (0, _defineProperty2["default"])(_this, "handleAlertDialog", function (open, callback) {
112
+ return _this.setState({
113
+ dialog: {
114
+ open: open
115
+ }
116
+ }, callback);
117
+ });
118
+ (0, _defineProperty2["default"])(_this, "changeCategory", function (index, newLabel) {
119
+ var _this$props = _this.props,
120
+ categories = _this$props.categories,
121
+ onChangeCategory = _this$props.onChangeCategory;
122
+ var category = categories[index];
123
+ onChangeCategory(index, _objectSpread(_objectSpread({}, category), {}, {
124
+ label: newLabel
125
+ }));
126
+ });
127
+ (0, _defineProperty2["default"])(_this, "changeInteractive", function (index, value) {
128
+ var _this$props2 = _this.props,
129
+ categories = _this$props2.categories,
130
+ onChangeCategory = _this$props2.onChangeCategory;
131
+ var category = categories[index];
132
+ if (!value) {
133
+ _this.setState({
134
+ dialog: {
135
+ open: true,
136
+ title: 'Warning',
137
+ text: 'This will remove the correct answer value that has been defined for this category.',
138
+ onConfirm: function onConfirm() {
139
+ return _this.handleAlertDialog(false, onChangeCategory(index, _objectSpread(_objectSpread({}, category), {}, {
140
+ interactive: !category.interactive
141
+ })));
142
+ },
143
+ onClose: function onClose() {
144
+ return _this.handleAlertDialog(false);
145
+ }
146
+ }
147
+ });
148
+ } else {
149
+ onChangeCategory(index, _objectSpread(_objectSpread({}, category), {}, {
150
+ interactive: !category.interactive
151
+ }));
152
+ }
153
+ });
154
+ (0, _defineProperty2["default"])(_this, "changeEditable", function (index, value) {
155
+ var _this$props3 = _this.props,
156
+ categories = _this$props3.categories,
157
+ onChangeCategory = _this$props3.onChangeCategory;
158
+ var category = categories[index];
159
+ if (!value) {
160
+ _this.setState({
161
+ dialog: {
162
+ open: true,
163
+ title: 'Warning',
164
+ text: 'This will remove the correct answer category name that has been defined for this category.',
165
+ onConfirm: function onConfirm() {
166
+ return _this.handleAlertDialog(false, onChangeCategory(index, _objectSpread(_objectSpread({}, category), {}, {
167
+ editable: !category.editable || false
168
+ })));
169
+ },
170
+ onClose: function onClose() {
171
+ return _this.handleAlertDialog(false);
172
+ }
173
+ }
174
+ });
175
+ } else {
176
+ onChangeCategory(index, _objectSpread(_objectSpread({}, category), {}, {
177
+ editable: !category.editable || false
178
+ }));
179
+ }
180
+ });
181
+ (0, _defineProperty2["default"])(_this, "splitText", function (text, maxChar) {
182
+ var chunks = [];
183
+ while ((text || '').length > 0) {
184
+ var indexToSplit = void 0;
185
+ if (text.length > maxChar) {
186
+ indexToSplit = text.lastIndexOf(' ', maxChar);
187
+ if (indexToSplit === -1) {
188
+ indexToSplit = maxChar;
189
+ }
190
+ } else {
191
+ indexToSplit = text.length;
192
+ }
193
+ chunks.push(text.substring(0, indexToSplit));
194
+ text = text.substring(indexToSplit).trim();
195
+ }
196
+ return chunks;
197
+ });
198
+ _this.state = {
199
+ dialog: {
200
+ open: false
201
+ }
202
+ };
203
+ return _this;
204
+ }
205
+ (0, _inherits2["default"])(TickComponent, _React$Component);
206
+ return (0, _createClass2["default"])(TickComponent, [{
207
+ key: "componentDidUpdate",
208
+ value: function componentDidUpdate(prevProps) {
209
+ if (this.props.autoFocus && !prevProps.autoFocus) {
210
+ this.props.onAutoFocusUsed();
211
+ }
212
+ }
213
+ }, {
214
+ key: "render",
215
+ value: function render() {
216
+ var _this2 = this;
217
+ var _this$props4 = this.props,
218
+ categories = _this$props4.categories,
219
+ xBand = _this$props4.xBand,
220
+ bandWidth = _this$props4.bandWidth,
221
+ barWidth = _this$props4.barWidth,
222
+ rotate = _this$props4.rotate,
223
+ top = _this$props4.top,
224
+ graphProps = _this$props4.graphProps,
225
+ defineChart = _this$props4.defineChart,
226
+ chartingOptions = _this$props4.chartingOptions,
227
+ x = _this$props4.x,
228
+ y = _this$props4.y,
229
+ formattedValue = _this$props4.formattedValue,
230
+ changeInteractiveEnabled = _this$props4.changeInteractiveEnabled,
231
+ changeEditableEnabled = _this$props4.changeEditableEnabled,
232
+ error = _this$props4.error,
233
+ autoFocus = _this$props4.autoFocus,
234
+ hiddenLabelRef = _this$props4.hiddenLabelRef,
235
+ showCorrectness = _this$props4.showCorrectness;
236
+ if (!formattedValue) {
237
+ return null;
238
+ }
239
+
240
+ // Create classes object for TickCorrectnessIndicator compatibility
241
+ var classes = {
242
+ correctnessIcon: correctnessIconStyles,
243
+ incorrectIcon: incorrectIconStyles,
244
+ correctIcon: correctIconStyles
245
+ };
246
+ var dialog = this.state.dialog;
247
+ var _ref3 = chartingOptions || {},
248
+ changeEditable = _ref3.changeEditable,
249
+ changeInteractive = _ref3.changeInteractive;
250
+ var index = parseInt(formattedValue.split('-')[0], 10);
251
+ var category = categories[index];
252
+ var _ref4 = category || {},
253
+ editable = _ref4.editable,
254
+ interactive = _ref4.interactive,
255
+ label = _ref4.label,
256
+ correctness = _ref4.correctness;
257
+ var barX = xBand((0, _utils.bandKey)({
258
+ label: label
259
+ }, index));
260
+ var longestCategory = (categories || []).reduce(function (a, b) {
261
+ var lengthA = a && a.label ? a.label.length : 0;
262
+ var lengthB = b && b.label ? b.label.length : 0;
263
+ return lengthA > lengthB ? a : b;
264
+ }, {
265
+ label: ''
266
+ });
267
+ var distinctMessages = error ? (0, _toConsumableArray2["default"])(new Set(Object.values(error))).join(' ') : '';
268
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("foreignObject", {
269
+ x: bandWidth ? barX : x - barWidth / 2,
270
+ y: 18,
271
+ width: barWidth,
272
+ height: 4,
273
+ style: {
274
+ pointerEvents: 'none',
275
+ overflow: 'visible'
276
+ }
277
+ }, index === 0 && /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
278
+ isHiddenLabel: true,
279
+ inputRef: hiddenLabelRef,
280
+ disabled: true,
281
+ mark: longestCategory,
282
+ graphProps: graphProps,
283
+ barWidth: barWidth
284
+ }), /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
285
+ autoFocus: defineChart && autoFocus,
286
+ inputRef: function inputRef(r) {
287
+ return _this2.input = r;
288
+ },
289
+ disabled: !defineChart && !editable,
290
+ mark: category,
291
+ graphProps: graphProps,
292
+ onChange: function onChange(newLabel) {
293
+ return _this2.changeCategory(index, newLabel);
294
+ },
295
+ barWidth: barWidth,
296
+ rotate: rotate,
297
+ correctness: correctness,
298
+ error: error && error[index],
299
+ limitCharacters: true,
300
+ correctnessIndicator: showCorrectness && correctness && /*#__PURE__*/_react["default"].createElement(_correctnessIndicators.TickCorrectnessIndicator, {
301
+ correctness: correctness,
302
+ interactive: interactive,
303
+ classes: classes
304
+ })
305
+ })), error && index === 0 && /*#__PURE__*/_react["default"].createElement(StyledErrorText, {
306
+ y: y + 23,
307
+ height: 6,
308
+ textAnchor: "start"
309
+ }, distinctMessages), defineChart && index === 0 && /*#__PURE__*/_react["default"].createElement("svg", {
310
+ x: -55,
311
+ style: {
312
+ overflow: 'visible'
313
+ }
314
+ }, changeInteractiveEnabled && /*#__PURE__*/_react["default"].createElement("text", {
315
+ y: y + 90 + top,
316
+ width: barWidth,
317
+ height: 4,
318
+ style: {
319
+ position: 'absolute',
320
+ pointerEvents: 'none',
321
+ wordBreak: 'break-word',
322
+ maxWidth: barWidth,
323
+ display: 'inline-block'
324
+ }
325
+ }, this.splitText(changeInteractive === null || changeInteractive === void 0 ? void 0 : changeInteractive.authoringLabel, 20).map(function (word, index) {
326
+ return /*#__PURE__*/_react["default"].createElement("tspan", {
327
+ key: index,
328
+ x: "0",
329
+ dy: "".concat(index > 0 ? '1.2em' : '.6em')
330
+ }, word);
331
+ })), changeEditableEnabled && /*#__PURE__*/_react["default"].createElement("text", {
332
+ y: y + 145 + top,
333
+ width: barWidth,
334
+ height: 4,
335
+ style: {
336
+ position: 'absolute',
337
+ pointerEvents: 'none',
338
+ wordBreak: 'break-word',
339
+ maxWidth: barWidth,
340
+ display: 'inline-block'
341
+ }
342
+ }, this.splitText(changeEditable === null || changeEditable === void 0 ? void 0 : changeEditable.authoringLabel, 20).map(function (word, index) {
343
+ return /*#__PURE__*/_react["default"].createElement("tspan", {
344
+ key: index,
345
+ x: "0",
346
+ dy: "".concat(index > 0 ? '1.2em' : '.6em')
347
+ }, word);
348
+ }))), defineChart && changeInteractiveEnabled && /*#__PURE__*/_react["default"].createElement("foreignObject", {
349
+ x: x - 24,
350
+ y: y + 80 + top,
351
+ width: barWidth,
352
+ height: 4,
353
+ style: {
354
+ pointerEvents: 'visible',
355
+ overflow: 'visible'
356
+ }
357
+ }, /*#__PURE__*/_react["default"].createElement(StyledCheckbox, {
358
+ style: {
359
+ position: 'fixed'
360
+ },
361
+ checked: interactive,
362
+ onChange: function onChange(e) {
363
+ return _this2.changeInteractive(index, e.target.checked);
364
+ }
365
+ })), defineChart && changeEditableEnabled && /*#__PURE__*/_react["default"].createElement("foreignObject", {
366
+ x: x - 24,
367
+ y: y + 130 + top,
368
+ width: barWidth,
369
+ height: 4,
370
+ style: {
371
+ pointerEvents: 'visible',
372
+ overflow: 'visible'
373
+ }
374
+ }, /*#__PURE__*/_react["default"].createElement(StyledCheckbox, {
375
+ style: {
376
+ position: 'fixed'
377
+ },
378
+ checked: editable,
379
+ onChange: function onChange(e) {
380
+ return _this2.changeEditable(index, e.target.checked);
381
+ }
382
+ })), /*#__PURE__*/_react["default"].createElement("foreignObject", {
383
+ x: x - 24,
384
+ y: y + 100 + top,
385
+ width: barWidth,
386
+ height: 4,
387
+ style: {
388
+ pointerEvents: 'visible',
389
+ overflow: 'visible'
390
+ }
391
+ }, /*#__PURE__*/_react["default"].createElement(_configUi.AlertDialog, {
392
+ open: dialog.open,
393
+ title: dialog.title,
394
+ text: dialog.text,
395
+ onClose: dialog.onClose,
396
+ onConfirm: dialog.onConfirm
397
+ })));
398
+ }
399
+ }]);
400
+ }(_react["default"].Component);
401
+ (0, _defineProperty2["default"])(TickComponent, "propTypes", {
402
+ defineChart: _propTypes["default"].bool,
403
+ error: _propTypes["default"].any
404
+ });
405
+ TickComponent.propTypes = {
406
+ categories: _propTypes["default"].array,
407
+ xBand: _propTypes["default"].func,
408
+ bandWidth: _propTypes["default"].number,
409
+ barWidth: _propTypes["default"].number,
410
+ rotate: _propTypes["default"].number,
411
+ top: _propTypes["default"].number,
412
+ x: _propTypes["default"].number,
413
+ y: _propTypes["default"].number,
414
+ graphProps: _propTypes["default"].object,
415
+ formattedValue: _propTypes["default"].string,
416
+ onChangeCategory: _propTypes["default"].func,
417
+ onChange: _propTypes["default"].func,
418
+ error: _propTypes["default"].object,
419
+ defineChart: _propTypes["default"].bool,
420
+ chartingOptions: _propTypes["default"].object,
421
+ changeInteractiveEnabled: _propTypes["default"].bool,
422
+ changeEditableEnabled: _propTypes["default"].bool,
423
+ autoFocus: _propTypes["default"].bool,
424
+ onAutoFocusUsed: _propTypes["default"].func,
425
+ showCorrectness: _propTypes["default"].bool,
426
+ hiddenLabelRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].shape({
427
+ current: _propTypes["default"].instanceOf(Element)
428
+ })])
429
+ };
430
+ var RawChartAxes = exports.RawChartAxes = /*#__PURE__*/function (_React$Component2) {
431
+ function RawChartAxes() {
432
+ var _this3;
433
+ (0, _classCallCheck2["default"])(this, RawChartAxes);
434
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
435
+ args[_key] = arguments[_key];
436
+ }
437
+ _this3 = _callSuper(this, RawChartAxes, [].concat(args));
438
+ (0, _defineProperty2["default"])(_this3, "state", {
439
+ height: 0,
440
+ width: 0
441
+ });
442
+ (0, _defineProperty2["default"])(_this3, "measureHiddenLabel", function () {
443
+ if (!_this3.hiddenLabelRef) return;
444
+ var mjx = _this3.hiddenLabelRef.querySelector('mjx-container');
445
+ var input = _this3.hiddenLabelRef.querySelector('input');
446
+ var target = mjx || input || _this3.hiddenLabelRef;
447
+ var rect = target.getBoundingClientRect();
448
+ var height = Math.floor(rect.height);
449
+ var width = Math.floor(rect.width);
450
+ if (height !== _this3.state.height || width !== _this3.state.width) {
451
+ _this3.setState({
452
+ height: height,
453
+ width: width
454
+ });
455
+ }
456
+ });
457
+ // called by the document-level observer on every DOM mutation.
458
+ // only re-measures once mjx-container is present in our hidden label.
459
+ (0, _defineProperty2["default"])(_this3, "_onDocMutation", function () {
460
+ if (!_this3.hiddenLabelRef) return;
461
+ if (_this3.hiddenLabelRef.querySelector('mjx-container')) {
462
+ _this3.measureHiddenLabel();
463
+ }
464
+ });
465
+ (0, _defineProperty2["default"])(_this3, "observeHiddenLabel", function (el) {
466
+ if (!el) return;
467
+ var containsLatex = el.querySelector('[data-latex], [data-raw]');
468
+ if (containsLatex) {
469
+ (0, _mathRendering.renderMath)(el);
470
+ }
471
+ if (el.querySelector('mjx-container') || !containsLatex) {
472
+ _this3.measureHiddenLabel();
473
+ }
474
+ // always register: if mjx-container isn't there yet, the doc observer will
475
+ // call _onDocMutation when MathJax finishes rendering any element on the page.
476
+ registerMathCallback(_this3._onDocMutation);
477
+ });
478
+ (0, _defineProperty2["default"])(_this3, "setHiddenLabelRef", function (ref) {
479
+ if (ref && ref !== _this3.hiddenLabelRef) {
480
+ _this3.hiddenLabelRef = ref;
481
+ _this3.observeHiddenLabel(ref);
482
+ }
483
+ });
484
+ return _this3;
485
+ }
486
+ (0, _inherits2["default"])(RawChartAxes, _React$Component2);
487
+ return (0, _createClass2["default"])(RawChartAxes, [{
488
+ key: "componentDidMount",
489
+ value: function componentDidMount() {
490
+ if (this.hiddenLabelRef) {
491
+ this.observeHiddenLabel(this.hiddenLabelRef);
492
+ }
493
+ }
494
+ }, {
495
+ key: "componentWillUnmount",
496
+ value: function componentWillUnmount() {
497
+ unregisterMathCallback(this._onDocMutation);
498
+ if (this._updateTimer) {
499
+ clearTimeout(this._updateTimer);
500
+ }
501
+ }
502
+ }, {
503
+ key: "componentDidUpdate",
504
+ value: function componentDidUpdate(prevProps) {
505
+ var _this4 = this;
506
+ if (prevProps.categories !== this.props.categories) {
507
+ if (this._updateTimer) clearTimeout(this._updateTimer);
508
+ this._updateTimer = setTimeout(function () {
509
+ return _this4.measureHiddenLabel();
510
+ }, 50);
511
+ }
512
+ }
513
+ }, {
514
+ key: "render",
515
+ value: function render() {
516
+ var _this5 = this;
517
+ var _this$props5 = this.props,
518
+ graphProps = _this$props5.graphProps,
519
+ xBand = _this$props5.xBand,
520
+ leftAxis = _this$props5.leftAxis,
521
+ onChange = _this$props5.onChange,
522
+ onChangeCategory = _this$props5.onChangeCategory,
523
+ _this$props5$categori = _this$props5.categories,
524
+ categories = _this$props5$categori === void 0 ? [] : _this$props5$categori,
525
+ top = _this$props5.top,
526
+ defineChart = _this$props5.defineChart,
527
+ chartingOptions = _this$props5.chartingOptions,
528
+ changeInteractiveEnabled = _this$props5.changeInteractiveEnabled,
529
+ changeEditableEnabled = _this$props5.changeEditableEnabled,
530
+ theme = _this$props5.theme,
531
+ autoFocus = _this$props5.autoFocus,
532
+ onAutoFocusUsed = _this$props5.onAutoFocusUsed,
533
+ error = _this$props5.error,
534
+ showCorrectness = _this$props5.showCorrectness;
535
+ var _ref5 = graphProps || {},
536
+ _ref5$scale = _ref5.scale,
537
+ scale = _ref5$scale === void 0 ? {} : _ref5$scale,
538
+ _ref5$range = _ref5.range,
539
+ range = _ref5$range === void 0 ? {} : _ref5$range,
540
+ _ref5$domain = _ref5.domain,
541
+ domain = _ref5$domain === void 0 ? {} : _ref5$domain,
542
+ _ref5$size = _ref5.size,
543
+ size = _ref5$size === void 0 ? {} : _ref5$size;
544
+ var _this$state = this.state,
545
+ height = _this$state.height,
546
+ width = _this$state.width;
547
+ var bottomScale = xBand && typeof xBand.rangeRound === 'function' && xBand.rangeRound([0, size.width]);
548
+ var bandWidth = xBand && typeof xBand.bandwidth === 'function' && xBand.bandwidth();
549
+ // for chartType "line", bandWidth will be 0, so we have to calculate it
550
+ var barWidth = bandWidth || scale.x && scale.x(domain.max) / categories.length;
551
+ var rowTickValues = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, range), {}, {
552
+ step: range.labelStep
553
+ }));
554
+ var fontSize = theme && theme.typography ? theme.typography.fontSize : 14;
555
+ // this mostly applies for labels that are not editable
556
+ var rotateBecauseOfHeight = (0, _utils.getRotateAngle)(fontSize, height);
557
+ // this applies for labels that are editable
558
+ var rotateBecauseOfWidth = width > barWidth ? 25 : 0;
559
+ var getTickLabelProps = function getTickLabelProps(value) {
560
+ return {
561
+ dy: 4,
562
+ dx: -10 - (value.toLocaleString().length || 1) * 5
563
+ };
564
+ };
565
+ var getTickComponent = function getTickComponent(props) {
566
+ var properties = {
567
+ hiddenLabelRef: _this5.setHiddenLabelRef,
568
+ categories: categories,
569
+ xBand: xBand,
570
+ bandWidth: bandWidth,
571
+ barWidth: barWidth,
572
+ rotate: rotateBecauseOfHeight || rotateBecauseOfWidth,
573
+ top: top,
574
+ defineChart: defineChart,
575
+ chartingOptions: chartingOptions,
576
+ autoFocus: autoFocus,
577
+ onAutoFocusUsed: onAutoFocusUsed,
578
+ error: error,
579
+ onChangeCategory: onChangeCategory,
580
+ changeInteractiveEnabled: changeInteractiveEnabled,
581
+ changeEditableEnabled: changeEditableEnabled,
582
+ onChange: onChange,
583
+ graphProps: graphProps,
584
+ x: props.x,
585
+ y: props.y,
586
+ formattedValue: props.formattedValue,
587
+ showCorrectness: showCorrectness
588
+ };
589
+ return /*#__PURE__*/_react["default"].createElement(TickComponent, properties);
590
+ };
591
+ return /*#__PURE__*/_react["default"].createElement(StyledAxesGroup, null, leftAxis && /*#__PURE__*/_react["default"].createElement(_axis.AxisLeft, {
592
+ scale: scale.y,
593
+ tickLength: 10,
594
+ tickFormat: function tickFormat(value) {
595
+ return value;
596
+ },
597
+ tickValues: rowTickValues,
598
+ tickLabelProps: getTickLabelProps
599
+ }), /*#__PURE__*/_react["default"].createElement(_axis.AxisBottom, {
600
+ scale: bottomScale,
601
+ labelProps: {
602
+ y: 60 + top
603
+ },
604
+ top: scale.y && scale.y(range.min),
605
+ textLabelProps: function textLabelProps() {
606
+ return {
607
+ textAnchor: 'middle'
608
+ };
609
+ },
610
+ tickFormat: function tickFormat(count) {
611
+ return count;
612
+ },
613
+ tickComponent: getTickComponent,
614
+ autoFocus: autoFocus,
615
+ onAutoFocusUsed: onAutoFocusUsed
616
+ }));
617
+ }
618
+ }]);
619
+ }(_react["default"].Component);
620
+ (0, _defineProperty2["default"])(RawChartAxes, "propTypes", {
621
+ bottomScale: _propTypes["default"].func,
622
+ categories: _propTypes["default"].array,
623
+ defineChart: _propTypes["default"].bool,
624
+ error: _propTypes["default"].any,
625
+ graphProps: _plot.types.GraphPropsType.isRequired,
626
+ xBand: _propTypes["default"].func,
627
+ leftAxis: _propTypes["default"].bool,
628
+ onChange: _propTypes["default"].func,
629
+ onChangeCategory: _propTypes["default"].func,
630
+ top: _propTypes["default"].number,
631
+ theme: _propTypes["default"].object,
632
+ chartingOptions: _propTypes["default"].object,
633
+ changeInteractiveEnabled: _propTypes["default"].bool,
634
+ changeEditableEnabled: _propTypes["default"].bool,
635
+ autoFocus: _propTypes["default"].bool,
636
+ onAutoFocusUsed: _propTypes["default"].func,
637
+ showCorrectness: _propTypes["default"].bool,
638
+ hiddenLabelRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].shape({
639
+ current: _propTypes["default"].instanceOf(Element)
640
+ })])
641
+ });
642
+ var _default = exports["default"] = RawChartAxes;
643
+ //# sourceMappingURL=axes.js.map