@pie-lib/charting 5.15.7 → 5.16.0-beta.1

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 (90) hide show
  1. package/CHANGELOG.md +32 -70
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/lib/axes.js +74 -29
  4. package/lib/axes.js.map +1 -1
  5. package/lib/bars/common/bars.js +35 -1
  6. package/lib/bars/common/bars.js.map +1 -1
  7. package/lib/chart-type.js +4 -4
  8. package/lib/chart-type.js.map +1 -1
  9. package/lib/chart-types.js +2 -2
  10. package/lib/chart-types.js.map +1 -1
  11. package/lib/chart.js +25 -10
  12. package/lib/chart.js.map +1 -1
  13. package/lib/common/drag-handle.js +11 -5
  14. package/lib/common/drag-handle.js.map +1 -1
  15. package/lib/common/drag-icon.js +7 -24
  16. package/lib/common/drag-icon.js.map +1 -1
  17. package/lib/line/common/drag-handle.js +9 -4
  18. package/lib/line/common/drag-handle.js.map +1 -1
  19. package/lib/line/line-cross.js +16 -5
  20. package/lib/line/line-cross.js.map +1 -1
  21. package/lib/line/line-dot.js +10 -2
  22. package/lib/line/line-dot.js.map +1 -1
  23. package/lib/mark-label.js +20 -11
  24. package/lib/mark-label.js.map +1 -1
  25. package/lib/plot/common/plot.js +3 -1
  26. package/lib/plot/common/plot.js.map +1 -1
  27. package/lib/plot/dot.js +1 -1
  28. package/lib/plot/dot.js.map +1 -1
  29. package/lib/plot/line.js +1 -1
  30. package/lib/plot/line.js.map +1 -1
  31. package/lib/tool-menu.js +0 -4
  32. package/lib/tool-menu.js.map +1 -1
  33. package/package.json +32 -5
  34. package/src/__tests__/__snapshots__/axes.test.jsx.snap +564 -0
  35. package/src/__tests__/__snapshots__/chart-type.test.jsx.snap +14 -0
  36. package/src/__tests__/__snapshots__/chart.test.jsx.snap +610 -0
  37. package/src/__tests__/__snapshots__/grid.test.jsx.snap +28 -0
  38. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +67 -0
  39. package/src/__tests__/axes.test.jsx +146 -0
  40. package/src/__tests__/chart-setup.test.jsx +47 -0
  41. package/src/__tests__/chart-type.test.jsx +29 -0
  42. package/src/__tests__/chart.test.jsx +87 -0
  43. package/src/__tests__/grid.test.jsx +25 -0
  44. package/src/__tests__/mark-label.test.jsx +31 -0
  45. package/src/__tests__/utils.js +30 -0
  46. package/src/__tests__/utils.test.js +100 -0
  47. package/src/axes.jsx +59 -23
  48. package/src/bars/__tests__/__snapshots__/bar.test.jsx.snap +43 -0
  49. package/src/bars/__tests__/__snapshots__/histogram.test.jsx.snap +45 -0
  50. package/src/bars/__tests__/bar.test.jsx +37 -0
  51. package/src/bars/__tests__/histogram.test.jsx +38 -0
  52. package/src/bars/__tests__/utils.js +30 -0
  53. package/src/bars/common/__tests__/__snapshots__/bars.test.jsx.snap +110 -0
  54. package/src/bars/common/__tests__/bars.test.jsx +69 -0
  55. package/src/bars/common/__tests__/utils.js +30 -0
  56. package/src/bars/common/bars.jsx +37 -1
  57. package/src/chart-type.js +7 -3
  58. package/src/chart-types.js +2 -2
  59. package/src/chart.jsx +15 -5
  60. package/src/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +45 -0
  61. package/src/common/__tests__/drag-handle.test.jsx +88 -0
  62. package/src/common/__tests__/utils.js +30 -0
  63. package/src/common/drag-handle.jsx +18 -10
  64. package/src/common/drag-icon.jsx +6 -21
  65. package/src/line/__tests__/__snapshots__/line-cross.test.jsx.snap +45 -0
  66. package/src/line/__tests__/__snapshots__/line-dot.test.jsx.snap +45 -0
  67. package/src/line/__tests__/line-cross.test.jsx +38 -0
  68. package/src/line/__tests__/line-dot.test.jsx +38 -0
  69. package/src/line/__tests__/utils.js +30 -0
  70. package/src/line/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +44 -0
  71. package/src/line/common/__tests__/__snapshots__/line.test.jsx.snap +141 -0
  72. package/src/line/common/__tests__/drag-handle.test.jsx +88 -0
  73. package/src/line/common/__tests__/line.test.jsx +82 -0
  74. package/src/line/common/__tests__/utils.js +30 -0
  75. package/src/line/common/drag-handle.jsx +9 -4
  76. package/src/line/line-cross.js +4 -1
  77. package/src/line/line-dot.js +17 -7
  78. package/src/mark-label.jsx +19 -7
  79. package/src/plot/__tests__/__snapshots__/dot.test.jsx.snap +45 -0
  80. package/src/plot/__tests__/__snapshots__/line.test.jsx.snap +45 -0
  81. package/src/plot/__tests__/dot.test.jsx +38 -0
  82. package/src/plot/__tests__/line.test.jsx +38 -0
  83. package/src/plot/__tests__/utils.js +30 -0
  84. package/src/plot/common/__tests__/__snapshots__/plot.test.jsx.snap +96 -0
  85. package/src/plot/common/__tests__/plot.test.jsx +70 -0
  86. package/src/plot/common/__tests__/utils.js +30 -0
  87. package/src/plot/common/plot.jsx +6 -1
  88. package/src/plot/dot.js +1 -1
  89. package/src/plot/line.js +1 -1
  90. package/src/tool-menu.jsx +0 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/line/line-cross.js"],"names":["DraggableComponent","props","classes","className","scale","x","y","r","correctness","rest","line","value","d","propTypes","PropTypes","object","number","string","shape","label","LineCross","data","graphProps","size","xBand","width","React","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 { types } from '@pie-lib/plot';\nimport { LinePath } from '@vx/shape';\nimport { Group } from '@vx/group';\nimport classNames from 'classnames';\nimport { dataToXBand } from '../utils';\nimport RawLine from './common/line';\n\nconst DraggableComponent = (props) => {\n const { classes = {}, className, scale, x, y, r, correctness, ...rest } = props;\n\n return (\n <Group {...rest} className={classNames(className, classes.line, correctness && correctness.value)}>\n <LinePath\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 />\n <LinePath\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 />\n </Group>\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 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"],"file":"line-cross.js"}
1
+ {"version":3,"sources":["../../src/line/line-cross.js"],"names":["DraggableComponent","props","classes","className","scale","x","y","r","correctness","rest","line","value","d","pointerEvents","transparentHandle","propTypes","PropTypes","object","number","string","shape","label","LineCross","data","graphProps","size","xBand","width","React","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 { types } from '@pie-lib/plot';\nimport { LinePath } from '@vx/shape';\nimport { Group } from '@vx/group';\nimport classNames from 'classnames';\nimport { dataToXBand } from '../utils';\nimport RawLine from './common/line';\n\nconst DraggableComponent = (props) => {\n const { classes = {}, className, scale, x, y, r, correctness, ...rest } = props;\n\n return (\n <Group className={classNames(className, classes.line, correctness && correctness.value)}>\n <LinePath\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 <LinePath\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 <circle cx={scale.x(x)} cy={scale.y(y)} r={r * 2} className={classNames(classes.transparentHandle)} {...rest} />\n </Group>\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 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"],"file":"line-cross.js"}
@@ -50,12 +50,20 @@ var DraggableComponent = function DraggableComponent(_ref) {
50
50
  r = _ref.r,
51
51
  correctness = _ref.correctness,
52
52
  rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
53
- return /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({
53
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({
54
+ cx: scale.x(x),
55
+ cy: scale.y(y),
56
+ r: r * 3,
57
+ className: (0, _classnames["default"])(classes.transparentHandle, className),
58
+ style: {
59
+ pointerEvents: 'none'
60
+ }
61
+ }, rest)), /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({
54
62
  cx: scale.x(x),
55
63
  cy: scale.y(y),
56
64
  r: r,
57
65
  className: (0, _classnames["default"])(className, classes.handle, correctness && correctness.value)
58
- }, rest));
66
+ }, rest)));
59
67
  };
