@pie-lib/charting 7.0.4-next.30 → 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.18.1/node_modules/lodash/_Hash.js +0 -21
  219. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_ListCache.js +0 -21
  220. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Map.js +0 -10
  221. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_MapCache.js +0 -21
  222. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Symbol.js +0 -9
  223. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_assocIndexOf.js +0 -14
  224. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseGetTag.js +0 -15
  225. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseIsNative.js +0 -16
  226. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_coreJsData.js +0 -9
  227. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_freeGlobal.js +0 -8
  228. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getMapData.js +0 -14
  229. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getNative.js +0 -15
  230. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getRawTag.js +0 -19
  231. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getValue.js +0 -11
  232. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashClear.js +0 -13
  233. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashDelete.js +0 -12
  234. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashGet.js +0 -18
  235. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashHas.js +0 -14
  236. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashSet.js +0 -14
  237. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isKeyable.js +0 -12
  238. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isMasked.js +0 -16
  239. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheClear.js +0 -11
  240. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheDelete.js +0 -14
  241. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheGet.js +0 -14
  242. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheHas.js +0 -13
  243. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheSet.js +0 -14
  244. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheClear.js +0 -19
  245. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheDelete.js +0 -14
  246. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheGet.js +0 -13
  247. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheHas.js +0 -13
  248. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheSet.js +0 -14
  249. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_nativeCreate.js +0 -9
  250. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_objectToString.js +0 -12
  251. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_root.js +0 -10
  252. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_toSource.js +0 -20
  253. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/eq.js +0 -11
  254. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isFunction.js +0 -16
  255. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isObject.js +0 -12
  256. package/dist/node_modules/.bun/lodash@4.18.1/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 @@
