@pie-lib/charting 5.36.3-next.2 → 5.36.4-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/CHANGELOG.md +17 -96
  2. package/lib/__tests__/axes.test.js +129 -0
  3. package/lib/__tests__/chart-setup.test.js +57 -0
  4. package/lib/__tests__/chart-type.test.js +25 -0
  5. package/lib/__tests__/chart.test.js +103 -0
  6. package/lib/__tests__/grid.test.js +39 -0
  7. package/lib/__tests__/mark-label.test.js +46 -0
  8. package/lib/__tests__/utils.js +56 -0
  9. package/lib/__tests__/utils.test.js +186 -0
  10. package/lib/actions-button.js +61 -91
  11. package/lib/actions-button.js.map +1 -1
  12. package/lib/axes.js +163 -239
  13. package/lib/axes.js.map +1 -1
  14. package/lib/bars/__tests__/bar.test.js +53 -0
  15. package/lib/bars/__tests__/histogram.test.js +53 -0
  16. package/lib/bars/__tests__/utils.js +50 -0
  17. package/lib/bars/bar.js +14 -42
  18. package/lib/bars/bar.js.map +1 -1
  19. package/lib/bars/common/__tests__/bars.test.js +76 -0
  20. package/lib/bars/common/__tests__/utils.js +50 -0
  21. package/lib/bars/common/bars.js +62 -138
  22. package/lib/bars/common/bars.js.map +1 -1
  23. package/lib/bars/common/correct-check-icon.js +6 -7
  24. package/lib/bars/common/correct-check-icon.js.map +1 -1
  25. package/lib/bars/histogram.js +14 -42
  26. package/lib/bars/histogram.js.map +1 -1
  27. package/lib/chart-setup.js +120 -196
  28. package/lib/chart-setup.js.map +1 -1
  29. package/lib/chart-type.js +53 -44
  30. package/lib/chart-type.js.map +1 -1
  31. package/lib/chart-types.js +2 -11
  32. package/lib/chart-types.js.map +1 -1
  33. package/lib/chart.js +74 -152
  34. package/lib/chart.js.map +1 -1
  35. package/lib/common/__tests__/drag-handle.test.js +74 -0
  36. package/lib/common/__tests__/utils.js +50 -0
  37. package/lib/common/correctness-indicators.js +110 -53
  38. package/lib/common/correctness-indicators.js.map +1 -1
  39. package/lib/common/drag-handle.js +66 -109
  40. package/lib/common/drag-handle.js.map +1 -1
  41. package/lib/common/drag-icon.js +13 -13
  42. package/lib/common/drag-icon.js.map +1 -1
  43. package/lib/common/styles.js +7 -25
  44. package/lib/common/styles.js.map +1 -1
  45. package/lib/grid.js +44 -84
  46. package/lib/grid.js.map +1 -1
  47. package/lib/index.js +1 -7
  48. package/lib/index.js.map +1 -1
  49. package/lib/key-legend.js +64 -88
  50. package/lib/key-legend.js.map +1 -1
  51. package/lib/line/__tests__/line-cross.test.js +47 -0
  52. package/lib/line/__tests__/line-dot.test.js +47 -0
  53. package/lib/line/__tests__/utils.js +56 -0
  54. package/lib/line/common/__tests__/drag-handle.test.js +74 -0
  55. package/lib/line/common/__tests__/line.test.js +92 -0
  56. package/lib/line/common/__tests__/utils.js +50 -0
  57. package/lib/line/common/drag-handle.js +73 -101
  58. package/lib/line/common/drag-handle.js.map +1 -1
  59. package/lib/line/common/line.js +51 -97
  60. package/lib/line/common/line.js.map +1 -1
  61. package/lib/line/line-cross.js +80 -90
  62. package/lib/line/line-cross.js.map +1 -1
  63. package/lib/line/line-dot.js +59 -77
  64. package/lib/line/line-dot.js.map +1 -1
  65. package/lib/mark-label.js +85 -120
  66. package/lib/mark-label.js.map +1 -1
  67. package/lib/plot/__tests__/dot.test.js +53 -0
  68. package/lib/plot/__tests__/line.test.js +53 -0
  69. package/lib/plot/__tests__/utils.js +50 -0
  70. package/lib/plot/common/__tests__/plot.test.js +79 -0
  71. package/lib/plot/common/__tests__/utils.js +50 -0
  72. package/lib/plot/common/plot.js +91 -149
  73. package/lib/plot/common/plot.js.map +1 -1
  74. package/lib/plot/dot.js +33 -59
  75. package/lib/plot/dot.js.map +1 -1
  76. package/lib/plot/line.js +40 -65
  77. package/lib/plot/line.js.map +1 -1
  78. package/lib/tool-menu.js +48 -84
  79. package/lib/tool-menu.js.map +1 -1
  80. package/lib/utils.js +32 -87
  81. package/lib/utils.js.map +1 -1
  82. package/package.json +22 -24
  83. package/src/__tests__/axes.test.jsx +85 -100
  84. package/src/__tests__/chart-type.test.jsx +5 -11
  85. package/src/__tests__/chart.test.jsx +41 -50
  86. package/src/__tests__/grid.test.jsx +23 -11
  87. package/src/__tests__/mark-label.test.jsx +13 -11
  88. package/src/__tests__/utils.js +8 -2
  89. package/src/actions-button.jsx +44 -39
  90. package/src/axes.jsx +67 -81
  91. package/src/bars/__tests__/bar.test.jsx +19 -11
  92. package/src/bars/__tests__/histogram.test.jsx +19 -12
  93. package/src/bars/common/__tests__/bars.test.jsx +23 -24
  94. package/src/bars/common/bars.jsx +42 -69
  95. package/src/bars/common/correct-check-icon.jsx +5 -0
  96. package/src/chart-setup.jsx +75 -88
  97. package/src/chart-type.js +45 -22
  98. package/src/chart.jsx +19 -34
  99. package/src/common/__tests__/drag-handle.test.jsx +16 -45
  100. package/src/common/correctness-indicators.jsx +91 -13
  101. package/src/common/drag-handle.jsx +44 -64
  102. package/src/common/drag-icon.jsx +9 -2
  103. package/src/common/styles.js +1 -1
  104. package/src/grid.jsx +10 -14
  105. package/src/key-legend.jsx +62 -60
  106. package/src/line/__tests__/line-cross.test.jsx +16 -13
  107. package/src/line/__tests__/line-dot.test.jsx +16 -13
  108. package/src/line/__tests__/utils.js +8 -2
  109. package/src/line/common/__tests__/drag-handle.test.jsx +20 -45
  110. package/src/line/common/__tests__/line.test.jsx +27 -30
  111. package/src/line/common/drag-handle.jsx +61 -55
  112. package/src/line/common/line.jsx +21 -11
  113. package/src/line/line-cross.js +39 -14
  114. package/src/line/line-dot.js +27 -32
  115. package/src/mark-label.jsx +51 -47
  116. package/src/plot/__tests__/dot.test.jsx +19 -12
  117. package/src/plot/__tests__/line.test.jsx +19 -12
  118. package/src/plot/common/__tests__/plot.test.jsx +23 -24
  119. package/src/plot/common/plot.jsx +29 -24
  120. package/src/plot/dot.js +11 -4
  121. package/src/plot/line.js +16 -8
  122. package/src/tool-menu.jsx +26 -30
  123. package/src/utils.js +13 -9
  124. package/esm/index.css +0 -847
  125. package/esm/index.js +0 -231130
  126. package/esm/index.js.map +0 -1
  127. package/esm/package.json +0 -3
  128. package/src/__tests__/__snapshots__/axes.test.jsx.snap +0 -569
  129. package/src/__tests__/__snapshots__/chart-type.test.jsx.snap +0 -14
  130. package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -595
  131. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -72
  132. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -73
  133. package/src/bars/__tests__/__snapshots__/bar.test.jsx.snap +0 -43
  134. package/src/bars/__tests__/__snapshots__/histogram.test.jsx.snap +0 -45
  135. package/src/bars/common/__tests__/__snapshots__/bars.test.jsx.snap +0 -110
  136. package/src/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -48
  137. package/src/line/__tests__/__snapshots__/line-cross.test.jsx.snap +0 -45
  138. package/src/line/__tests__/__snapshots__/line-dot.test.jsx.snap +0 -45
  139. package/src/line/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -49
  140. package/src/line/common/__tests__/__snapshots__/line.test.jsx.snap +0 -143
  141. package/src/plot/__tests__/__snapshots__/dot.test.jsx.snap +0 -45
  142. package/src/plot/__tests__/__snapshots__/line.test.jsx.snap +0 -45
  143. package/src/plot/common/__tests__/__snapshots__/plot.test.jsx.snap +0 -97
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/line/line-dot.js"],"names":["DraggableComponent","scale","x","y","className","classes","r","correctness","interactive","correctData","label","rest","React","useState","isHovered","setIsHovered","allowRolloverEvent","transparentHandle","handle","disabledPoint","color","defaults","BORDER_GRAY","propTypes","PropTypes","object","number","string","shape","value","LineDot","props","data","graphProps","size","xBand","width","Component","array","onChange","func","types","GraphPropsType","isRequired","type","name"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\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 DraggableComponent = ({\n scale,\n x,\n y,\n className,\n classes,\n r,\n correctness,\n interactive,\n correctData,\n label,\n ...rest\n}) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const allowRolloverEvent = !correctness && interactive;\n\n return (\n <g onMouseEnter={() => setIsHovered(true)} onMouseLeave={() => setIsHovered(false)}>\n <circle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r * 3}\n className={classNames(classes.transparentHandle, className)}\n pointerEvents={correctness ? 'none' : ''}\n {...rest}\n />\n <circle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r}\n className={classNames(className, classes.handle, correctness && !interactive && classes.disabledPoint)}\n {...rest}\n />\n {/* show correctness indicators */}\n <CorrectnessIndicator\n scale={scale}\n x={x}\n y={y}\n classes={classes}\n r={r}\n correctness={correctness}\n interactive={interactive}\n />\n\n {/* show correct point if answer was incorrect */}\n <SmallCorrectPointIndicator\n scale={scale}\n x={x}\n r={r}\n correctness={correctness}\n classes={classes}\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 className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\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"],"file":"line-dot.js"}
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":"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","ignoreList":[]}
package/lib/mark-label.js CHANGED
@@ -1,204 +1,172 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = exports.MarkLabel = void 0;
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _react = _interopRequireWildcard(require("react"));
17
-
18
12
  var _classnames = _interopRequireDefault(require("classnames"));