60
68
 
61
69
  DraggableComponent.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/line/line-dot.js"],"names":["DraggableComponent","scale","x","y","className","classes","r","correctness","rest","handle","value","propTypes","PropTypes","object","number","string","shape","label","LineDot","props","data","graphProps","size","xBand","width","React","Component","array","onChange","func","types","GraphPropsType","isRequired","type","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,MAAUC,CAAV,QAAUA,CAAV;AAAA,MAAaC,CAAb,QAAaA,CAAb;AAAA,MAAgBC,SAAhB,QAAgBA,SAAhB;AAAA,MAA2BC,OAA3B,QAA2BA,OAA3B;AAAA,MAAoCC,CAApC,QAAoCA,CAApC;AAAA,MAAuCC,WAAvC,QAAuCA,WAAvC;AAAA,MAAuDC,IAAvD;AAAA,sBACzB;AACE,IAAA,EAAE,EAAEP,KAAK,CAACC,CAAN,CAAQA,CAAR,CADN;AAEE,IAAA,EAAE,EAAED,KAAK,CAACE,CAAN,CAAQA,CAAR,CAFN;AAGE,IAAA,CAAC,EAAEG,CAHL;AAIE,IAAA,SAAS,EAAE,4BAAWF,SAAX,EAAsBC,OAAO,CAACI,MAA9B,EAAsCF,WAAW,IAAIA,WAAW,CAACG,KAAjE;AAJb,KAKMF,IALN,EADyB;AAAA,CAA3B;;AAUAR,kBAAkB,CAACW,SAAnB,GAA+B;AAC7BV,EAAAA,KAAK,EAAEW,sBAAUC,MADY;AAE7BX,EAAAA,CAAC,EAAEU,sBAAUE,MAFgB;AAG7BX,EAAAA,CAAC,EAAES,sBAAUE,MAHgB;AAI7BR,EAAAA,CAAC,EAAEM,sBAAUE,MAJgB;AAK7BV,EAAAA,SAAS,EAAEQ,sBAAUG,MALQ;AAM7BV,EAAAA,OAAO,EAAEO,sBAAUC,MANU;AAO7BN,EAAAA,WAAW,EAAEK,sBAAUI,KAAV,CAAgB;AAC3BN,IAAAA,KAAK,EAAEE,sBAAUG,MADU;AAE3BE,IAAAA,KAAK,EAAEL,sBAAUG;AAFU,GAAhB;AAPgB,CAA/B;;IAaaG,O;;;;;;;;;;;;WAOX,kBAAS;AACP,UAAMC,KAAK,GAAG,KAAKA,KAAnB;AACA,UAAQC,IAAR,GAA6BD,KAA7B,CAAQC,IAAR;AAAA,UAAcC,UAAd,GAA6BF,KAA7B,CAAcE,UAAd;;AACA,kBAAkCA,UAAU,IAAI,EAAhD;AAAA,8BAAQpB,KAAR;AAAA,UAAQA,KAAR,4BAAgB,EAAhB;AAAA,6BAAoBqB,IAApB;AAAA,UAAoBA,IAApB,2BAA2B,EAA3B;;AACA,UAAMC,KAAK,GAAG,wBAAYtB,KAAK,CAACC,CAAlB,EAAqBkB,IAArB,EAA2BE,IAAI,CAACE,KAAhC,EAAuC,SAAvC,CAAd;AAEA,0BAAO,gCAAC,gBAAD,gCAAaL,KAAb;AAAoB,QAAA,KAAK,EAAEI,KAA3B;AAAkC,QAAA,wBAAwB,EAAEvB;AAA5D,SAAP;AACD;;;EAd0ByB,kBAAMC,S;;;iCAAtBR,O,eACQ;AACjBE,EAAAA,IAAI,EAAER,sBAAUe,KADC;AAEjBC,EAAAA,QAAQ,EAAEhB,sBAAUiB,IAFH;AAGjBR,EAAAA,UAAU,EAAES,YAAMC,cAAN,CAAqBC;AAHhB,C;;eAgBN;AAAA,SAAO;AACpBC,IAAAA,IAAI,EAAE,SADc;AAEpBP,IAAAA,SAAS,EAAER,OAFS;AAGpBgB,IAAAA,IAAI,EAAE;AAHc,GAAP;AAAA,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport RawLine from './common/line';\nimport classNames from 'classnames';\n\nconst DraggableComponent = ({ scale, x, y, className, classes, r, correctness, ...rest }) => (\n <circle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r}\n className={classNames(className, classes.handle, correctness && correctness.value)}\n {...rest}\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,"sources":["../../src/line/line-dot.js"],"names":["DraggableComponent","scale","x","y","className","classes","r","correctness","rest","transparentHandle","pointerEvents","handle","value","propTypes","PropTypes","object","number","string","shape","label","LineDot","props","data","graphProps","size","xBand","width","React","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 { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport RawLine from './common/line';\nimport classNames from 'classnames';\n\nconst DraggableComponent = ({ scale, x, y, className, classes, r, correctness, ...rest }) => (\n <g>\n <circle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r * 3}\n className={classNames(classes.transparentHandle, className)}\n style={{ pointerEvents: '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 && correctness.value)}\n {...rest}\n />\n </g>\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"}