1
+ {"version":3,"file":"line-cross.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_shape","_group","_styles","_renderUi","_utils","_plot","_line","_correctnessIndicators","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledLinePath","styled","LinePath","_color$disabled","stroke","color","defaults","TEXT","transition","disabled","StyledGroup","Group","_ref","_color$disabled2","correctness","interactive","fill","concat","BLACK","StyledTransparentHandle","height","DraggableComponent","props","className","scale","x","y","correctData","label","rest","_objectWithoutProperties2","_useState","useState","_useState2","_slicedToArray2","hover","setHover","squareSize","squareHalf","cx","cy","createElement","data","key","d","strokeWidth","style","pointerEvents","width","BORDER_GRAY","_extends2","onMouseEnter","onMouseLeave","CorrectnessIndicator","SmallCorrectPointIndicator","propTypes","PropTypes","object","number","string","shape","value","bool","array","LineCross","exports","_React$Component","_classCallCheck2","_inherits2","_createClass2","render","graphProps","_ref2","_ref2$scale","_ref2$size","size","xBand","dataToXBand","CustomDraggableComponent","React","Component","onChange","func","types","GraphPropsType","isRequired","_default","type","name"],"sources":["../../src/line/line-cross.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { LinePath } from '@visx/shape';\nimport { Group } from '@visx/group';\nimport { styled } from '@mui/material/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport { dataToXBand } from '../utils';\nimport { types } from '@pie-lib/plot';\nimport RawLine from './common/line';\nimport { CorrectnessIndicator, SmallCorrectPointIndicator } from '../common/correctness-indicators';\n\nconst StyledLinePath = styled(LinePath)(() => ({\n stroke: color.defaults.TEXT,\n transition: 'fill 200ms linear, height 200ms linear',\n '&.non-interactive': {\n stroke: color.disabled?.() || '#ccc',\n },\n}));\n\nconst StyledGroup = styled(Group)(({ correctness, interactive }) => ({\n stroke: color.defaults.TEXT,\n transition: 'fill 200ms linear, height 200ms linear',\n ...(correctness &&\n !interactive && {\n fill: `${color.defaults.BLACK} !important`,\n stroke: `${color.defaults.BLACK} !important`,\n }),\n '&.non-interactive': {\n stroke: color.disabled?.() || '#ccc',\n },\n}));\n\nconst StyledTransparentHandle = styled('circle')(() => ({\n height: '20px',\n fill: 'transparent',\n stroke: 'transparent',\n}));\n\nconst DraggableComponent = (props) => {\n const { className, scale, x, y, r, correctness, interactive, correctData, label, ...rest } = props;\n const [hover, setHover] = useState(false);\n\n const squareSize = r * 4;\n const squareHalf = squareSize / 2;\n const cx = scale.x(x);\n const cy = scale.y(y);\n\n return (\n <StyledGroup className={className} correctness={correctness} interactive={interactive}>\n <StyledLinePath\n data={[\n { x: scale.x(x) - r, y: scale.y(y) + r },\n { x: scale.x(x) + r, y: scale.y(y) - r },\n ]}\n key={`point-${x}-${y}-1`}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={5}\n style={{ pointerEvents: 'none' }}\n />\n <StyledLinePath\n data={[\n { x: scale.x(x) - r, y: scale.y(y) - r },\n { x: scale.x(x) + r, y: scale.y(y) + r },\n ]}\n key={`point-${x}-${y}-2`}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={5}\n style={{ pointerEvents: 'none' }}\n />\n {hover && (\n <rect\n x={cx - squareHalf}\n y={cy - squareHalf}\n width={squareSize}\n height={squareSize}\n stroke={color.defaults.BORDER_GRAY}\n fill=\"none\"\n strokeWidth={2}\n pointerEvents=\"none\"\n />\n )}\n <StyledTransparentHandle\n cx={cx}\n cy={cy}\n r={r * 2}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n {...rest}\n />\n {/* show correctness indicators */}\n <CorrectnessIndicator scale={scale} x={x} y={y} r={r} correctness={correctness} interactive={interactive} />\n {/* show correct point if answer was incorrect */}\n <SmallCorrectPointIndicator\n scale={scale}\n x={x}\n r={r}\n correctness={correctness}\n correctData={correctData}\n label={label}\n />\n </StyledGroup>\n );\n};\n\nDraggableComponent.propTypes = {\n scale: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number,\n r: PropTypes.number,\n className: PropTypes.string,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n interactive: PropTypes.bool,\n correctData: PropTypes.array,\n label: PropTypes.string,\n};\n\nexport class LineCross 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, 'lineCross');\n\n return <RawLine {...props} xBand={xBand} CustomDraggableComponent={DraggableComponent} />;\n }\n}\n\nexport default () => ({\n type: 'lineCross',\n Component: LineCross,\n name: 'Line Cross',\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,158 @@
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.LineDot = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _styles = require("@mui/material/styles");
20
+ var _plot = require("@pie-lib/plot");
21
+ var _renderUi = require("@pie-lib/render-ui");
22
+ var _utils = require("../utils");
23
+ var _line = _interopRequireDefault(require("./common/line"));
24
+ var _correctnessIndicators = require("../common/correctness-indicators");
25
+ var _excluded = ["scale", "x", "y", "r", "correctness", "interactive", "correctData", "label"];
26
+ 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)); }
27
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
28
+ var StyledHandle = (0, _styles.styled)('circle')(function () {
29
+ return {};
30
+ });
31
+ var StyledTransparentHandle = (0, _styles.styled)('circle')(function () {
32
+ return {
33
+ height: '20px',
34
+ fill: 'transparent',
35
+ // keep it invisible
36
+ stroke: 'none',
37
+ pointerEvents: 'auto' // allow drag events
38
+ };
39
+ });
40
+ var DraggableComponent = function DraggableComponent(_ref) {
41
+ var scale = _ref.scale,
42
+ x = _ref.x,
43
+ y = _ref.y,
44
+ r = _ref.r,
45
+ correctness = _ref.correctness,
46
+ interactive = _ref.interactive,
47
+ correctData = _ref.correctData,
48
+ label = _ref.label,
49
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
50
+ var _React$useState = _react["default"].useState(false),
51
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
52
+ isHovered = _React$useState2[0],
53
+ setIsHovered = _React$useState2[1];
54
+ var allowRolloverEvent = !correctness && interactive;
55
+ return /*#__PURE__*/_react["default"].createElement("g", {
56
+ onMouseEnter: function onMouseEnter() {
57
+ return setIsHovered(true);
58
+ },
59
+ onMouseLeave: function onMouseLeave() {
60
+ return setIsHovered(false);
61
+ },
62
+ onTouchStart: function onTouchStart() {
63
+ return setIsHovered(true);
64
+ },
65
+ onTouchEnd: function onTouchEnd() {
66
+ return setIsHovered(false);
67
+ }
68
+ }, /*#__PURE__*/_react["default"].createElement(StyledTransparentHandle, (0, _extends2["default"])({
69
+ cx: scale.x(x),
70
+ cy: scale.y(y),
71
+ r: r * 3,
72
+ onMouseEnter: function onMouseEnter() {
73
+ return setIsHovered(true);
74
+ },
75
+ onMouseLeave: function onMouseLeave() {
76
+ return setIsHovered(false);
77
+ }
78
+ }, rest)), /*#__PURE__*/_react["default"].createElement(StyledHandle, (0, _extends2["default"])({
79
+ cx: scale.x(x),
80
+ cy: scale.y(y),
81
+ r: r,
82
+ correctness: correctness,
83
+ interactive: interactive
84
+ }, rest)), /*#__PURE__*/_react["default"].createElement(_correctnessIndicators.CorrectnessIndicator, {
85
+ scale: scale,
86
+ x: x,
87
+ y: y,
88
+ r: r,
89
+ correctness: correctness,
90
+ interactive: interactive
91
+ }), /*#__PURE__*/_react["default"].createElement(_correctnessIndicators.SmallCorrectPointIndicator, {
92
+ scale: scale,
93
+ x: x,
94
+ r: r,
95
+ correctness: correctness,
96
+ correctData: correctData,
97
+ label: label
98
+ }), isHovered && allowRolloverEvent && /*#__PURE__*/_react["default"].createElement("rect", {
99
+ x: scale.x(x) - r * 2,
100
+ y: scale.y(y) - r * 2,
101
+ width: r * 4,
102
+ height: r * 4,
103
+ stroke: _renderUi.color.defaults.BORDER_GRAY,
104
+ strokeWidth: "1",
105
+ fill: "none"
106
+ }));
107
+ };
108
+ DraggableComponent.propTypes = {
109
+ scale: _propTypes["default"].object,
110
+ x: _propTypes["default"].number,
111
+ y: _propTypes["default"].number,
112
+ r: _propTypes["default"].number,
113
+ correctness: _propTypes["default"].shape({
114
+ value: _propTypes["default"].string,
115
+ label: _propTypes["default"].string
116
+ }),
117
+ interactive: _propTypes["default"].bool,
118
+ correctData: _propTypes["default"].array,
119
+ label: _propTypes["default"].string
120
+ };
121
+ var LineDot = exports.LineDot = /*#__PURE__*/function (_React$Component) {
122
+ function LineDot() {
123
+ (0, _classCallCheck2["default"])(this, LineDot);
124
+ return _callSuper(this, LineDot, arguments);
125
+ }
126
+ (0, _inherits2["default"])(LineDot, _React$Component);
127
+ return (0, _createClass2["default"])(LineDot, [{
128
+ key: "render",
129
+ value: function render() {
130
+ var props = this.props;
131
+ var data = props.data,
132
+ graphProps = props.graphProps;
133
+ var _ref2 = graphProps || {},
134
+ _ref2$scale = _ref2.scale,
135
+ scale = _ref2$scale === void 0 ? {} : _ref2$scale,
136
+ _ref2$size = _ref2.size,
137
+ size = _ref2$size === void 0 ? {} : _ref2$size;
138
+ var xBand = (0, _utils.dataToXBand)(scale.x, data, size.width, 'lineDot');
139
+ return /*#__PURE__*/_react["default"].createElement(_line["default"], (0, _extends2["default"])({}, props, {
140
+ xBand: xBand,
141
+ CustomDraggableComponent: DraggableComponent
142
+ }));
143
+ }
144
+ }]);
145
+ }(_react["default"].Component);
146
+ (0, _defineProperty2["default"])(LineDot, "propTypes", {
147
+ data: _propTypes["default"].array,
148
+ onChange: _propTypes["default"].func,
149
+ graphProps: _plot.types.GraphPropsType.isRequired
150
+ });
151
+ var _default = exports["default"] = function _default() {
152
+ return {
153
+ type: 'lineDot',
154
+ Component: LineDot,
155
+ name: 'Line Dot'
156
+ };
157
+ };
158
+ //# sourceMappingURL=line-dot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-dot.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_renderUi","_utils","_line","_correctnessIndicators","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","StyledHandle","styled","StyledTransparentHandle","height","fill","stroke","pointerEvents","DraggableComponent","_ref","scale","x","y","r","correctness","interactive","correctData","label","rest","_objectWithoutProperties2","_React$useState","React","useState","_React$useState2","_slicedToArray2","isHovered","setIsHovered","allowRolloverEvent","createElement","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","_extends2","cx","cy","CorrectnessIndicator","SmallCorrectPointIndicator","width","color","defaults","BORDER_GRAY","strokeWidth","propTypes","PropTypes","object","number","shape","value","string","bool","array","LineDot","exports","_React$Component","_classCallCheck2","arguments","_inherits2","_createClass2","key","render","props","data","graphProps","_ref2","_ref2$scale","_ref2$size","size","xBand","dataToXBand","CustomDraggableComponent","Component","_defineProperty2","onChange","func","types","GraphPropsType","isRequired","_default","type","name"],"sources":["../../src/line/line-dot.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { dataToXBand } from '../utils';\nimport RawLine from './common/line';\nimport { CorrectnessIndicator, SmallCorrectPointIndicator } from '../common/correctness-indicators';\n\nconst StyledHandle = styled('circle')(() => ({}));\n\nconst StyledTransparentHandle = styled('circle')(() => ({\n height: '20px',\n fill: 'transparent', // keep it invisible\n stroke: 'none',\n pointerEvents: 'auto', // allow drag events\n}));\n\nconst DraggableComponent = ({ scale, x, y, r, correctness, interactive, correctData, label, ...rest }) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const allowRolloverEvent = !correctness && interactive;\n\n return (\n <g\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n onTouchStart={() => setIsHovered(true)}\n onTouchEnd={() => setIsHovered(false)}\n >\n <StyledTransparentHandle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r * 3}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n {...rest}\n />\n <StyledHandle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r}\n correctness={correctness}\n interactive={interactive}\n {...rest}\n />\n {/* show correctness indicators */}\n <CorrectnessIndicator scale={scale} x={x} y={y} r={r} correctness={correctness} interactive={interactive} />\n\n {/* show correct point if answer was incorrect */}\n <SmallCorrectPointIndicator\n scale={scale}\n x={x}\n r={r}\n correctness={correctness}\n correctData={correctData}\n label={label}\n />\n\n {/* show rollover rectangle */}\n {isHovered && allowRolloverEvent && (\n <rect\n x={scale.x(x) - r * 2}\n y={scale.y(y) - r * 2}\n width={r * 4}\n height={r * 4}\n stroke={color.defaults.BORDER_GRAY}\n strokeWidth=\"1\"\n fill=\"none\"\n />\n )}\n </g>\n );\n};\n\nDraggableComponent.propTypes = {\n scale: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number,\n r: PropTypes.number,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n interactive: PropTypes.bool,\n correctData: PropTypes.array,\n label: PropTypes.string,\n};\n\nexport class LineDot 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, 'lineDot');\n\n return <RawLine {...props} xBand={xBand} CustomDraggableComponent={DraggableComponent} />;\n }\n}\n\nexport default () => ({\n type: 'lineDot',\n Component: LineDot,\n name: 'Line Dot',\n});\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA;AAAoG,IAAAQ,SAAA;AAAA,SAAAC,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;AAEpG,IAAMc,YAAY,GAAG,IAAAC,cAAM,EAAC,QAAQ,CAAC,CAAC;EAAA,OAAO,CAAC,CAAC;AAAA,CAAC,CAAC;AAEjD,IAAMC,uBAAuB,GAAG,IAAAD,cAAM,EAAC,QAAQ,CAAC,CAAC;EAAA,OAAO;IACtDE,MAAM,EAAE,MAAM;IACdC,IAAI,EAAE,aAAa;IAAE;IACrBC,MAAM,EAAE,MAAM;IACdC,aAAa,EAAE,MAAM,CAAE;EACzB,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAkF;EAAA,IAA5EC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,CAAC,GAAAF,IAAA,CAADE,CAAC;IAAEC,CAAC,GAAAH,IAAA,CAADG,CAAC;IAAEC,CAAC,GAAAJ,IAAA,CAADI,CAAC;IAAEC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IAAEC,WAAW,GAAAN,IAAA,CAAXM,WAAW;IAAEC,WAAW,GAAAP,IAAA,CAAXO,WAAW;IAAEC,KAAK,GAAAR,IAAA,CAALQ,KAAK;IAAKC,IAAI,OAAAC,yBAAA,aAAAV,IAAA,EAAAxB,SAAA;EACjG,IAAAmC,eAAA,GAAkCC,iBAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,OAAAC,eAAA,aAAAJ,eAAA;IAAhDK,SAAS,GAAAF,gBAAA;IAAEG,YAAY,GAAAH,gBAAA;EAC9B,IAAMI,kBAAkB,GAAG,CAACb,WAAW,IAAIC,WAAW;EAEtD,oBACExC,MAAA,YAAAqD,aAAA;IACEC,YAAY,EAAE,SAAdA,YAAYA,CAAA;MAAA,OAAQH,YAAY,CAAC,IAAI,CAAC;IAAA,CAAC;IACvCI,YAAY,EAAE,SAAdA,YAAYA,CAAA;MAAA,OAAQJ,YAAY,CAAC,KAAK,CAAC;IAAA,CAAC;IACxCK,YAAY,EAAE,SAAdA,YAAYA,CAAA;MAAA,OAAQL,YAAY,CAAC,IAAI,CAAC;IAAA,CAAC;IACvCM,UAAU,EAAE,SAAZA,UAAUA,CAAA;MAAA,OAAQN,YAAY,CAAC,KAAK,CAAC;IAAA;EAAC,gBAEtCnD,MAAA,YAAAqD,aAAA,CAACzB,uBAAuB,MAAA8B,SAAA;IACtBC,EAAE,EAAExB,KAAK,CAACC,CAAC,CAACA,CAAC,CAAE;IACfwB,EAAE,EAAEzB,KAAK,CAACE,CAAC,CAACA,CAAC,CAAE;IACfC,CAAC,EAAEA,CAAC,GAAG,CAAE;IACTgB,YAAY,EAAE,SAAdA,YAAYA,CAAA;MAAA,OAAQH,YAAY,CAAC,IAAI,CAAC;IAAA,CAAC;IACvCI,YAAY,EAAE,SAAdA,YAAYA,CAAA;MAAA,OAAQJ,YAAY,CAAC,KAAK,CAAC;IAAA;EAAC,GACpCR,IAAI,CACT,CAAC,eACF3C,MAAA,YAAAqD,aAAA,CAAC3B,YAAY,MAAAgC,SAAA;IACXC,EAAE,EAAExB,KAAK,CAACC,CAAC,CAACA,CAAC,CAAE;IACfwB,EAAE,EAAEzB,KAAK,CAACE,CAAC,CAACA,CAAC,CAAE;IACfC,CAAC,EAAEA,CAAE;IACLC,WAAW,EAAEA,WAAY;IACzBC,WAAW,EAAEA;EAAY,GACrBG,IAAI,CACT,CAAC,eAEF3C,MAAA,YAAAqD,aAAA,CAAC5C,sBAAA,CAAAoD,oBAAoB;IAAC1B,KAAK,EAAEA,KAAM;IAACC,CAAC,EAAEA,CAAE;IAACC,CAAC,EAAEA,CAAE;IAACC,CAAC,EAAEA,CAAE;IAACC,WAAW,EAAEA,WAAY;IAACC,WAAW,EAAEA;EAAY,CAAE,CAAC,eAG5GxC,MAAA,YAAAqD,aAAA,CAAC5C,sBAAA,CAAAqD,0BAA0B;IACzB3B,KAAK,EAAEA,KAAM;IACbC,CAAC,EAAEA,CAAE;IACLE,CAAC,EAAEA,CAAE;IACLC,WAAW,EAAEA,WAAY;IACzBE,WAAW,EAAEA,WAAY;IACzBC,KAAK,EAAEA;EAAM,CACd,CAAC,EAGDQ,SAAS,IAAIE,kBAAkB,iBAC9BpD,MAAA,YAAAqD,aAAA;IACEjB,CAAC,EAAED,KAAK,CAACC,CAAC,CAACA,CAAC,CAAC,GAAGE,CAAC,GAAG,CAAE;IACtBD,CAAC,EAAEF,KAAK,CAACE,CAAC,CAACA,CAAC,CAAC,GAAGC,CAAC,GAAG,CAAE;IACtByB,KAAK,EAAEzB,CAAC,GAAG,CAAE;IACbT,MAAM,EAAES,CAAC,GAAG,CAAE;IACdP,MAAM,EAAEiC,eAAK,CAACC,QAAQ,CAACC,WAAY;IACnCC,WAAW,EAAC,GAAG;IACfrC,IAAI,EAAC;EAAM,CACZ,CAEF,CAAC;AAER,CAAC;AAEDG,kBAAkB,CAACmC,SAAS,GAAG;EAC7BjC,KAAK,EAAEkC,qBAAS,CAACC,MAAM;EACvBlC,CAAC,EAAEiC,qBAAS,CAACE,MAAM;EACnBlC,CAAC,EAAEgC,qBAAS,CAACE,MAAM;EACnBjC,CAAC,EAAE+B,qBAAS,CAACE,MAAM;EACnBhC,WAAW,EAAE8B,qBAAS,CAACG,KAAK,CAAC;IAC3BC,KAAK,EAAEJ,qBAAS,CAACK,MAAM;IACvBhC,KAAK,EAAE2B,qBAAS,CAACK;EACnB,CAAC,CAAC;EACFlC,WAAW,EAAE6B,qBAAS,CAACM,IAAI;EAC3BlC,WAAW,EAAE4B,qBAAS,CAACO,KAAK;EAC5BlC,KAAK,EAAE2B,qBAAS,CAACK;AACnB,CAAC;AAAC,IAEWG,OAAO,GAAAC,OAAA,CAAAD,OAAA,0BAAAE,gBAAA;EAAA,SAAAF,QAAA;IAAA,IAAAG,gBAAA,mBAAAH,OAAA;IAAA,OAAAlE,UAAA,OAAAkE,OAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,aAAAL,OAAA,EAAAE,gBAAA;EAAA,WAAAI,aAAA,aAAAN,OAAA;IAAAO,GAAA;IAAAX,KAAA,EAOlB,SAAAY,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,KAAA,GAAkCD,UAAU,IAAI,CAAC,CAAC;QAAAE,WAAA,GAAAD,KAAA,CAA1CtD,KAAK;QAALA,KAAK,GAAAuD,WAAA,cAAG,CAAC,CAAC,GAAAA,WAAA;QAAAC,UAAA,GAAAF,KAAA,CAAEG,IAAI;QAAJA,IAAI,GAAAD,UAAA,cAAG,CAAC,CAAC,GAAAA,UAAA;MAC7B,IAAME,KAAK,GAAG,IAAAC,kBAAW,EAAC3D,KAAK,CAACC,CAAC,EAAEmD,IAAI,EAAEK,IAAI,CAAC7B,KAAK,EAAE,SAAS,CAAC;MAE/D,oBAAO/D,MAAA,YAAAqD,aAAA,CAAC7C,KAAA,WAAO,MAAAkD,SAAA,iBAAK4B,KAAK;QAAEO,KAAK,EAAEA,KAAM;QAACE,wBAAwB,EAAE9D;MAAmB,EAAE,CAAC;IAC3F;EAAC;AAAA,EAd0Ba,iBAAK,CAACkD,SAAS;AAAA,IAAAC,gBAAA,aAA/BpB,OAAO,eACC;EACjBU,IAAI,EAAElB,qBAAS,CAACO,KAAK;EACrBsB,QAAQ,EAAE7B,qBAAS,CAAC8B,IAAI;EACxBX,UAAU,EAAEY,WAAK,CAACC,cAAc,CAACC;AACnC,CAAC;AAAA,IAAAC,QAAA,GAAAzB,OAAA,cAYY,SAAAyB,SAAA;EAAA,OAAO;IACpBC,IAAI,EAAE,SAAS;IACfR,SAAS,EAAEnB,OAAO;IAClB4B,IAAI,EAAE;EACR,CAAC;AAAA,CAAC","ignoreList":[]}
@@ -0,0 +1,237 @@
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["default"] = exports.MarkLabel = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _styles = require("@mui/material/styles");
14
+ var _reactInputAutosize = _interopRequireDefault(require("react-input-autosize"));
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _plot = require("@pie-lib/plot");
17
+ var _styles2 = require("./common/styles");
18
+ var _renderUi = require("@pie-lib/render-ui");
19
+ var _mathRendering = require("@pie-lib/math-rendering");
20
+ 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); }
21
+ 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; }
22
+ 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; }
23
+ var StyledContainer = (0, _styles.styled)('div')({
24
+ display: 'flex',
25
+ flexDirection: 'column',
26
+ alignItems: 'center'
27
+ });
28
+
29
+ // eslint-disable-next-line no-unused-vars
30
+ var StyledInput = (0, _styles.styled)('input')(function (_ref2) {
31
+ var theme = _ref2.theme;
32
+ return {
33
+ "float": 'right',
34
+ fontFamily: theme.typography.fontFamily,
35
+ fontSize: theme.typography.fontSize,
36
+ border: 'none',
37
+ '&.correct': (0, _styles2.correct)('color'),
38
+ '&.incorrect': (0, _styles2.incorrect)('color'),
39
+ '&.disabled': {
40
+ backgroundColor: 'transparent !important'
41
+ },
42
+ '&.error': {
43
+ border: "2px solid ".concat(theme.palette.error.main)
44
+ }
45
+ };
46
+ });
47
+ var StyledMathInput = (0, _styles.styled)('div')(function (_ref3) {
48
+ var theme = _ref3.theme;
49
+ return {
50
+ pointerEvents: 'auto',
51
+ textAlign: 'center',
52
+ fontSize: theme.typography.fontSize + 2,
53
+ fontFamily: theme.typography.fontFamily,
54
+ color: _renderUi.color.primaryDark(),
55
+ paddingTop: theme.typography.fontSize / 2,
56
+ '&.disabled': _objectSpread(_objectSpread({}, (0, _styles2.disabled)('color')), {}, {
57
+ backgroundColor: 'transparent !important'
58
+ }),
59
+ '&.error': {
60
+ border: "2px solid ".concat(theme.palette.error.main)
61
+ },
62
+ '&.correct': _objectSpread({}, (0, _styles2.correct)('color')),
63
+ '&.incorrect': _objectSpread({}, (0, _styles2.incorrect)('color'))
64
+ };
65
+ });
66
+ function isFractionFormat(label) {
67
+ var trimmedLabel = (label === null || label === void 0 ? void 0 : label.trim()) || '';
68
+ var fracRegex = new RegExp(/^[1-9]*[0-9]*\s?[1-9][0-9]*\/[1-9][0-9]*$/);
69
+ return fracRegex.test(trimmedLabel);
70
+ }
71
+ function getLabelMathFormat(label) {
72
+ var trimmedLabel = (label === null || label === void 0 ? void 0 : label.trim()) || '';
73
+ var fraction;
74
+ var mixedNr = '';
75
+ var improperFraction = trimmedLabel.split(' ');
76
+ if (improperFraction[1] && improperFraction[1].includes('/')) {
77
+ fraction = improperFraction[1].split('/') || '';
78
+ } else {
79
+ fraction = (trimmedLabel === null || trimmedLabel === void 0 ? void 0 : trimmedLabel.split('/')) || '';
80
+ }
81
+ var formattedLLabel;
82
+ if (isFractionFormat(label)) {
83
+ if (improperFraction[0] && improperFraction[1]) {
84
+ mixedNr = improperFraction[0];
85
+ }
86
+ formattedLLabel = "\\(".concat(mixedNr, "\\frac{").concat(fraction[0], "}{").concat(fraction[1], "}\\)");
87
+ return formattedLLabel;
88
+ }
89
+ return undefined;
90
+ }
91
+ var MarkLabel = exports.MarkLabel = function MarkLabel(props) {
92
+ // eslint-disable-next-line no-unused-vars
93
+ var _useState = (0, _react.useState)(null),
94
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
95
+ input = _useState2[0],
96
+ setInput = _useState2[1];
97
+ var _ref = (0, _react.useCallback)(function (node) {
98
+ return setInput(node);
99
+ }, null);
100
+ var _props$mark = props.mark,
101
+ mark = _props$mark === void 0 ? {} : _props$mark,
102
+ disabled = props.disabled,
103
+ externalInputRef = props.inputRef,
104
+ barWidth = props.barWidth,
105
+ rotate = props.rotate,
106
+ correctness = props.correctness,
107
+ autoFocus = props.autoFocus,
108
+ error = props.error,
109
+ isHiddenLabel = props.isHiddenLabel,
110
+ limitCharacters = props.limitCharacters,
111
+ correctnessIndicator = props.correctnessIndicator;
112
+ var _useState3 = (0, _react.useState)(mark.label),
113
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
114
+ label = _useState4[0],
115
+ setLabel = _useState4[1];
116
+ var _useState5 = (0, _react.useState)(getLabelMathFormat(mark.label)),
117
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
118
+ mathLabel = _useState6[0],
119
+ setMathLabel = _useState6[1];
120
+ var _useState7 = (0, _react.useState)(false),
121
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
122
+ isEditing = _useState8[0],
123
+ setIsEditing = _useState8[1];
124
+ var rootRef = (0, _react.useRef)(null);
125
+ var onChange = function onChange(e) {
126
+ if (limitCharacters && e.target.value && e.target.value.length > 20) {
127
+ return;
128
+ }
129
+ setLabel(e.target.value);
130
+ };
131
+ var isMathRendering = function isMathRendering() {
132
+ return isEditing === false && mathLabel !== undefined;
133
+ };
134
+ var onChangeProp = function onChangeProp(e) {
135
+ setMathLabel(getLabelMathFormat(mark.label));
136
+ setIsEditing(false);
137
+ props.onChange(e.target.value);
138
+ };
139
+ var extraStyle = {};
140
+ if (rotate) {
141
+ extraStyle = {
142
+ width: 'unset',
143
+ textAlign: 'left'
144
+ };
145
+ }
146
+
147
+ // useState only sets the value once, to synch props to state need useEffect
148
+ (0, _react.useEffect)(function () {
149
+ setLabel(mark.label);
150
+ }, [mark.label]);
151
+ (0, _react.useEffect)(function () {
152
+ var el = rootRef.current;
153
+ if (el && mathLabel) {
154
+ el.innerHTML = mathLabel;
155
+ (0, _mathRendering.renderMath)(el);
156
+ }
157
+ }, [label, mathLabel]);
158
+ return /*#__PURE__*/_react["default"].createElement(StyledContainer, null, correctnessIndicator, isMathRendering() ? /*#__PURE__*/_react["default"].createElement(StyledMathInput, {
159
+ ref: function ref(r) {
160
+ rootRef.current = r;
161
+ if (typeof externalInputRef === 'function') {
162
+ externalInputRef(r);
163
+ }
164
+ },
165
+ className: (0, _classnames["default"])({
166
+ disabled: disabled,
167
+ error: error,
168
+ correct: mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'correct',
169
+ incorrect: mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'incorrect'
170
+ }),
171
+ onClick: function onClick() {
172
+ return setIsEditing(true);
173
+ },
174
+ style: {
175
+ minWidth: barWidth,
176
+ position: 'fixed',
177
+ transformOrigin: 'left',
178
+ transform: "rotate(".concat(rotate, "deg)"),
179
+ visibility: isHiddenLabel ? 'hidden' : 'unset',
180
+ marginTop: correctnessIndicator ? '24px' : '0'
181
+ }
182
+ }) : /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
183
+ inputRef: function inputRef(r) {
184
+ _ref(r);
185
+ if (typeof externalInputRef === 'function') {
186
+ externalInputRef(r);
187
+ }
188
+ },
189
+ name: "mark-label-input",
190
+ autoFocus: isEditing || autoFocus,
191
+ disabled: disabled,
192
+ inputClassName: (0, _classnames["default"])(correctness && mark.editable ? correctness.label : null, disabled && 'disabled', error && 'error'),
193
+ inputStyle: _objectSpread({
194
+ minWidth: barWidth,
195
+ textAlign: 'center',
196
+ background: 'transparent',
197
+ boxSizing: 'border-box',
198
+ paddingLeft: 0,
199
+ paddingRight: 0,
200
+ border: 'none'
201
+ }, extraStyle),
202
+ value: label,
203
+ style: {
204
+ position: 'fixed',
205
+ pointerEvents: 'auto',
206
+ top: 0,
207
+ left: 0,
208
+ minWidth: barWidth,
209
+ transformOrigin: 'left',
210
+ transform: "rotate(".concat(rotate, "deg)"),
211
+ visibility: isHiddenLabel ? 'hidden' : 'unset',
212
+ marginTop: correctnessIndicator ? '24px' : '0'
213
+ },
214
+ onChange: onChange,
215
+ onBlur: onChangeProp
216
+ }));
217
+ };
218
+ MarkLabel.propTypes = {
219
+ autoFocus: _propTypes["default"].bool,
220
+ disabled: _propTypes["default"].bool,
221
+ error: _propTypes["default"].any,
222
+ onChange: _propTypes["default"].func,
223
+ graphProps: _plot.types.GraphPropsType,
224
+ inputRef: _propTypes["default"].func,
225
+ mark: _propTypes["default"].object,
226
+ barWidth: _propTypes["default"].number,
227
+ rotate: _propTypes["default"].number,
228
+ correctness: _propTypes["default"].shape({
229
+ value: _propTypes["default"].string,
230
+ label: _propTypes["default"].string
231
+ }),
232
+ isHiddenLabel: _propTypes["default"].bool,
233
+ limitCharacters: _propTypes["default"].bool,
234
+ correctnessIndicator: _propTypes["default"].node
235
+ };
236
+ var _default = exports["default"] = MarkLabel;
237
+ //# sourceMappingURL=mark-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-label.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_styles","_reactInputAutosize","_propTypes","_plot","_styles2","_renderUi","_mathRendering","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","StyledContainer","styled","display","flexDirection","alignItems","StyledInput","_ref2","theme","fontFamily","typography","fontSize","border","correct","incorrect","backgroundColor","concat","palette","error","main","StyledMathInput","_ref3","pointerEvents","textAlign","color","primaryDark","paddingTop","disabled","isFractionFormat","label","trimmedLabel","trim","fracRegex","RegExp","test","getLabelMathFormat","fraction","mixedNr","improperFraction","split","includes","formattedLLabel","undefined","MarkLabel","exports","props","_useState","useState","_useState2","_slicedToArray2","input","setInput","_ref","useCallback","node","_props$mark","mark","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","isHiddenLabel","limitCharacters","correctnessIndicator","_useState3","_useState4","setLabel","_useState5","_useState6","mathLabel","setMathLabel","_useState7","_useState8","isEditing","setIsEditing","rootRef","useRef","onChange","target","value","isMathRendering","onChangeProp","extraStyle","width","useEffect","el","current","innerHTML","renderMath","createElement","ref","className","classNames","editable","onClick","style","minWidth","position","transformOrigin","transform","visibility","marginTop","name","inputClassName","inputStyle","background","boxSizing","paddingLeft","paddingRight","top","left","onBlur","propTypes","PropTypes","bool","any","func","graphProps","types","GraphPropsType","object","number","shape","string","_default"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { styled } from '@mui/material/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\n\nimport { types } from '@pie-lib/plot';\nimport { correct, disabled, incorrect } from './common/styles';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst StyledContainer = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n});\n\n// eslint-disable-next-line no-unused-vars\nconst StyledInput = styled('input')(({ theme }) => ({\n float: 'right',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: 'none',\n '&.correct': correct('color'),\n '&.incorrect': incorrect('color'),\n '&.disabled': {\n backgroundColor: 'transparent !important',\n },\n '&.error': { border: `2px solid ${theme.palette.error.main}` },\n}));\n\nconst StyledMathInput = styled('div')(({ theme }) => ({\n pointerEvents: 'auto',\n textAlign: 'center',\n fontSize: theme.typography.fontSize + 2,\n fontFamily: theme.typography.fontFamily,\n color: color.primaryDark(),\n paddingTop: theme.typography.fontSize / 2,\n '&.disabled': {\n ...disabled('color'),\n backgroundColor: 'transparent !important',\n },\n '&.error': {\n border: `2px solid ${theme.palette.error.main}`,\n },\n '&.correct': {\n ...correct('color'),\n },\n '&.incorrect': {\n ...incorrect('color'),\n },\n}));\n\nfunction isFractionFormat(label) {\n const trimmedLabel = label?.trim() || '';\n const fracRegex = new RegExp(/^[1-9]*[0-9]*\\s?[1-9][0-9]*\\/[1-9][0-9]*$/);\n return fracRegex.test(trimmedLabel);\n}\n\nfunction getLabelMathFormat(label) {\n const trimmedLabel = label?.trim() || '';\n let fraction;\n let mixedNr = '';\n let improperFraction = trimmedLabel.split(' ');\n if (improperFraction[1] && improperFraction[1].includes('/')) {\n fraction = improperFraction[1].split('/') || '';\n } else {\n fraction = trimmedLabel?.split('/') || '';\n }\n\n let formattedLLabel;\n if (isFractionFormat(label)) {\n if (improperFraction[0] && improperFraction[1]) {\n mixedNr = improperFraction[0];\n }\n formattedLLabel = `\\\\(${mixedNr}\\\\frac{${fraction[0]}}{${fraction[1]}}\\\\)`;\n return formattedLLabel;\n }\n return undefined;\n}\n\nexport const MarkLabel = (props) => {\n // eslint-disable-next-line no-unused-vars\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node), null);\n\n const {\n mark = {},\n disabled,\n inputRef: externalInputRef,\n barWidth,\n rotate,\n correctness,\n autoFocus,\n error,\n isHiddenLabel,\n limitCharacters,\n correctnessIndicator,\n } = props;\n\n const [label, setLabel] = useState(mark.label);\n const [mathLabel, setMathLabel] = useState(getLabelMathFormat(mark.label));\n const [isEditing, setIsEditing] = useState(false);\n const rootRef = useRef(null);\n\n const onChange = (e) => {\n if (limitCharacters && e.target.value && e.target.value.length > 20) {\n return;\n }\n\n setLabel(e.target.value);\n };\n\n const isMathRendering = () => {\n return isEditing === false && mathLabel !== undefined;\n };\n\n const onChangeProp = (e) => {\n setMathLabel(getLabelMathFormat(mark.label));\n setIsEditing(false);\n props.onChange(e.target.value);\n };\n let extraStyle = {};\n\n if (rotate) {\n extraStyle = {\n width: 'unset',\n textAlign: 'left',\n };\n }\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n useEffect(() => {\n const el = rootRef.current;\n\n if (el && mathLabel) {\n el.innerHTML = mathLabel;\n renderMath(el);\n }\n }, [label, mathLabel]);\n\n return (\n <StyledContainer>\n {correctnessIndicator}\n {isMathRendering() ? (\n <StyledMathInput\n ref={(r) => {\n rootRef.current = r;\n if (typeof externalInputRef === 'function') {\n externalInputRef(r);\n }\n }}\n className={classNames({\n disabled: disabled,\n error: error,\n correct: mark.editable && correctness?.label === 'correct',\n incorrect: mark.editable && correctness?.label === 'incorrect',\n })}\n onClick={() => setIsEditing(true)}\n style={{\n minWidth: barWidth,\n position: 'fixed',\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n ></StyledMathInput>\n ) : (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n if (typeof externalInputRef === 'function') {\n externalInputRef(r);\n }\n }}\n name=\"mark-label-input\"\n autoFocus={isEditing || autoFocus}\n disabled={disabled}\n inputClassName={classNames(\n correctness && mark.editable ? correctness.label : null,\n disabled && 'disabled',\n error && 'error',\n )}\n inputStyle={{\n minWidth: barWidth,\n textAlign: 'center',\n background: 'transparent',\n boxSizing: 'border-box',\n paddingLeft: 0,\n paddingRight: 0,\n border: 'none',\n ...extraStyle,\n }}\n value={label}\n style={{\n position: 'fixed',\n pointerEvents: 'auto',\n top: 0,\n left: 0,\n minWidth: barWidth,\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n onChange={onChange}\n onBlur={onChangeProp}\n />\n )}\n </StyledContainer>\n );\n};\n\nMarkLabel.propTypes = {\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.any,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n isHiddenLabel: PropTypes.bool,\n limitCharacters: PropTypes.bool,\n correctnessIndicator: PropTypes.node,\n};\n\nexport default MarkLabel;\n"],"mappings":"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","ignoreList":[]}