19
-
20
- var _styles = require("@material-ui/core/styles");
21
-
13
+ var _styles = require("@mui/material/styles");
22
14
  var _reactInputAutosize = _interopRequireDefault(require("react-input-autosize"));
23
-
24
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
16
  var _plot = require("@pie-lib/plot");
27
-
28
17
  var _styles2 = require("./common/styles");
29
-
30
18
  var _renderUi = require("@pie-lib/render-ui");
31
-
32
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
+ });
33
28
 
34
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
-
40
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
-
42
- var styles = function styles(theme) {
29
+ // eslint-disable-next-line no-unused-vars
30
+ var StyledInput = (0, _styles.styled)('input')(function (_ref2) {
31
+ var theme = _ref2.theme;
43
32
  return {
44
- input: {
45
- "float": 'right',
46
- fontFamily: theme.typography.fontFamily,
47
- fontSize: theme.typography.fontSize,
48
- border: 'none',
49
- '&.correct': (0, _styles2.correct)('color'),
50
- '&.incorrect': (0, _styles2.incorrect)('color'),
51
- '&.disabled': {
52
- backgroundColor: 'transparent !important'
53
- },
54
- '&.error': {
55
- border: "2px solid ".concat(theme.palette.error.main)
56
- }
57
- },
58
- mathInput: {
59
- pointerEvents: 'auto',
60
- textAlign: 'center',
61
- fontSize: theme.typography.fontSize + 2,
62
- fontFamily: theme.typography.fontFamily,
63
- color: _renderUi.color.primaryDark(),
64
- paddingTop: theme.typography.fontSize / 2
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'
65
41
  },
66
- disabled: _objectSpread(_objectSpread({}, (0, _styles2.disabled)('color')), {}, {
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')), {}, {
67
57
  backgroundColor: 'transparent !important'
68
58
  }),
69
- error: {
59
+ '&.error': {
70
60
  border: "2px solid ".concat(theme.palette.error.main)
71
61
  },
72
- correct: _objectSpread({}, (0, _styles2.correct)('color')),
73
- incorrect: _objectSpread({}, (0, _styles2.incorrect)('color')),
74
- flexContainer: {
75
- display: 'flex',
76
- flexDirection: 'column',
77
- alignItems: 'center'
78
- }
62
+ '&.correct': _objectSpread({}, (0, _styles2.correct)('color')),
63
+ '&.incorrect': _objectSpread({}, (0, _styles2.incorrect)('color'))
79
64
  };
80
- };
81
-
65
+ });
82
66
  function isFractionFormat(label) {
83
67
  var trimmedLabel = (label === null || label === void 0 ? void 0 : label.trim()) || '';
84
68
  var fracRegex = new RegExp(/^[1-9]*[0-9]*\s?[1-9][0-9]*\/[1-9][0-9]*$/);
85
69
  return fracRegex.test(trimmedLabel);
86
70
  }
87
-
88
71
  function getLabelMathFormat(label) {
89
72
  var trimmedLabel = (label === null || label === void 0 ? void 0 : label.trim()) || '';
90
73
  var fraction;
91
74
  var mixedNr = '';
92
75
  var improperFraction = trimmedLabel.split(' ');
93
-
94
76
  if (improperFraction[1] && improperFraction[1].includes('/')) {
95
77
  fraction = improperFraction[1].split('/') || '';
96
78
  } else {
97
79
  fraction = (trimmedLabel === null || trimmedLabel === void 0 ? void 0 : trimmedLabel.split('/')) || '';
98
80
  }
99
-
100
81
  var formattedLLabel;
101
-
102
82
  if (isFractionFormat(label)) {
103
83
  if (improperFraction[0] && improperFraction[1]) {
104
84
  mixedNr = improperFraction[0];
105
85
  }
106
-
107
86
  formattedLLabel = "\\(".concat(mixedNr, "\\frac{").concat(fraction[0], "}{").concat(fraction[1], "}\\)");
108
87
  return formattedLLabel;
109
88
  }
110
-
111
89
  return undefined;
112
90
  }
113
-
114
- var MarkLabel = function MarkLabel(props) {
115
- var _classNames;
116
-
91
+ var MarkLabel = exports.MarkLabel = function MarkLabel(props) {
117
92
  // eslint-disable-next-line no-unused-vars
118
93
  var _useState = (0, _react.useState)(null),
119
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
120
- input = _useState2[0],
121
- setInput = _useState2[1];
122
-
94
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
95
+ input = _useState2[0],
96
+ setInput = _useState2[1];
123
97
  var _ref = (0, _react.useCallback)(function (node) {
124
98
  return setInput(node);
125
99
  }, null);
126
-
127
- var mark = props.mark,
128
- classes = props.classes,
129
- disabled = props.disabled,
130
- externalInputRef = props.inputRef,
131
- barWidth = props.barWidth,
132
- rotate = props.rotate,
133
- correctness = props.correctness,
134
- autoFocus = props.autoFocus,
135
- error = props.error,
136
- isHiddenLabel = props.isHiddenLabel,
137
- limitCharacters = props.limitCharacters,
138
- correctnessIndicator = props.correctnessIndicator;
139
-
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;
140
112
  var _useState3 = (0, _react.useState)(mark.label),
141
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
142
- label = _useState4[0],
143
- setLabel = _useState4[1];
144
-
113
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
114
+ label = _useState4[0],
115
+ setLabel = _useState4[1];
145
116
  var _useState5 = (0, _react.useState)(getLabelMathFormat(mark.label)),
146
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
147
- mathLabel = _useState6[0],
148
- setMathLabel = _useState6[1];
149
-
117
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
118
+ mathLabel = _useState6[0],
119
+ setMathLabel = _useState6[1];
150
120
  var _useState7 = (0, _react.useState)(false),
151
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
152
- isEditing = _useState8[0],
153
- setIsEditing = _useState8[1];
154
-
121
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
122
+ isEditing = _useState8[0],
123
+ setIsEditing = _useState8[1];
155
124
  var root = (0, _react.useRef)(null);
156
-
157
125
  var onChange = function onChange(e) {
158
126
  if (limitCharacters && e.target.value && e.target.value.length > 20) {
159
127
  return;
160
128
  }
161
-
162
129
  setLabel(e.target.value);
163
130
  };
164
-
165
131
  var isMathRendering = function isMathRendering() {
166
132
  return isEditing === false && mathLabel !== undefined;
167
133
  };
168
-
169
134
  var onChangeProp = function onChangeProp(e) {
170
135
  setMathLabel(getLabelMathFormat(mark.label));
171
136
  setIsEditing(false);
172
137
  props.onChange(e.target.value);
173
138
  };
174
-
175
139
  var extraStyle = {};
176
-
177
140
  if (rotate) {
178
141
  extraStyle = {
179
142
  width: 'unset',
180
143
  textAlign: 'left'
181
144
  };
182
- } // useState only sets the value once, to synch props to state need useEffect
183
-
145
+ }
184
146
 
147
+ // useState only sets the value once, to synch props to state need useEffect
185
148
  (0, _react.useEffect)(function () {
186
149
  setLabel(mark.label);
187
150
  }, [mark.label]);
188
151
  (0, _react.useEffect)(function () {
189
152
  (0, _mathRendering.renderMath)(root);
190
153
  }, []);
191
- return /*#__PURE__*/_react["default"].createElement("div", {
192
- className: classes.flexContainer
193
- }, correctnessIndicator, isMathRendering() ? /*#__PURE__*/_react["default"].createElement("div", {
154
+ return /*#__PURE__*/_react["default"].createElement(StyledContainer, null, correctnessIndicator, isMathRendering() ? /*#__PURE__*/_react["default"].createElement(StyledMathInput, {
194
155
  ref: function ref(r) {
195
156
  root = r;
196
- externalInputRef(r);
157
+ if (typeof externalInputRef === 'function') {
158
+ externalInputRef(r);
159
+ }
197
160
  },
198
161
  dangerouslySetInnerHTML: {
199
162
  __html: getLabelMathFormat(label)
200
163
  },
201
- className: (0, _classnames["default"])(classes.mathInput, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.disabled, disabled), (0, _defineProperty2["default"])(_classNames, classes.error, error), (0, _defineProperty2["default"])(_classNames, classes.correct, mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'correct'), (0, _defineProperty2["default"])(_classNames, classes.incorrect, mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'incorrect'), _classNames)),
164
+ className: (0, _classnames["default"])({
165
+ disabled: disabled,
166
+ error: error,
167
+ correct: mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'correct',
168
+ incorrect: mark.editable && (correctness === null || correctness === void 0 ? void 0 : correctness.label) === 'incorrect'
169
+ }),
202
170
  onClick: function onClick() {
203
171
  return setIsEditing(true);
204
172
  },
@@ -213,19 +181,22 @@ var MarkLabel = function MarkLabel(props) {
213
181
  }) : /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
214
182
  inputRef: function inputRef(r) {
215
183
  _ref(r);
216
-
217
- externalInputRef(r);
184
+ if (typeof externalInputRef === 'function') {
185
+ externalInputRef(r);
186
+ }
218
187
  },
188
+ name: "mark-label-input",
219
189
  autoFocus: isEditing || autoFocus,
220
190
  disabled: disabled,
221
- inputClassName: (0, _classnames["default"])(classes.input, correctness && mark.editable ? correctness.label : null, disabled && 'disabled', error && 'error'),
191
+ inputClassName: (0, _classnames["default"])(correctness && mark.editable ? correctness.label : null, disabled && 'disabled', error && 'error'),
222
192
  inputStyle: _objectSpread({
223
193
  minWidth: barWidth,
224
194
  textAlign: 'center',
225
195
  background: 'transparent',
226
196
  boxSizing: 'border-box',
227
197
  paddingLeft: 0,
228
- paddingRight: 0
198
+ paddingRight: 0,
199
+ border: 'none'
229
200
  }, extraStyle),
230
201
  value: label,
231
202
  style: {
@@ -243,15 +214,12 @@ var MarkLabel = function MarkLabel(props) {
243
214
  onBlur: onChangeProp
244
215
  }));
245
216
  };
246
-
247
- exports.MarkLabel = MarkLabel;
248
217
  MarkLabel.propTypes = {
249
218
  autoFocus: _propTypes["default"].bool,
250
219
  disabled: _propTypes["default"].bool,
251
220
  error: _propTypes["default"].any,
252
221
  onChange: _propTypes["default"].func,
253
222
  graphProps: _plot.types.GraphPropsType,
254
- classes: _propTypes["default"].object,
255
223
  inputRef: _propTypes["default"].func,
256
224
  mark: _propTypes["default"].object,
257
225
  barWidth: _propTypes["default"].number,
@@ -264,8 +232,5 @@ MarkLabel.propTypes = {
264
232
  limitCharacters: _propTypes["default"].bool,
265
233
  correctnessIndicator: _propTypes["default"].node
266
234
  };
267
-
268
- var _default = (0, _styles.withStyles)(styles)(MarkLabel);
269
-
270
- exports["default"] = _default;
271
- //# sourceMappingURL=mark-label.js.map
235
+ var _default = exports["default"] = MarkLabel;
236
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVzIiwiX3JlYWN0SW5wdXRBdXRvc2l6ZSIsIl9wcm9wVHlwZXMiLCJfcGxvdCIsIl9zdHlsZXMyIiwiX3JlbmRlclVpIiwiX21hdGhSZW5kZXJpbmciLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkQ29udGFpbmVyIiwic3R5bGVkIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwiU3R5bGVkSW5wdXQiLCJfcmVmMiIsInRoZW1lIiwiZm9udEZhbWlseSIsInR5cG9ncmFwaHkiLCJmb250U2l6ZSIsImJvcmRlciIsImNvcnJlY3QiLCJpbmNvcnJlY3QiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb25jYXQiLCJwYWxldHRlIiwiZXJyb3IiLCJtYWluIiwiU3R5bGVkTWF0aElucHV0IiwiX3JlZjMiLCJwb2ludGVyRXZlbnRzIiwidGV4dEFsaWduIiwiY29sb3IiLCJwcmltYXJ5RGFyayIsInBhZGRpbmdUb3AiLCJkaXNhYmxlZCIsImlzRnJhY3Rpb25Gb3JtYXQiLCJsYWJlbCIsInRyaW1tZWRMYWJlbCIsInRyaW0iLCJmcmFjUmVnZXgiLCJSZWdFeHAiLCJ0ZXN0IiwiZ2V0TGFiZWxNYXRoRm9ybWF0IiwiZnJhY3Rpb24iLCJtaXhlZE5yIiwiaW1wcm9wZXJGcmFjdGlvbiIsInNwbGl0IiwiaW5jbHVkZXMiLCJmb3JtYXR0ZWRMTGFiZWwiLCJ1bmRlZmluZWQiLCJNYXJrTGFiZWwiLCJleHBvcnRzIiwicHJvcHMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbnB1dCIsInNldElucHV0IiwiX3JlZiIsInVzZUNhbGxiYWNrIiwibm9kZSIsIl9wcm9wcyRtYXJrIiwibWFyayIsImV4dGVybmFsSW5wdXRSZWYiLCJpbnB1dFJlZiIsImJhcldpZHRoIiwicm90YXRlIiwiY29ycmVjdG5lc3MiLCJhdXRvRm9jdXMiLCJpc0hpZGRlbkxhYmVsIiwibGltaXRDaGFyYWN0ZXJzIiwiY29ycmVjdG5lc3NJbmRpY2F0b3IiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNldExhYmVsIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJtYXRoTGFiZWwiLCJzZXRNYXRoTGFiZWwiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzRWRpdGluZyIsInNldElzRWRpdGluZyIsInJvb3QiLCJ1c2VSZWYiLCJvbkNoYW5nZSIsInRhcmdldCIsInZhbHVlIiwiaXNNYXRoUmVuZGVyaW5nIiwib25DaGFuZ2VQcm9wIiwiZXh0cmFTdHlsZSIsIndpZHRoIiwidXNlRWZmZWN0IiwicmVuZGVyTWF0aCIsImNyZWF0ZUVsZW1lbnQiLCJyZWYiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJlZGl0YWJsZSIsIm9uQ2xpY2siLCJzdHlsZSIsIm1pbldpZHRoIiwicG9zaXRpb24iLCJ0cmFuc2Zvcm1PcmlnaW4iLCJ0cmFuc2Zvcm0iLCJ2aXNpYmlsaXR5IiwibWFyZ2luVG9wIiwibmFtZSIsImlucHV0Q2xhc3NOYW1lIiwiaW5wdXRTdHlsZSIsImJhY2tncm91bmQiLCJib3hTaXppbmciLCJwYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCIsInRvcCIsImxlZnQiLCJvbkJsdXIiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwiYW55IiwiZnVuYyIsImdyYXBoUHJvcHMiLCJ0eXBlcyIsIkdyYXBoUHJvcHNUeXBlIiwib2JqZWN0IiwibnVtYmVyIiwic2hhcGUiLCJzdHJpbmciLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXJrLWxhYmVsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IEF1dG9zaXplSW5wdXQgZnJvbSAncmVhY3QtaW5wdXQtYXV0b3NpemUnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcbmltcG9ydCB7IGNvcnJlY3QsIGluY29ycmVjdCwgZGlzYWJsZWQgfSBmcm9tICcuL2NvbW1vbi9zdHlsZXMnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkKCdkaXYnKSh7XG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxufSk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoJ2lucHV0JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgZmxvYXQ6ICdyaWdodCcsXG4gIGZvbnRGYW1pbHk6IHRoZW1lLnR5cG9ncmFwaHkuZm9udEZhbWlseSxcbiAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUsXG4gIGJvcmRlcjogJ25vbmUnLFxuICAnJi5jb3JyZWN0JzogY29ycmVjdCgnY29sb3InKSxcbiAgJyYuaW5jb3JyZWN0JzogaW5jb3JyZWN0KCdjb2xvcicpLFxuICAnJi5kaXNhYmxlZCc6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYuZXJyb3InOiB7IGJvcmRlcjogYDJweCBzb2xpZCAke3RoZW1lLnBhbGV0dGUuZXJyb3IubWFpbn1gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZE1hdGhJbnB1dCA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgcG9pbnRlckV2ZW50czogJ2F1dG8nLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSArIDIsXG4gIGZvbnRGYW1pbHk6IHRoZW1lLnR5cG9ncmFwaHkuZm9udEZhbWlseSxcbiAgY29sb3I6IGNvbG9yLnByaW1hcnlEYXJrKCksXG4gIHBhZGRpbmdUb3A6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLyAyLFxuICAnJi5kaXNhYmxlZCc6IHtcbiAgICAuLi5kaXNhYmxlZCgnY29sb3InKSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYuZXJyb3InOiB7XG4gICAgYm9yZGVyOiBgMnB4IHNvbGlkICR7dGhlbWUucGFsZXR0ZS5lcnJvci5tYWlufWAsXG4gIH0sXG4gICcmLmNvcnJlY3QnOiB7XG4gICAgLi4uY29ycmVjdCgnY29sb3InKSxcbiAgfSxcbiAgJyYuaW5jb3JyZWN0Jzoge1xuICAgIC4uLmluY29ycmVjdCgnY29sb3InKSxcbiAgfSxcbn0pKTtcblxuZnVuY3Rpb24gaXNGcmFjdGlvbkZvcm1hdChsYWJlbCkge1xuICBjb25zdCB0cmltbWVkTGFiZWwgPSBsYWJlbD8udHJpbSgpIHx8ICcnO1xuICBjb25zdCBmcmFjUmVnZXggPSBuZXcgUmVnRXhwKC9eWzEtOV0qWzAtOV0qXFxzP1sxLTldWzAtOV0qXFwvWzEtOV1bMC05XSokLyk7XG4gIHJldHVybiBmcmFjUmVnZXgudGVzdCh0cmltbWVkTGFiZWwpO1xufVxuXG5mdW5jdGlvbiBnZXRMYWJlbE1hdGhGb3JtYXQobGFiZWwpIHtcbiAgY29uc3QgdHJpbW1lZExhYmVsID0gbGFiZWw/LnRyaW0oKSB8fCAnJztcbiAgbGV0IGZyYWN0aW9uO1xuICBsZXQgbWl4ZWROciA9ICcnO1xuICBsZXQgaW1wcm9wZXJGcmFjdGlvbiA9IHRyaW1tZWRMYWJlbC5zcGxpdCgnICcpO1xuICBpZiAoaW1wcm9wZXJGcmFjdGlvblsxXSAmJiBpbXByb3BlckZyYWN0aW9uWzFdLmluY2x1ZGVzKCcvJykpIHtcbiAgICBmcmFjdGlvbiA9IGltcHJvcGVyRnJhY3Rpb25bMV0uc3BsaXQoJy8nKSB8fCAnJztcbiAgfSBlbHNlIHtcbiAgICBmcmFjdGlvbiA9IHRyaW1tZWRMYWJlbD8uc3BsaXQoJy8nKSB8fCAnJztcbiAgfVxuXG4gIGxldCBmb3JtYXR0ZWRMTGFiZWw7XG4gIGlmIChpc0ZyYWN0aW9uRm9ybWF0KGxhYmVsKSkge1xuICAgIGlmIChpbXByb3BlckZyYWN0aW9uWzBdICYmIGltcHJvcGVyRnJhY3Rpb25bMV0pIHtcbiAgICAgIG1peGVkTnIgPSBpbXByb3BlckZyYWN0aW9uWzBdO1xuICAgIH1cbiAgICBmb3JtYXR0ZWRMTGFiZWwgPSBgXFxcXCgke21peGVkTnJ9XFxcXGZyYWN7JHtmcmFjdGlvblswXX19eyR7ZnJhY3Rpb25bMV19fVxcXFwpYDtcbiAgICByZXR1cm4gZm9ybWF0dGVkTExhYmVsO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBNYXJrTGFiZWwgPSAocHJvcHMpID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIGNvbnN0IFtpbnB1dCwgc2V0SW5wdXRdID0gdXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IF9yZWYgPSB1c2VDYWxsYmFjaygobm9kZSkgPT4gc2V0SW5wdXQobm9kZSksIG51bGwpO1xuXG4gIGNvbnN0IHtcbiAgICBtYXJrID0ge30sXG4gICAgZGlzYWJsZWQsXG4gICAgaW5wdXRSZWY6IGV4dGVybmFsSW5wdXRSZWYsXG4gICAgYmFyV2lkdGgsXG4gICAgcm90YXRlLFxuICAgIGNvcnJlY3RuZXNzLFxuICAgIGF1dG9Gb2N1cyxcbiAgICBlcnJvcixcbiAgICBpc0hpZGRlbkxhYmVsLFxuICAgIGxpbWl0Q2hhcmFjdGVycyxcbiAgICBjb3JyZWN0bmVzc0luZGljYXRvcixcbiAgfSA9IHByb3BzO1xuXG4gIGNvbnN0IFtsYWJlbCwgc2V0TGFiZWxdID0gdXNlU3RhdGUobWFyay5sYWJlbCk7XG4gIGNvbnN0IFttYXRoTGFiZWwsIHNldE1hdGhMYWJlbF0gPSB1c2VTdGF0ZShnZXRMYWJlbE1hdGhGb3JtYXQobWFyay5sYWJlbCkpO1xuICBjb25zdCBbaXNFZGl0aW5nLCBzZXRJc0VkaXRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBsZXQgcm9vdCA9IHVzZVJlZihudWxsKTtcblxuICBjb25zdCBvbkNoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKGxpbWl0Q2hhcmFjdGVycyAmJiBlLnRhcmdldC52YWx1ZSAmJiBlLnRhcmdldC52YWx1ZS5sZW5ndGggPiAyMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldExhYmVsKGUudGFyZ2V0LnZhbHVlKTtcbiAgfTtcblxuICBjb25zdCBpc01hdGhSZW5kZXJpbmcgPSAoKSA9PiB7XG4gICAgcmV0dXJuIGlzRWRpdGluZyA9PT0gZmFsc2UgJiYgbWF0aExhYmVsICE9PSB1bmRlZmluZWQ7XG4gIH07XG5cbiAgY29uc3Qgb25DaGFuZ2VQcm9wID0gKGUpID0+IHtcbiAgICBzZXRNYXRoTGFiZWwoZ2V0TGFiZWxNYXRoRm9ybWF0KG1hcmsubGFiZWwpKTtcbiAgICBzZXRJc0VkaXRpbmcoZmFsc2UpO1xuICAgIHByb3BzLm9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlKTtcbiAgfTtcbiAgbGV0IGV4dHJhU3R5bGUgPSB7fTtcblxuICBpZiAocm90YXRlKSB7XG4gICAgZXh0cmFTdHlsZSA9IHtcbiAgICAgIHdpZHRoOiAndW5zZXQnLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgfTtcbiAgfVxuXG4gIC8vIHVzZVN0YXRlIG9ubHkgc2V0cyB0aGUgdmFsdWUgb25jZSwgdG8gc3luY2ggcHJvcHMgdG8gc3RhdGUgbmVlZCB1c2VFZmZlY3RcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMYWJlbChtYXJrLmxhYmVsKTtcbiAgfSwgW21hcmsubGFiZWxdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlck1hdGgocm9vdCk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXI+XG4gICAgICB7Y29ycmVjdG5lc3NJbmRpY2F0b3J9XG4gICAgICB7aXNNYXRoUmVuZGVyaW5nKCkgPyAoXG4gICAgICAgIDxTdHlsZWRNYXRoSW5wdXRcbiAgICAgICAgICByZWY9eyhyKSA9PiB7XG4gICAgICAgICAgICByb290ID0gcjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZXh0ZXJuYWxJbnB1dFJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBleHRlcm5hbElucHV0UmVmKHIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBnZXRMYWJlbE1hdGhGb3JtYXQobGFiZWwpIH19XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgICAgICAgIGNvcnJlY3Q6IG1hcmsuZWRpdGFibGUgJiYgY29ycmVjdG5lc3M/LmxhYmVsID09PSAnY29ycmVjdCcsXG4gICAgICAgICAgICBpbmNvcnJlY3Q6IG1hcmsuZWRpdGFibGUgJiYgY29ycmVjdG5lc3M/LmxhYmVsID09PSAnaW5jb3JyZWN0JyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc0VkaXRpbmcodHJ1ZSl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1pbldpZHRoOiBiYXJXaWR0aCxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAnbGVmdCcsXG4gICAgICAgICAgICB0cmFuc2Zvcm06IGByb3RhdGUoJHtyb3RhdGV9ZGVnKWAsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBpc0hpZGRlbkxhYmVsID8gJ2hpZGRlbicgOiAndW5zZXQnLFxuICAgICAgICAgICAgbWFyZ2luVG9wOiBjb3JyZWN0bmVzc0luZGljYXRvciA/ICcyNHB4JyA6ICcwJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+PC9TdHlsZWRNYXRoSW5wdXQ+XG4gICAgICApIDogKFxuICAgICAgICA8QXV0b3NpemVJbnB1dFxuICAgICAgICAgIGlucHV0UmVmPXsocikgPT4ge1xuICAgICAgICAgICAgX3JlZihyKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZXh0ZXJuYWxJbnB1dFJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBleHRlcm5hbElucHV0UmVmKHIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgbmFtZT0nbWFyay1sYWJlbC1pbnB1dCdcbiAgICAgICAgICBhdXRvRm9jdXM9e2lzRWRpdGluZyB8fCBhdXRvRm9jdXN9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGlucHV0Q2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgICAgY29ycmVjdG5lc3MgJiYgbWFyay5lZGl0YWJsZSA/IGNvcnJlY3RuZXNzLmxhYmVsIDogbnVsbCxcbiAgICAgICAgICAgIGRpc2FibGVkICYmICdkaXNhYmxlZCcsXG4gICAgICAgICAgICBlcnJvciAmJiAnZXJyb3InLFxuICAgICAgICAgICl9XG4gICAgICAgICAgaW5wdXRTdHlsZT17e1xuICAgICAgICAgICAgbWluV2lkdGg6IGJhcldpZHRoLFxuICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxuICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiAwLFxuICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAuLi5leHRyYVN0eWxlLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdmFsdWU9e2xhYmVsfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdhdXRvJyxcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICBtaW5XaWR0aDogYmFyV2lkdGgsXG4gICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICdsZWZ0JyxcbiAgICAgICAgICAgIHRyYW5zZm9ybTogYHJvdGF0ZSgke3JvdGF0ZX1kZWcpYCxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGlzSGlkZGVuTGFiZWwgPyAnaGlkZGVuJyA6ICd1bnNldCcsXG4gICAgICAgICAgICBtYXJnaW5Ub3A6IGNvcnJlY3RuZXNzSW5kaWNhdG9yID8gJzI0cHgnIDogJzAnLFxuICAgICAgICAgIH19XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG9uQmx1cj17b25DaGFuZ2VQcm9wfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn07XG5cbk1hcmtMYWJlbC5wcm9wVHlwZXMgPSB7XG4gIGF1dG9Gb2N1czogUHJvcFR5cGVzLmJvb2wsXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgZXJyb3I6IFByb3BUeXBlcy5hbnksXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUsXG4gIGlucHV0UmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgbWFyazogUHJvcFR5cGVzLm9iamVjdCxcbiAgYmFyV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gIHJvdGF0ZTogUHJvcFR5cGVzLm51bWJlcixcbiAgY29ycmVjdG5lc3M6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH0pLFxuICBpc0hpZGRlbkxhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgbGltaXRDaGFyYWN0ZXJzOiBQcm9wVHlwZXMuYm9vbCxcbiAgY29ycmVjdG5lc3NJbmRpY2F0b3I6IFByb3BUeXBlcy5ub2RlLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTWFya0xhYmVsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksbUJBQUEsR0FBQUYs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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","fontFamily","typography","fontSize","border","backgroundColor","palette","error","main","mathInput","pointerEvents","textAlign","color","primaryDark","paddingTop","disabled","correct","incorrect","flexContainer","display","flexDirection","alignItems","isFractionFormat","label","trimmedLabel","trim","fracRegex","RegExp","test","getLabelMathFormat","fraction","mixedNr","improperFraction","split","includes","formattedLLabel","undefined","MarkLabel","props","setInput","_ref","node","mark","classes","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","isHiddenLabel","limitCharacters","correctnessIndicator","setLabel","mathLabel","setMathLabel","isEditing","setIsEditing","root","onChange","e","target","value","length","isMathRendering","onChangeProp","extraStyle","width","r","__html","editable","minWidth","position","transformOrigin","transform","visibility","marginTop","background","boxSizing","paddingLeft","paddingRight","top","left","propTypes","PropTypes","bool","any","func","graphProps","types","GraphPropsType","object","number","shape","string"],"mappings":"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","sourcesContent":["import React, { useState, useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\n\nimport { types } from '@pie-lib/plot';\nimport { correct, incorrect, disabled } from './common/styles';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst styles = (theme) => ({\n input: {\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 mathInput: {\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 },\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 flexContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\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 classes,\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 let root = 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 renderMath(root);\n }, []);\n\n return (\n <div className={classes.flexContainer}>\n {correctnessIndicator}\n {isMathRendering() ? (\n <div\n ref={(r) => {\n root = r;\n externalInputRef(r);\n }}\n dangerouslySetInnerHTML={{ __html: getLabelMathFormat(label) }}\n className={classNames(classes.mathInput, {\n [classes.disabled]: disabled,\n [classes.error]: error,\n [classes.correct]: mark.editable && correctness?.label === 'correct',\n [classes.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 ></div>\n ) : (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n autoFocus={isEditing || autoFocus}\n disabled={disabled}\n inputClassName={classNames(\n classes.input,\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 ...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 </div>\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 classes: PropTypes.object,\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 withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
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","root","useRef","onChange","target","value","isMathRendering","onChangeProp","extraStyle","width","useEffect","renderMath","createElement","ref","dangerouslySetInnerHTML","__html","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, { useState, useCallback, useEffect, useRef } 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, incorrect, disabled } 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 let root = 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 renderMath(root);\n }, []);\n\n return (\n <StyledContainer>\n {correctnessIndicator}\n {isMathRendering() ? (\n <StyledMathInput\n ref={(r) => {\n root = r;\n if (typeof externalInputRef === 'function') {\n externalInputRef(r);\n }\n }}\n dangerouslySetInnerHTML={{ __html: getLabelMathFormat(label) }}\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":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _testUtils = require("@pie-lib/test-utils");
8
+ var _dot = _interopRequireWildcard(require("../dot"));
9
+ var _utils = require("./utils");
10
+ 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); }
11
+ 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; }
12
+ 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; }
13
+ describe('DotPlot', function () {
14
+ var renderComponent = function renderComponent(extras) {
15
+ var defaults = {
16
+ classes: {},
17
+ className: 'className',
18
+ graphProps: (0, _utils.graphProps)(),
19
+ xBand: function xBand() {
20
+ return {
21
+ bandwidth: function bandwidth() {}
22
+ };
23
+ }
24
+ };
25
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
26
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_dot.DotPlot, props));
27
+ };
28
+ describe('rendering', function () {
29
+ it('renders dot plot', function () {
30
+ var _renderComponent = renderComponent(),
31
+ container = _renderComponent.container;
32
+ expect(container.firstChild).toBeInTheDocument();
33
+ });
34
+ it('renders without graphProps', function () {
35
+ var _renderComponent2 = renderComponent({
36
+ graphProps: undefined
37
+ }),
38
+ container = _renderComponent2.container;
39
+ expect(container.firstChild).toBeInTheDocument();
40
+ });
41
+ });
42
+ describe('component', function () {
43
+ it('returns correct chart object', function () {
44
+ var chart = (0, _dot["default"])();
45
+ expect(chart).toEqual({
46
+ type: 'dotPlot',
47
+ Component: _dot.DotPlot,
48
+ name: 'Dot Plot'
49
+ });
50
+ });
51
+ });
52
+ });
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl90ZXN0VXRpbHMiLCJfZG90IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXRpbHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVzY3JpYmUiLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwieEJhbmQiLCJiYW5kd2lkdGgiLCJwcm9wcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJEb3RQbG90IiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlckNvbXBvbmVudDIiLCJ1bmRlZmluZWQiLCJjaGFydCIsIkRvdCIsInRvRXF1YWwiLCJ0eXBlIiwiQ29tcG9uZW50IiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbG90L19fdGVzdHNfXy9kb3QudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IERvdCwgeyBEb3RQbG90IH0gZnJvbSAnLi4vZG90JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuZGVzY3JpYmUoJ0RvdFBsb3QnLCAoKSA9PiB7XG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIHhCYW5kOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYmFuZHdpZHRoOiAoKSA9PiB7fSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPERvdFBsb3Qgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyBkb3QgcGxvdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgZ3JhcGhQcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoeyBncmFwaFByb3BzOiB1bmRlZmluZWQgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjb21wb25lbnQnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgY29ycmVjdCBjaGFydCBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjaGFydCA9IERvdCgpO1xuXG4gICAgICBleHBlY3QoY2hhcnQpLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAnZG90UGxvdCcsXG4gICAgICAgIENvbXBvbmVudDogRG90UGxvdCxcbiAgICAgICAgbmFtZTogJ0RvdCBQbG90JyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUFxQyxTQUFBRyx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUosdUJBQUEsWUFBQUEsd0JBQUFFLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEs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