package/lib/mark-label.js CHANGED
@@ -49,9 +49,9 @@ var styles = function styles(theme) {
49
49
  color: _renderUi.color.primaryDark(),
50
50
  '&.correct': (0, _styles2.correct)('color'),
51
51
  '&.incorrect': (0, _styles2.incorrect)('color'),
52
- '&.disabled': _objectSpread(_objectSpread({}, (0, _styles2.disabled)('color')), {}, {
52
+ '&.disabled': {
53
53
  backgroundColor: 'transparent !important'
54
- }),
54
+ },
55
55
  '&.error': {
56
56
  border: "2px solid ".concat(theme.palette.error.main)
57
57
  }
@@ -59,9 +59,10 @@ var styles = function styles(theme) {
59
59
  mathInput: {
60
60
  pointerEvents: 'auto',
61
61
  textAlign: 'center',
62
- fontSize: theme.typography.fontSize,
62
+ fontSize: theme.typography.fontSize + 2,
63
63
  fontFamily: theme.typography.fontFamily,
64
- color: _renderUi.color.primaryDark()
64
+ color: _renderUi.color.primaryDark(),
65
+ paddingTop: theme.typography.fontSize / 2
65
66
  },
66
67
  disabled: _objectSpread(_objectSpread({}, (0, _styles2.disabled)('color')), {}, {
67
68
  backgroundColor: 'transparent !important'
@@ -127,7 +128,8 @@ var MarkLabel = function MarkLabel(props) {
127
128
  rotate = props.rotate,
128
129
  correctness = props.correctness,
129
130
  autoFocus = props.autoFocus,
130
- error = props.error;
131
+ error = props.error,
132
+ isHiddenLabel = props.isHiddenLabel;
131
133
 
132
134
  var _useState3 = (0, _react.useState)(mark.label),
133
135
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
@@ -178,17 +180,22 @@ var MarkLabel = function MarkLabel(props) {
178
180
  }, []);
179
181
  return isMathRendering() ? /*#__PURE__*/_react["default"].createElement("div", {
180
182
  ref: function ref(r) {
181
- return root = r;
183
+ root = r;
184
+ externalInputRef(r);
182
185
  },
183
186
  dangerouslySetInnerHTML: {
184
187
  __html: getLabelMathFormat(label)
185
188
  },
186
- 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, correctness && correctness.label === 'correct'), (0, _defineProperty2["default"])(_classNames, classes.incorrect, correctness && correctness.label === 'incorrect'), _classNames)),
189
+ 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)),
187
190
  onClick: function onClick() {
188
191
  return setIsEditing(true);
189
192
  },
190
193
  style: {
191
- minWidth: barWidth
194
+ minWidth: barWidth,
195
+ position: 'fixed',
196
+ transformOrigin: 'left',
197
+ transform: "rotate(".concat(rotate, "deg)"),
198
+ visibility: isHiddenLabel ? 'hidden' : 'unset'
192
199
  }
193
200
  }) : /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
194
201
  inputRef: function inputRef(r) {
@@ -198,7 +205,7 @@ var MarkLabel = function MarkLabel(props) {
198
205
  },
199
206
  autoFocus: isEditing || autoFocus,
200
207
  disabled: disabled,
201
- inputClassName: (0, _classnames["default"])(classes.input, correctness && correctness.label, disabled && 'disabled', error && 'error'),
208
+ inputClassName: (0, _classnames["default"])(classes.input, correctness && mark.editable ? correctness.label : null, disabled && 'disabled', error && 'error'),
202
209
  inputStyle: _objectSpread({
203
210
  minWidth: barWidth,
204
211
  textAlign: 'center',
@@ -215,7 +222,8 @@ var MarkLabel = function MarkLabel(props) {
215
222
  left: 0,
216
223
  minWidth: barWidth,
217
224
  transformOrigin: 'left',
218
- transform: "rotate(".concat(rotate, "deg)")
225
+ transform: "rotate(".concat(rotate, "deg)"),
226
+ visibility: isHiddenLabel ? 'hidden' : 'unset'
219
227
  },
220
228
  onChange: onChange,
221
229
  onBlur: onChangeProp
@@ -237,7 +245,8 @@ MarkLabel.propTypes = {
237
245
  correctness: _propTypes["default"].shape({
238
246
  value: _propTypes["default"].string,
239
247
  label: _propTypes["default"].string
240
- })
248
+ }),
249
+ isHiddenLabel: _propTypes["default"].bool
241
250
  };
242
251
 
243
252
  var _default = (0, _styles.withStyles)(styles)(MarkLabel);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","fontFamily","typography","fontSize","border","color","primaryDark","backgroundColor","palette","error","main","mathInput","pointerEvents","textAlign","disabled","correct","incorrect","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","setLabel","mathLabel","setMathLabel","isEditing","setIsEditing","root","onChange","e","target","value","isMathRendering","onChangeProp","extraStyle","width","r","__html","minWidth","background","boxSizing","paddingLeft","paddingRight","position","top","left","transformOrigin","transform","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';\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 color: color.primaryDark(),\n '&.correct': correct('color'),\n '&.incorrect': incorrect('color'),\n '&.disabled': {\n ...disabled('color'),\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,\n fontFamily: theme.typography.fontFamily,\n color: color.primaryDark(),\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});\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 } = 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 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 isMathRendering() ? (\n <div\n ref={(r) => (root = r)}\n dangerouslySetInnerHTML={{ __html: getLabelMathFormat(label) }}\n className={classNames(classes.mathInput, {\n [classes.disabled]: disabled,\n [classes.error]: error,\n [classes.correct]: correctness && correctness.label === 'correct',\n [classes.incorrect]: correctness && correctness.label === 'incorrect',\n })}\n onClick={() => setIsEditing(true)}\n style={{ minWidth: barWidth }}\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 && correctness.label,\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 }}\n onChange={onChange}\n onBlur={onChangeProp}\n />\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};\n\nexport default withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
1
+ {"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","fontFamily","typography","fontSize","border","color","primaryDark","backgroundColor","palette","error","main","mathInput","pointerEvents","textAlign","paddingTop","disabled","correct","incorrect","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","setLabel","mathLabel","setMathLabel","isEditing","setIsEditing","root","onChange","e","target","value","isMathRendering","onChangeProp","extraStyle","width","r","__html","editable","minWidth","position","transformOrigin","transform","visibility","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';\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 color: color.primaryDark(),\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});\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 } = 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 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 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 }}\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 }}\n onChange={onChange}\n onBlur={onChangeProp}\n />\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};\n\nexport default withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
@@ -150,7 +150,9 @@ var RawPlot = /*#__PURE__*/function (_React$Component) {
150
150
  var Component = interactive ? _dragHandle["default"] : _dragHandle.DragHandle;
151
151
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("g", {
152
152
  onMouseEnter: this.handleMouseEnter,
153
- onMouseLeave: this.handleMouseLeave
153
+ onMouseLeave: this.handleMouseLeave,
154
+ onTouchStart: this.handleMouseEnter,
155
+ onTouchEnd: this.handleMouseLeave
154
156
  }, isHovered && /*#__PURE__*/_react["default"].createElement("rect", {
155
157
  x: barX,
156
158
  y: scale.y(v),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/plot/common/plot.jsx"],"names":["log","RawPlot","props","setState","isHovered","dragValue","label","onChangeCategory","state","undefined","value","setDragValue","existing","next","graphProps","classes","xBand","index","CustomBarElement","interactive","correctness","defineChart","scale","range","size","max","v","Number","isFinite","barWidth","bandwidth","barHeight","y","barX","values","i","push","pointHeight","height","pointDiameter","Component","DraggableHandle","DragHandle","handleMouseEnter","handleMouseLeave","length","fill","map","dragStop","color","primaryDark","React","PropTypes","func","number","object","string","isRequired","types","GraphPropsType","bool","shape","Bar","dot","primaryLight","line","stroke","Plot","data","d","category","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { Group } from '@vx/group';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport DraggableHandle, { DragHandle } from '../../common/drag-handle';\nimport debug from 'debug';\nimport { color } from '@pie-lib/render-ui';\nimport { bandKey } from '../../utils';\nimport { correct, incorrect } from '../../common/styles';\n\nconst log = debug('pie-lib:chart:bars');\n\nexport class RawPlot extends React.Component {\n static propTypes = {\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n classes: PropTypes.object,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n CustomBarElement: PropTypes.func,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n isHovered: false,\n };\n }\n\n handleMouseEnter = () => {\n this.setState({ isHovered: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ isHovered: false });\n };\n\n setDragValue = (dragValue) => this.setState({ dragValue });\n\n dragStop = () => {\n const { label, onChangeCategory } = this.props;\n const { dragValue } = this.state;\n log('[dragStop]', dragValue);\n\n if (dragValue !== undefined) {\n onChangeCategory({ label, value: dragValue });\n }\n\n this.setDragValue(undefined);\n };\n\n dragValue = (existing, next) => {\n log('[dragValue] next:', next);\n\n this.setDragValue(next);\n };\n\n render() {\n const {\n graphProps,\n value,\n label,\n classes,\n xBand,\n index,\n CustomBarElement,\n interactive,\n correctness,\n defineChart,\n } = this.props;\n\n const { scale, range, size } = graphProps;\n const { max } = range || {};\n const { dragValue, isHovered } = this.state;\n\n const v = Number.isFinite(dragValue) ? dragValue : value;\n const barWidth = xBand.bandwidth();\n const barHeight = scale.y(range.max - v);\n const barX = xBand(bandKey({ label }, index));\n\n log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);\n\n const values = [];\n\n for (let i = 0; i < v; i++) {\n values.push(i);\n }\n\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n const Component = interactive ? DraggableHandle : DragHandle;\n\n return (\n <React.Fragment>\n <g onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>\n {isHovered && (\n <rect\n x={barX}\n y={scale.y(v)}\n width={barWidth}\n height={values?.length ? pointHeight * values.length : 0}\n style={{ fill: '#E5E8F5' }}\n />\n )}\n {values.map((index) =>\n CustomBarElement({\n index,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n classes,\n scale,\n }),\n )}\n <Component\n x={barX}\n y={v}\n interactive={interactive}\n width={barWidth}\n onDrag={(v) => this.dragValue(value, v)}\n onDragStop={this.dragStop}\n graphProps={graphProps}\n correctness={correctness}\n isHovered={isHovered}\n defineChart={defineChart}\n color={color.primaryDark()}\n />\n </g>\n </React.Fragment>\n );\n }\n}\n\nconst Bar = withStyles(() => ({\n dot: {\n fill: color.primaryLight(),\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n line: {\n stroke: color.primaryLight(),\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n}))(RawPlot);\n\nexport class Plot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChangeCategory: PropTypes.func,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n defineChart: PropTypes.bool,\n CustomBarElement: PropTypes.func,\n };\n\n render() {\n const { data, graphProps, xBand, CustomBarElement, onChangeCategory, defineChart } = this.props;\n\n return (\n <Group>\n {(data || []).map((d, index) => (\n <Bar\n value={d.value}\n label={d.label}\n interactive={defineChart || d.interactive}\n defineChart={defineChart}\n xBand={xBand}\n index={index}\n key={`bar-${d.label}-${d.value}-${index}`}\n onChangeCategory={(category) => onChangeCategory(index, category)}\n graphProps={graphProps}\n CustomBarElement={CustomBarElement}\n correctness={d.correctness}\n />\n ))}\n </Group>\n );\n }\n}\n\nexport default Plot;\n"],"file":"plot.js"}
1
+ {"version":3,"sources":["../../../src/plot/common/plot.jsx"],"names":["log","RawPlot","props","setState","isHovered","dragValue","label","onChangeCategory","state","undefined","value","setDragValue","existing","next","graphProps","classes","xBand","index","CustomBarElement","interactive","correctness","defineChart","scale","range","size","max","v","Number","isFinite","barWidth","bandwidth","barHeight","y","barX","values","i","push","pointHeight","height","pointDiameter","Component","DraggableHandle","DragHandle","handleMouseEnter","handleMouseLeave","length","fill","map","dragStop","color","primaryDark","React","PropTypes","func","number","object","string","isRequired","types","GraphPropsType","bool","shape","Bar","dot","primaryLight","line","stroke","Plot","data","d","category","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { Group } from '@vx/group';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport DraggableHandle, { DragHandle } from '../../common/drag-handle';\nimport debug from 'debug';\nimport { color } from '@pie-lib/render-ui';\nimport { bandKey } from '../../utils';\nimport { correct, incorrect } from '../../common/styles';\n\nconst log = debug('pie-lib:chart:bars');\n\nexport class RawPlot extends React.Component {\n static propTypes = {\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n classes: PropTypes.object,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n CustomBarElement: PropTypes.func,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n isHovered: false,\n };\n }\n\n handleMouseEnter = () => {\n this.setState({ isHovered: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ isHovered: false });\n };\n\n setDragValue = (dragValue) => this.setState({ dragValue });\n\n dragStop = () => {\n const { label, onChangeCategory } = this.props;\n const { dragValue } = this.state;\n log('[dragStop]', dragValue);\n\n if (dragValue !== undefined) {\n onChangeCategory({ label, value: dragValue });\n }\n\n this.setDragValue(undefined);\n };\n\n dragValue = (existing, next) => {\n log('[dragValue] next:', next);\n\n this.setDragValue(next);\n };\n\n render() {\n const {\n graphProps,\n value,\n label,\n classes,\n xBand,\n index,\n CustomBarElement,\n interactive,\n correctness,\n defineChart,\n } = this.props;\n\n const { scale, range, size } = graphProps;\n const { max } = range || {};\n const { dragValue, isHovered } = this.state;\n\n const v = Number.isFinite(dragValue) ? dragValue : value;\n const barWidth = xBand.bandwidth();\n const barHeight = scale.y(range.max - v);\n const barX = xBand(bandKey({ label }, index));\n\n log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);\n\n const values = [];\n\n for (let i = 0; i < v; i++) {\n values.push(i);\n }\n\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n const Component = interactive ? DraggableHandle : DragHandle;\n\n return (\n <React.Fragment>\n <g\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onTouchStart={this.handleMouseEnter}\n onTouchEnd={this.handleMouseLeave}\n >\n {isHovered && (\n <rect\n x={barX}\n y={scale.y(v)}\n width={barWidth}\n height={values?.length ? pointHeight * values.length : 0}\n style={{ fill: '#E5E8F5' }}\n />\n )}\n {values.map((index) =>\n CustomBarElement({\n index,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n classes,\n scale,\n }),\n )}\n <Component\n x={barX}\n y={v}\n interactive={interactive}\n width={barWidth}\n onDrag={(v) => this.dragValue(value, v)}\n onDragStop={this.dragStop}\n graphProps={graphProps}\n correctness={correctness}\n isHovered={isHovered}\n defineChart={defineChart}\n color={color.primaryDark()}\n />\n </g>\n </React.Fragment>\n );\n }\n}\n\nconst Bar = withStyles(() => ({\n dot: {\n fill: color.primaryLight(),\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n line: {\n stroke: color.primaryLight(),\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n}))(RawPlot);\n\nexport class Plot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChangeCategory: PropTypes.func,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n defineChart: PropTypes.bool,\n CustomBarElement: PropTypes.func,\n };\n\n render() {\n const { data, graphProps, xBand, CustomBarElement, onChangeCategory, defineChart } = this.props;\n\n return (\n <Group>\n {(data || []).map((d, index) => (\n <Bar\n value={d.value}\n label={d.label}\n interactive={defineChart || d.interactive}\n defineChart={defineChart}\n xBand={xBand}\n index={index}\n key={`bar-${d.label}-${d.value}-${index}`}\n onChangeCategory={(category) => onChangeCategory(index, category)}\n graphProps={graphProps}\n CustomBarElement={CustomBarElement}\n correctness={d.correctness}\n />\n ))}\n </Group>\n );\n }\n}\n\nexport default Plot;\n"],"file":"plot.js"}
package/lib/plot/dot.js CHANGED
@@ -29,7 +29,7 @@ var _plot = require("@pie-lib/plot");
29
29
 
30
30
  var _utils = require("../utils");
31
31
 
32
- var _plot2 = _interopRequireDefault(require("./common/plot"));
32
+ var _plot2 = _interopRequireDefault(require("./comm@pie-lib/plot"));
33
33
 
34
34
  var _shape = require("@vx/shape");
35
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plot/dot.js"],"names":["CustomBarElement","props","index","pointDiameter","barX","barWidth","pointHeight","label","value","classes","scale","r","cx","cy","y","dot","propTypes","PropTypes","number","string","object","DotPlot","data","graphProps","size","xBand","x","width","React","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 { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Plot from './common/plot';\nimport { Circle } from '@vx/shape';\n\nconst CustomBarElement = (props) => {\n const { index, pointDiameter, barX, barWidth, pointHeight, label, value, classes, scale } = props;\n\n const r = pointDiameter / 2;\n const cx = barX + (barWidth - pointDiameter) / 2 + r;\n const cy = scale.y(index) - (pointHeight - pointDiameter) / 2 - r;\n\n return <Circle key={`point-${label}-${value}-${index}`} className={classes.dot} cx={cx} cy={cy} r={r} />;\n};\n\nCustomBarElement.propTypes = {\n index: PropTypes.number,\n pointDiameter: PropTypes.number,\n barX: PropTypes.number,\n barWidth: PropTypes.number,\n pointHeight: PropTypes.number,\n value: PropTypes.number,\n label: PropTypes.string,\n classes: PropTypes.object,\n scale: PropTypes.object,\n};\n\nexport class DotPlot 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, 'dotPlot');\n\n return <Plot {...props} xBand={xBand} CustomBarElement={CustomBarElement} />;\n }\n}\n\nexport default () => ({\n type: 'dotPlot',\n Component: DotPlot,\n name: 'Dot Plot',\n});\n"],"file":"dot.js"}
1
+ {"version":3,"sources":["../../src/plot/dot.js"],"names":["CustomBarElement","props","index","pointDiameter","barX","barWidth","pointHeight","label","value","classes","scale","r","cx","cy","y","dot","propTypes","PropTypes","number","string","object","DotPlot","data","graphProps","size","xBand","x","width","React","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 { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Plot from './comm@pie-lib/plot';\nimport { Circle } from '@vx/shape';\n\nconst CustomBarElement = (props) => {\n const { index, pointDiameter, barX, barWidth, pointHeight, label, value, classes, scale } = props;\n\n const r = pointDiameter / 2;\n const cx = barX + (barWidth - pointDiameter) / 2 + r;\n const cy = scale.y(index) - (pointHeight - pointDiameter) / 2 - r;\n\n return <Circle key={`point-${label}-${value}-${index}`} className={classes.dot} cx={cx} cy={cy} r={r} />;\n};\n\nCustomBarElement.propTypes = {\n index: PropTypes.number,\n pointDiameter: PropTypes.number,\n barX: PropTypes.number,\n barWidth: PropTypes.number,\n pointHeight: PropTypes.number,\n value: PropTypes.number,\n label: PropTypes.string,\n classes: PropTypes.object,\n scale: PropTypes.object,\n};\n\nexport class DotPlot 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, 'dotPlot');\n\n return <Plot {...props} xBand={xBand} CustomBarElement={CustomBarElement} />;\n }\n}\n\nexport default () => ({\n type: 'dotPlot',\n Component: DotPlot,\n name: 'Dot Plot',\n});\n"],"file":"dot.js"}
package/lib/plot/line.js CHANGED
@@ -29,7 +29,7 @@ var _plot = require("@pie-lib/plot");
29
29
 
30
30
  var _utils = require("../utils");
31
31
 
32
- var _plot2 = _interopRequireDefault(require("./common/plot"));
32
+ var _plot2 = _interopRequireDefault(require("./comm@pie-lib/plot"));
33
33
 
34
34
  var _shape = require("@vx/shape");
35
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plot/line.js"],"names":["CustomBarElement","props","index","pointDiameter","barX","barWidth","pointHeight","label","value","classes","scale","x","y","line","d","propTypes","PropTypes","number","string","object","LinePlot","data","graphProps","size","xBand","width","React","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 { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Plot from './common/plot';\nimport { LinePath } from '@vx/shape';\nimport { Group } from '@vx/group';\n\nconst CustomBarElement = (props) => {\n const { index, pointDiameter, barX, barWidth, pointHeight, label, value, classes, scale } = props;\n\n const x = barX + (barWidth - pointDiameter) / 2;\n const y = scale.y(index) - (pointHeight - pointDiameter) / 2;\n\n return (\n <Group>\n <LinePath\n data={[\n { x, y },\n { x: x + pointDiameter, y: y - pointDiameter },\n ]}\n key={`point-${label}-${value}-${index}-1`}\n className={classes.line}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={pointDiameter / 5}\n />\n <LinePath\n data={[\n { x, y: y - pointDiameter },\n { x: x + pointDiameter, y },\n ]}\n key={`point-${label}-${value}-${index}-2`}\n className={classes.line}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={pointDiameter / 5}\n />\n </Group>\n );\n};\n\nCustomBarElement.propTypes = {\n index: PropTypes.number,\n pointDiameter: PropTypes.number,\n barX: PropTypes.number,\n barWidth: PropTypes.number,\n pointHeight: PropTypes.number,\n value: PropTypes.number,\n label: PropTypes.string,\n classes: PropTypes.object,\n scale: PropTypes.object,\n};\n\nexport class LinePlot 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, 'linePlot');\n\n return <Plot {...props} xBand={xBand} CustomBarElement={CustomBarElement} />;\n }\n}\n\nexport default () => ({\n type: 'linePlot',\n Component: LinePlot,\n name: 'Line Plot',\n});\n"],"file":"line.js"}
1
+ {"version":3,"sources":["../../src/plot/line.js"],"names":["CustomBarElement","props","index","pointDiameter","barX","barWidth","pointHeight","label","value","classes","scale","x","y","line","d","propTypes","PropTypes","number","string","object","LinePlot","data","graphProps","size","xBand","width","React","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 { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Plot from './comm@pie-lib/plot';\nimport { LinePath } from '@vx/shape';\nimport { Group } from '@vx/group';\n\nconst CustomBarElement = (props) => {\n const { index, pointDiameter, barX, barWidth, pointHeight, label, value, classes, scale } = props;\n\n const x = barX + (barWidth - pointDiameter) / 2;\n const y = scale.y(index) - (pointHeight - pointDiameter) / 2;\n\n return (\n <Group>\n <LinePath\n data={[\n { x, y },\n { x: x + pointDiameter, y: y - pointDiameter },\n ]}\n key={`point-${label}-${value}-${index}-1`}\n className={classes.line}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={pointDiameter / 5}\n />\n <LinePath\n data={[\n { x, y: y - pointDiameter },\n { x: x + pointDiameter, y },\n ]}\n key={`point-${label}-${value}-${index}-2`}\n className={classes.line}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={pointDiameter / 5}\n />\n </Group>\n );\n};\n\nCustomBarElement.propTypes = {\n index: PropTypes.number,\n pointDiameter: PropTypes.number,\n barX: PropTypes.number,\n barWidth: PropTypes.number,\n pointHeight: PropTypes.number,\n value: PropTypes.number,\n label: PropTypes.string,\n classes: PropTypes.object,\n scale: PropTypes.object,\n};\n\nexport class LinePlot 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, 'linePlot');\n\n return <Plot {...props} xBand={xBand} CustomBarElement={CustomBarElement} />;\n }\n}\n\nexport default () => ({\n type: 'linePlot',\n Component: LinePlot,\n name: 'Line Plot',\n});\n"],"file":"line.js"}
package/lib/tool-menu.js CHANGED
@@ -42,12 +42,8 @@ var translator = _translator["default"].translator;
42
42
  var buttonStyles = function buttonStyles(theme) {
43
43
  return {
44
44
  root: {
45
- backgroundColor: _renderUi.color.background(),
46
45
  color: _renderUi.color.text(),
47
46
  border: "1px solid ".concat(_renderUi.color.secondary()),
48
- '&:hover': {
49
- backgroundColor: _renderUi.color.secondaryLight()
50
- },
51
47
  fontSize: theme.typography.fontSize
52
48
  },
53
49
  selected: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tool-menu.jsx"],"names":["translator","Translator","buttonStyles","theme","root","backgroundColor","color","background","text","border","secondary","secondaryLight","fontSize","typography","selected","primaryDark","notSelected","primary","disabled","MiniButton","props","classes","className","value","onClick","propTypes","PropTypes","bool","string","disabledClassName","func","ToolMenu","addCategory","language","t","lng","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst buttonStyles = (theme) => ({\n root: {\n backgroundColor: color.background(),\n color: color.text(),\n border: `1px solid ${color.secondary()}`,\n '&:hover': {\n backgroundColor: color.secondaryLight(),\n },\n fontSize: theme.typography.fontSize,\n },\n selected: {\n backgroundColor: color.background(),\n '& span': {\n color: color.primaryDark(),\n },\n },\n notSelected: {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.background(),\n },\n disabled: {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.disabled(),\n },\n});\n\nexport const MiniButton = withStyles(buttonStyles)((props) => {\n const { disabled, classes, className, selected, value, onClick } = props;\n return (\n <Button\n size=\"small\"\n disabled={disabled}\n color={selected ? 'secondary' : 'default'}\n className={cn(classes.root, selected && classes.selected, className)}\n classes={{ disabled: cn(disabled && classes.disabled) }}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={onClick}\n >\n {value}\n </Button>\n );\n});\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n addCategory: PropTypes.func,\n disabled: PropTypes.bool,\n language: PropTypes.string,\n };\n\n static defaultProps = {};\n\n render() {\n const { className, disabled, addCategory, language } = this.props;\n\n return (\n <div className={classNames(className)}>\n {!disabled && (\n <MiniButton value={translator.t('charting.addCategory', { lng: language })} onClick={addCategory} />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"file":"tool-menu.js"}
1
+ {"version":3,"sources":["../src/tool-menu.jsx"],"names":["translator","Translator","buttonStyles","theme","root","color","text","border","secondary","fontSize","typography","selected","backgroundColor","background","primaryDark","notSelected","primary","disabled","MiniButton","props","classes","className","value","onClick","propTypes","PropTypes","bool","string","disabledClassName","func","ToolMenu","addCategory","language","t","lng","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst buttonStyles = (theme) => ({\n root: {\n color: color.text(),\n border: `1px solid ${color.secondary()}`,\n fontSize: theme.typography.fontSize,\n },\n selected: {\n backgroundColor: color.background(),\n '& span': {\n color: color.primaryDark(),\n },\n },\n notSelected: {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.background(),\n },\n disabled: {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.disabled(),\n },\n});\n\nexport const MiniButton = withStyles(buttonStyles)((props) => {\n const { disabled, classes, className, selected, value, onClick } = props;\n return (\n <Button\n size=\"small\"\n disabled={disabled}\n color={selected ? 'secondary' : 'default'}\n className={cn(classes.root, selected && classes.selected, className)}\n classes={{ disabled: cn(disabled && classes.disabled) }}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={onClick}\n >\n {value}\n </Button>\n );\n});\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n addCategory: PropTypes.func,\n disabled: PropTypes.bool,\n language: PropTypes.string,\n };\n\n static defaultProps = {};\n\n render() {\n const { className, disabled, addCategory, language } = this.props;\n\n return (\n <div className={classNames(className)}>\n {!disabled && (\n <MiniButton value={translator.t('charting.addCategory', { lng: language })} onClick={addCategory} />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"file":"tool-menu.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "5.15.7",
6
+ "version": "5.16.0-beta.1",
7
7
  "description": "charting",
8
8
  "keywords": [
9
9
  "react",
@@ -19,8 +19,14 @@
19
19
  "dependencies": {
20
20
  "@mapbox/point-geometry": "^0.1.0",
21
21
  "@material-ui/core": "^3.8.3",
22
- "@pie-lib/plot": "^2.7.3",
23
- "@pie-lib/translator": "^2.3.1",
22
+ "@material-ui/icons": "^3.0.2",
23
+ "@pie-framework/mathml-to-latex": "1.4.4",
24
+ "@pie-framework/mathquill": "1.1.4",
25
+ "@pie-lib/config-ui": "latest",
26
+ "@pie-lib/math-rendering": "latest",
27
+ "@pie-lib/plot": "latest",
28
+ "@pie-lib/render-ui": "latest",
29
+ "@pie-lib/translator": "latest",
24
30
  "@vx/axis": "^0.0.183",
25
31
  "@vx/event": "^0.0.182",
26
32
  "@vx/grid": "^0.0.183",
@@ -32,17 +38,38 @@
32
38
  "d3-scale": "^2.1.2",
33
39
  "d3-selection": "^1.3.2",
34
40
  "debug": "^4.1.1",
41
+ "immutable": "^4.0.0-rc.12",
35
42
  "invariant": "^2.2.4",
36
43
  "lodash": "^4.17.11",
44
+ "mathjax-full": "3.2.2",
45
+ "mathjs": "^7.0.1",
46
+ "prop-types": "^15.7.2",
37
47
  "react": "^16.8.1",
48
+ "react-attr-converter": "^0.3.1",
49
+ "react-dnd": "^14.0.5",
50
+ "react-dnd-html5-backend": "^14.0.2",
51
+ "react-dnd-multi-backend": "^6.0.2",
52
+ "react-dnd-touch-backend": "^12.0.0",
53
+ "react-dom": "^16.9.0",
38
54
  "react-draggable": "^3.1.1",
39
55
  "react-input-autosize": "^2.2.1",
56
+ "react-measure": "^2.2.2",
40
57
  "react-redux": "^6.0.0",
58
+ "react-transition-group": "^2.5.2",
41
59
  "redux": "^4.0.1",
42
- "redux-undo": "beta"
60
+ "slate": "^0.36.2",
61
+ "slate-edit-list": "^0.12.1",
62
+ "slate-edit-table": "^0.17.0",
63
+ "slate-html-serializer": "^0.6.12",
64
+ "slate-plain-serializer": "^0.5.26",
65
+ "slate-prop-types": "^0.4.38",
66
+ "slate-react": "^0.14.3",
67
+ "slate-schema-violations": "^0.1.39",
68
+ "slate-soft-break": "^0.8.1",
69
+ "to-style": "^1.3.3"
43
70
  },
44
71
  "peerDependencies": {
45
72
  "react": "^16.8.1"
46
73
  },
47
- "gitHead": "a84fb39e2f9e192f996390267dd8edf711b5214e"
74
+ "gitHead": "e2aa3ddac60f49bcb8c2562370f496323642f453"
48
75
  }