@pie-lib/graphing 2.31.6-esmbeta.2 → 2.32.0-mui-update.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 (158) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/lib/axis/arrow.js +19 -55
  3. package/lib/axis/arrow.js.map +1 -1
  4. package/lib/axis/axes.js +104 -186
  5. package/lib/axis/axes.js.map +1 -1
  6. package/lib/axis/index.js +1 -6
  7. package/lib/axis/index.js.map +1 -1
  8. package/lib/bg.js +21 -49
  9. package/lib/bg.js.map +1 -1
  10. package/lib/container/actions.js +2 -8
  11. package/lib/container/actions.js.map +1 -1
  12. package/lib/container/index.js +14 -59
  13. package/lib/container/index.js.map +1 -1
  14. package/lib/container/marks.js +1 -6
  15. package/lib/container/marks.js.map +1 -1
  16. package/lib/container/middleware.js +2 -8
  17. package/lib/container/middleware.js.map +1 -1
  18. package/lib/container/reducer.js +1 -8
  19. package/lib/container/reducer.js.map +1 -1
  20. package/lib/coordinates-label.js +23 -55
  21. package/lib/coordinates-label.js.map +1 -1
  22. package/lib/graph-with-controls.js +113 -183
  23. package/lib/graph-with-controls.js.map +1 -1
  24. package/lib/graph.js +59 -116
  25. package/lib/graph.js.map +1 -1
  26. package/lib/grid-setup.js +161 -223
  27. package/lib/grid-setup.js.map +1 -1
  28. package/lib/grid.js +28 -73
  29. package/lib/grid.js.map +1 -1
  30. package/lib/index.js +1 -13
  31. package/lib/index.js.map +1 -1
  32. package/lib/key-legend.js +41 -85
  33. package/lib/key-legend.js.map +1 -1
  34. package/lib/label-svg-icon.js +1 -7
  35. package/lib/label-svg-icon.js.map +1 -1
  36. package/lib/labels.js +61 -119
  37. package/lib/labels.js.map +1 -1
  38. package/lib/mark-label.js +113 -163
  39. package/lib/mark-label.js.map +1 -1
  40. package/lib/toggle-bar.js +158 -242
  41. package/lib/toggle-bar.js.map +1 -1
  42. package/lib/tool-menu.js +16 -48
  43. package/lib/tool-menu.js.map +1 -1
  44. package/lib/tools/absolute/component.js +4 -10
  45. package/lib/tools/absolute/component.js.map +1 -1
  46. package/lib/tools/absolute/index.js +3 -16
  47. package/lib/tools/absolute/index.js.map +1 -1
  48. package/lib/tools/circle/bg-circle.js +42 -92
  49. package/lib/tools/circle/bg-circle.js.map +1 -1
  50. package/lib/tools/circle/component.js +79 -165
  51. package/lib/tools/circle/component.js.map +1 -1
  52. package/lib/tools/circle/index.js +3 -13
  53. package/lib/tools/circle/index.js.map +1 -1
  54. package/lib/tools/exponential/component.js +4 -10
  55. package/lib/tools/exponential/component.js.map +1 -1
  56. package/lib/tools/exponential/index.js +3 -18
  57. package/lib/tools/exponential/index.js.map +1 -1
  58. package/lib/tools/index.js +3 -16
  59. package/lib/tools/index.js.map +1 -1
  60. package/lib/tools/line/component.js +27 -48
  61. package/lib/tools/line/component.js.map +1 -1
  62. package/lib/tools/line/index.js +1 -6
  63. package/lib/tools/line/index.js.map +1 -1
  64. package/lib/tools/parabola/component.js +4 -10
  65. package/lib/tools/parabola/component.js.map +1 -1
  66. package/lib/tools/parabola/index.js +3 -16
  67. package/lib/tools/parabola/index.js.map +1 -1
  68. package/lib/tools/point/component.js +24 -71
  69. package/lib/tools/point/component.js.map +1 -1
  70. package/lib/tools/point/index.js +3 -11
  71. package/lib/tools/point/index.js.map +1 -1
  72. package/lib/tools/polygon/component.js +82 -183
  73. package/lib/tools/polygon/component.js.map +1 -1
  74. package/lib/tools/polygon/index.js +6 -23
  75. package/lib/tools/polygon/index.js.map +1 -1
  76. package/lib/tools/polygon/line.js +48 -91
  77. package/lib/tools/polygon/line.js.map +1 -1
  78. package/lib/tools/polygon/polygon.js +65 -98
  79. package/lib/tools/polygon/polygon.js.map +1 -1
  80. package/lib/tools/ray/component.js +41 -60
  81. package/lib/tools/ray/component.js.map +1 -1
  82. package/lib/tools/ray/index.js +1 -6
  83. package/lib/tools/ray/index.js.map +1 -1
  84. package/lib/tools/segment/component.js +25 -43
  85. package/lib/tools/segment/component.js.map +1 -1
  86. package/lib/tools/segment/index.js +1 -6
  87. package/lib/tools/segment/index.js.map +1 -1
  88. package/lib/tools/shared/arrow-head.js +69 -28
  89. package/lib/tools/shared/arrow-head.js.map +1 -1
  90. package/lib/tools/shared/icons/CorrectSVG.js +3 -8
  91. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -1
  92. package/lib/tools/shared/icons/IncorrectSVG.js +3 -8
  93. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -1
  94. package/lib/tools/shared/icons/MissingSVG.js +3 -8
  95. package/lib/tools/shared/icons/MissingSVG.js.map +1 -1
  96. package/lib/tools/shared/line/index.js +126 -187
  97. package/lib/tools/shared/line/index.js.map +1 -1
  98. package/lib/tools/shared/line/line-path.js +70 -100
  99. package/lib/tools/shared/line/line-path.js.map +1 -1
  100. package/lib/tools/shared/line/with-root-edge.js +21 -55
  101. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  102. package/lib/tools/shared/point/arrow-point.js +23 -62
  103. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  104. package/lib/tools/shared/point/arrow.js +24 -52
  105. package/lib/tools/shared/point/arrow.js.map +1 -1
  106. package/lib/tools/shared/point/base-point.js +54 -72
  107. package/lib/tools/shared/point/base-point.js.map +1 -1
  108. package/lib/tools/shared/point/index.js +22 -57
  109. package/lib/tools/shared/point/index.js.map +1 -1
  110. package/lib/tools/shared/styles.js +10 -38
  111. package/lib/tools/shared/styles.js.map +1 -1
  112. package/lib/tools/shared/types.js +2 -9
  113. package/lib/tools/shared/types.js.map +1 -1
  114. package/lib/tools/sine/component.js +8 -19
  115. package/lib/tools/sine/component.js.map +1 -1
  116. package/lib/tools/sine/index.js +3 -16
  117. package/lib/tools/sine/index.js.map +1 -1
  118. package/lib/tools/vector/component.js +24 -44
  119. package/lib/tools/vector/component.js.map +1 -1
  120. package/lib/tools/vector/index.js +1 -6
  121. package/lib/tools/vector/index.js.map +1 -1
  122. package/lib/undo-redo.js +29 -69
  123. package/lib/undo-redo.js.map +1 -1
  124. package/lib/use-debounce.js +4 -11
  125. package/lib/use-debounce.js.map +1 -1
  126. package/lib/utils.js +51 -128
  127. package/lib/utils.js.map +1 -1
  128. package/package.json +16 -21
  129. package/src/axis/arrow.jsx +7 -12
  130. package/src/axis/axes.jsx +40 -45
  131. package/src/coordinates-label.jsx +13 -18
  132. package/src/graph-with-controls.jsx +52 -59
  133. package/src/grid-setup.jsx +204 -206
  134. package/src/grid.jsx +1 -3
  135. package/src/key-legend.jsx +52 -56
  136. package/src/labels.jsx +21 -30
  137. package/src/mark-label.jsx +83 -81
  138. package/src/toggle-bar.jsx +155 -166
  139. package/src/tools/circle/bg-circle.jsx +20 -28
  140. package/src/tools/circle/component.jsx +28 -63
  141. package/src/tools/line/component.jsx +22 -15
  142. package/src/tools/polygon/component.jsx +1 -2
  143. package/src/tools/polygon/line.jsx +28 -32
  144. package/src/tools/polygon/polygon.jsx +52 -45
  145. package/src/tools/ray/component.jsx +38 -25
  146. package/src/tools/segment/component.jsx +19 -18
  147. package/src/tools/shared/arrow-head.jsx +60 -7
  148. package/src/tools/shared/line/index.jsx +39 -2
  149. package/src/tools/shared/line/line-path.jsx +54 -58
  150. package/src/tools/shared/point/arrow-point.jsx +10 -24
  151. package/src/tools/shared/point/arrow.jsx +5 -11
  152. package/src/tools/shared/point/base-point.jsx +42 -19
  153. package/src/tools/shared/point/index.jsx +27 -44
  154. package/src/tools/vector/component.jsx +11 -16
  155. package/src/undo-redo.jsx +19 -21
  156. package/esm/index.js +0 -62821
  157. package/esm/index.js.map +0 -1
  158. package/esm/package.json +0 -1
@@ -1,109 +1,77 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.getLabelPosition = exports["default"] = exports.CoordinatesLabel = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var _plot = require("@pie-lib/plot");
17
-
18
12
  var _renderUi = require("@pie-lib/render-ui");
19
-
20
- var _styles = require("@material-ui/core/styles");
21
-
22
- var _InputBase = _interopRequireDefault(require("@material-ui/core/InputBase"));
23
-
13
+ var _styles = require("@mui/material/styles");
14
+ var _InputBase = _interopRequireDefault(require("@mui/material/InputBase"));
24
15
  var _utils = require("./utils");
25
-
26
- 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; }
27
-
28
- 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; }
29
-
30
- var styles = function styles(theme) {
16
+ 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; }
17
+ 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; }
18
+ var StyledInputBase = (0, _styles.styled)(_InputBase["default"])(function (_ref) {
19
+ var theme = _ref.theme;
31
20
  return {
32
- input: {
33
- fontFamily: theme.typography.fontFamily,
34
- fontSize: theme.typography.fontSize,
35
- borderRadius: '8px',
36
- background: theme.palette.common.white,
37
- color: _renderUi.color.defaults.PRIMARY_DARK
38
- },
39
- inputLabel: {
21
+ fontFamily: theme.typography.fontFamily,
22
+ fontSize: theme.typography.fontSize,
23
+ borderRadius: '8px',
24
+ background: theme.palette.common.white,
25
+ color: _renderUi.color.defaults.PRIMARY_DARK,
26
+ '& .MuiInputBase-input': {
40
27
  padding: 0
41
28
  }
42
29
  };
43
- };
44
-
45
- var getLabelPosition = function getLabelPosition(graphProps, x, y, labelLength) {
30
+ });
31
+ var getLabelPosition = exports.getLabelPosition = function getLabelPosition(graphProps, x, y, labelLength) {
46
32
  var scale = graphProps.scale,
47
- domain = graphProps.domain,
48
- range = graphProps.range; // treat corner cases for maximum and minimum
49
-
33
+ domain = graphProps.domain,
34
+ range = graphProps.range;
35
+ // treat corner cases for maximum and minimum
50
36
  var topShift = y === range.min ? 16 : y === range.max ? 0 : 8;
51
37
  var leftShift = 10;
52
38
  var rightEdge = scale.x(x) + labelLength + leftShift;
53
-
54
39
  if (rightEdge >= scale.x(domain.max)) {
55
40
  return {
56
41
  left: scale.x(x) - leftShift - labelLength,
57
42
  top: scale.y(y) - topShift
58
43
  };
59
44
  }
60
-
61
45
  return {
62
46
  left: scale.x(x) + leftShift,
63
47
  top: scale.y(y) - topShift
64
48
  };
65
49
  };
66
-
67
- exports.getLabelPosition = getLabelPosition;
68
-
69
- var CoordinatesLabel = function CoordinatesLabel(_ref) {
70
- var x = _ref.x,
71
- y = _ref.y,
72
- graphProps = _ref.graphProps,
73
- classes = _ref.classes;
50
+ var CoordinatesLabel = exports.CoordinatesLabel = function CoordinatesLabel(_ref2) {
51
+ var x = _ref2.x,
52
+ y = _ref2.y,
53
+ graphProps = _ref2.graphProps;
74
54
  var label = "(".concat((0, _utils.roundNumber)(x), ", ").concat((0, _utils.roundNumber)(y), ")");
75
55
  var labelLength = (label.length || 0) * 6;
76
56
  var labelPosition = getLabelPosition(graphProps, x, y, labelLength);
77
-
78
57
  var style = _objectSpread({
79
58
  position: 'absolute',
80
59
  pointerEvents: 'auto',
81
60
  width: labelLength,
82
61
  padding: 0
83
62
  }, labelPosition);
84
-
85
- return /*#__PURE__*/_react["default"].createElement(_InputBase["default"], {
63
+ return /*#__PURE__*/_react["default"].createElement(StyledInputBase, {
86
64
  style: style,
87
- classes: {
88
- input: classes.inputLabel
89
- },
90
- className: classes.input,
91
65
  value: label,
92
66
  inputProps: {
93
67
  ariaLabel: 'naked'
94
68
  }
95
69
  });
96
70
  };
97
-
98
- exports.CoordinatesLabel = CoordinatesLabel;
99
71
  CoordinatesLabel.propTypes = {
100
72
  graphProps: _plot.types.GraphPropsType,
101
- classes: _propTypes["default"].object,
102
73
  x: _propTypes["default"].number,
103
74
  y: _propTypes["default"].number
104
75
  };
105
-
106
- var _default = (0, _styles.withStyles)(styles)(CoordinatesLabel);
107
-
108
- exports["default"] = _default;
76
+ var _default = exports["default"] = CoordinatesLabel;
109
77
  //# sourceMappingURL=coordinates-label.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/coordinates-label.jsx"],"names":["styles","theme","input","fontFamily","typography","fontSize","borderRadius","background","palette","common","white","color","defaults","PRIMARY_DARK","inputLabel","padding","getLabelPosition","graphProps","x","y","labelLength","scale","domain","range","topShift","min","max","leftShift","rightEdge","left","top","CoordinatesLabel","classes","label","length","labelPosition","style","position","pointerEvents","width","ariaLabel","propTypes","types","GraphPropsType","PropTypes","object","number"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputBase from '@material-ui/core/InputBase';\nimport { roundNumber } from './utils';\n\nconst styles = (theme) => ({\n input: {\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n borderRadius: '8px',\n background: theme.palette.common.white,\n color: color.defaults.PRIMARY_DARK,\n },\n inputLabel: {\n padding: 0,\n },\n});\n\nexport const getLabelPosition = (graphProps, x, y, labelLength) => {\n const { scale, domain, range } = graphProps;\n // treat corner cases for maximum and minimum\n const topShift = y === range.min ? 16 : y === range.max ? 0 : 8;\n const leftShift = 10;\n const rightEdge = scale.x(x) + labelLength + leftShift;\n\n if (rightEdge >= scale.x(domain.max)) {\n return {\n left: scale.x(x) - leftShift - labelLength,\n top: scale.y(y) - topShift,\n };\n }\n\n return {\n left: scale.x(x) + leftShift,\n top: scale.y(y) - topShift,\n };\n};\n\nexport const CoordinatesLabel = ({ x, y, graphProps, classes }) => {\n const label = `(${roundNumber(x)}, ${roundNumber(y)})`;\n const labelLength = (label.length || 0) * 6;\n const labelPosition = getLabelPosition(graphProps, x, y, labelLength);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n width: labelLength,\n padding: 0,\n ...labelPosition,\n };\n\n return (\n <InputBase\n style={style}\n classes={{ input: classes.inputLabel }}\n className={classes.input}\n value={label}\n inputProps={{ ariaLabel: 'naked' }}\n />\n );\n};\n\nCoordinatesLabel.propTypes = {\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number,\n};\n\nexport default withStyles(styles)(CoordinatesLabel);\n"],"file":"coordinates-label.js"}
1
+ {"version":3,"file":"coordinates-label.js","names":["_react","_interopRequireDefault","require","_propTypes","_plot","_renderUi","_styles","_InputBase","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledInputBase","styled","InputBase","_ref","theme","fontFamily","typography","fontSize","borderRadius","background","palette","common","white","color","defaults","PRIMARY_DARK","padding","getLabelPosition","exports","graphProps","x","y","labelLength","scale","domain","range","topShift","min","max","leftShift","rightEdge","left","top","CoordinatesLabel","_ref2","label","concat","roundNumber","labelPosition","style","position","pointerEvents","width","createElement","value","inputProps","ariaLabel","propTypes","types","GraphPropsType","PropTypes","number","_default"],"sources":["../src/coordinates-label.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport InputBase from '@mui/material/InputBase';\nimport { roundNumber } from './utils';\n\nconst StyledInputBase = styled(InputBase)(({ theme }) => ({\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n borderRadius: '8px',\n background: theme.palette.common.white,\n color: color.defaults.PRIMARY_DARK,\n '& .MuiInputBase-input': {\n padding: 0,\n },\n}));\n\nexport const getLabelPosition = (graphProps, x, y, labelLength) => {\n const { scale, domain, range } = graphProps;\n // treat corner cases for maximum and minimum\n const topShift = y === range.min ? 16 : y === range.max ? 0 : 8;\n const leftShift = 10;\n const rightEdge = scale.x(x) + labelLength + leftShift;\n\n if (rightEdge >= scale.x(domain.max)) {\n return {\n left: scale.x(x) - leftShift - labelLength,\n top: scale.y(y) - topShift,\n };\n }\n\n return {\n left: scale.x(x) + leftShift,\n top: scale.y(y) - topShift,\n };\n};\n\nexport const CoordinatesLabel = ({ x, y, graphProps }) => {\n const label = `(${roundNumber(x)}, ${roundNumber(y)})`;\n const labelLength = (label.length || 0) * 6;\n const labelPosition = getLabelPosition(graphProps, x, y, labelLength);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n width: labelLength,\n padding: 0,\n ...labelPosition,\n };\n\n return (\n <StyledInputBase\n style={style}\n value={label}\n inputProps={{ ariaLabel: 'naked' }}\n />\n );\n};\n\nCoordinatesLabel.propTypes = {\n graphProps: types.GraphPropsType,\n x: PropTypes.number,\n y: PropTypes.number,\n};\n\nexport default CoordinatesLabel;\n"],"mappings":"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","ignoreList":[]}
@@ -1,67 +1,76 @@
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.toolIsAvailable = exports.setToolbarAvailability = exports.getAvailableTool = exports.filterByVisibleToolTypes = exports.filterByValidToolTypes = exports["default"] = exports.GraphWithControls = void 0;
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
11
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
15
  var _react = _interopRequireDefault(require("react"));
27
-
28
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- var _classnames = _interopRequireDefault(require("classnames"));
33
-
17
+ var _styles = require("@mui/material/styles");
34
18
  var _uniq = _interopRequireDefault(require("lodash/uniq"));
35
-
36
19
  var _isString = _interopRequireDefault(require("lodash/isString"));
37
-
38
20
  var _renderUi = require("@pie-lib/render-ui");
39
-
40
21
  var _toolMenu = _interopRequireDefault(require("./tool-menu"));
41
-
42
22
  var _graph = _interopRequireWildcard(require("./graph"));
43
-
44
23
  var _undoRedo = _interopRequireDefault(require("./undo-redo"));
45
-
46
24
  var _tools = require("./tools");
47
-
48
- var _core = require("@material-ui/core");
49
-
50
- var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
51
-
52
- 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); }
53
-
54
- 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; }
55
-
56
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
57
-
58
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
59
-
60
- 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; }
61
-
62
- 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; }
63
-
64
- var setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
25
+ var _material = require("@mui/material");
26
+ var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
27
+ 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); }
28
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
29
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
+ 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; }
31
+ 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; }
32
+ var StyledGraphContainer = (0, _styles.styled)('div')({
33
+ display: 'flex',
34
+ flexDirection: 'column',
35
+ width: 'min-content'
36
+ });
37
+ var StyledControls = (0, _styles.styled)('div')(function (_ref) {
38
+ var theme = _ref.theme;
39
+ return {
40
+ display: 'flex',
41
+ justifyContent: 'space-between',
42
+ padding: theme.spacing(1),
43
+ color: _renderUi.color.text(),
44
+ backgroundColor: _renderUi.color.primaryLight(),
45
+ '& button': {
46
+ fontSize: theme.typography.fontSize
47
+ }
48
+ };
49
+ });
50
+ var StyledAccordion = (0, _styles.styled)(_material.Accordion)({
51
+ backgroundColor: _renderUi.color.primaryLight(),
52
+ width: '100%'
53
+ });
54
+ var StyledAccordionSummary = (0, _styles.styled)(_material.AccordionSummary)(function (_ref2) {
55
+ var theme = _ref2.theme;
56
+ return {
57
+ padding: "0 ".concat(theme.spacing(1), "px"),
58
+ minHeight: '32px !important',
59
+ '& .MuiAccordionSummary-content': {
60
+ margin: '4px 0 !important'
61
+ }
62
+ };
63
+ });
64
+ var StyledAccordionDetails = (0, _styles.styled)(_material.AccordionDetails)(function (_ref3) {
65
+ var theme = _ref3.theme;
66
+ return {
67
+ padding: 0,
68
+ marginTop: theme.spacing(1),
69
+ display: 'flex',
70
+ justifyContent: 'space-between'
71
+ };
72
+ });
73
+ var setToolbarAvailability = exports.setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
65
74
  return _tools.toolsArr.map(function (tA) {
66
75
  return _objectSpread(_objectSpread({}, tA), {}, {
67
76
  toolbar: !!toolbarTools.find(function (t) {
@@ -70,90 +79,58 @@ var setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
70
79
  });
71
80
  }) || [];
72
81
  };
73
-
74
- exports.setToolbarAvailability = setToolbarAvailability;
75
-
76
- var toolIsAvailable = function toolIsAvailable(tools, currentTool) {
82
+ var toolIsAvailable = exports.toolIsAvailable = function toolIsAvailable(tools, currentTool) {
77
83
  return currentTool && tools && (tools.find(function (tool) {
78
84
  return tool.type === currentTool.type;
79
85
  }) || {}).toolbar;
80
86
  };
81
-
82
- exports.toolIsAvailable = toolIsAvailable;
83
-
84
- var getAvailableTool = function getAvailableTool(tools) {
87
+ var getAvailableTool = exports.getAvailableTool = function getAvailableTool(tools) {
85
88
  return tools.find(function (tool) {
86
89
  return tool.toolbar;
87
90
  });
88
91
  };
89
-
90
- exports.getAvailableTool = getAvailableTool;
91
-
92
- var filterByValidToolTypes = function filterByValidToolTypes(backgroundMarks) {
92
+ var filterByValidToolTypes = exports.filterByValidToolTypes = function filterByValidToolTypes(backgroundMarks) {
93
93
  return backgroundMarks.filter(function (bM) {
94
94
  return !!_tools.allTools.find(function (tool) {
95
95
  return tool === bM.type;
96
96
  });
97
97
  });
98
98
  };
99
-
100
- exports.filterByValidToolTypes = filterByValidToolTypes;
101
-
102
- var filterByVisibleToolTypes = function filterByVisibleToolTypes(toolbarTools, marks) {
99
+ var filterByVisibleToolTypes = exports.filterByVisibleToolTypes = function filterByVisibleToolTypes(toolbarTools, marks) {
103
100
  return marks.filter(function (bM) {
104
101
  return !!toolbarTools.find(function (tool) {
105
102
  return tool === bM.type;
106
103
  });
107
104
  });
108
105
  };
109
-
110
- exports.filterByVisibleToolTypes = filterByVisibleToolTypes;
111
-
112
106
  var getDefaultCurrentTool = function getDefaultCurrentTool(toolType) {
113
107
  return _tools.toolsArr.find(function (tool) {
114
108
  return tool.type === toolType;
115
109
  }) || null;
116
110
  };
117
-
118
- var Collapsible = function Collapsible(_ref) {
119
- var classes = _ref.classes,
120
- children = _ref.children,
121
- title = _ref.title;
122
- return /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanel, {
111
+ var Collapsible = function Collapsible(_ref4) {
112
+ var children = _ref4.children,
113
+ title = _ref4.title;
114
+ return /*#__PURE__*/_react["default"].createElement(StyledAccordion, {
123
115
  elevation: 0,
124
- className: classes.expansionPanel,
125
- disabledGutters: true,
116
+ disableGutters: true,
126
117
  square: true
127
- }, /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanelSummary, {
128
- classes: {
129
- root: classes.summaryRoot,
130
- content: classes.summaryContent
131
- },
118
+ }, /*#__PURE__*/_react["default"].createElement(StyledAccordionSummary, {
132
119
  expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
133
- }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
120
+ }, /*#__PURE__*/_react["default"].createElement(_material.Typography, {
134
121
  variant: "subheading"
135
- }, title)), /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanelDetails, {
136
- className: classes.details
137
- }, children));
122
+ }, title)), /*#__PURE__*/_react["default"].createElement(StyledAccordionDetails, null, children));
138
123
  };
139
-
140
124
  Collapsible.propTypes = {
141
- classes: _propTypes["default"].object,
142
125
  children: _propTypes["default"].array,
143
126
  title: _propTypes["default"].string
144
127
  };
145
-
146
- var GraphWithControls = /*#__PURE__*/function (_React$Component) {
147
- (0, _inherits2["default"])(GraphWithControls, _React$Component);
148
-
149
- var _super = _createSuper(GraphWithControls);
150
-
128
+ var GraphWithControls = exports.GraphWithControls = /*#__PURE__*/function (_React$Component) {
151
129
  function GraphWithControls(props) {
152
130
  var _this;
153
-
154
131
  (0, _classCallCheck2["default"])(this, GraphWithControls);
155
- _this = _super.call(this, props);
156
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCurrentTool", function (tool, tools) {
132
+ _this = _callSuper(this, GraphWithControls, [props]);
133
+ (0, _defineProperty2["default"])(_this, "changeCurrentTool", function (tool, tools) {
157
134
  return _this.setState({
158
135
  currentTool: tools.find(function (t) {
159
136
  return t.type === tool;
@@ -167,12 +144,11 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
167
144
  };
168
145
  return _this;
169
146
  }
170
-
171
- (0, _createClass2["default"])(GraphWithControls, [{
147
+ (0, _inherits2["default"])(GraphWithControls, _React$Component);
148
+ return (0, _createClass2["default"])(GraphWithControls, [{
172
149
  key: "componentDidUpdate",
173
150
  value: function componentDidUpdate(prevProps) {
174
151
  var defaultTool = this.props.defaultTool;
175
-
176
152
  if (prevProps.defaultTool !== defaultTool) {
177
153
  var currentTool = getDefaultCurrentTool(defaultTool);
178
154
  this.setState({
@@ -184,59 +160,60 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
184
160
  key: "render",
185
161
  value: function render() {
186
162
  var _this2 = this;
187
-
188
163
  var _this$state = this.state,
189
- currentTool = _this$state.currentTool,
190
- labelModeEnabled = _this$state.labelModeEnabled;
164
+ currentTool = _this$state.currentTool,
165
+ labelModeEnabled = _this$state.labelModeEnabled;
191
166
  var _this$props = this.props,
192
- axesSettings = _this$props.axesSettings,
193
- classes = _this$props.classes,
194
- className = _this$props.className,
195
- coordinatesOnHover = _this$props.coordinatesOnHover,
196
- collapsibleToolbar = _this$props.collapsibleToolbar,
197
- collapsibleToolbarTitle = _this$props.collapsibleToolbarTitle,
198
- disabled = _this$props.disabled,
199
- disabledLabels = _this$props.disabledLabels,
200
- disabledTitle = _this$props.disabledTitle,
201
- domain = _this$props.domain,
202
- draggableTools = _this$props.draggableTools,
203
- labels = _this$props.labels,
204
- labelsPlaceholders = _this$props.labelsPlaceholders,
205
- onChangeLabels = _this$props.onChangeLabels,
206
- onChangeMarks = _this$props.onChangeMarks,
207
- onChangeTitle = _this$props.onChangeTitle,
208
- onChangeTools = _this$props.onChangeTools,
209
- onUndo = _this$props.onUndo,
210
- onRedo = _this$props.onRedo,
211
- onReset = _this$props.onReset,
212
- range = _this$props.range,
213
- size = _this$props.size,
214
- showLabels = _this$props.showLabels,
215
- showPixelGuides = _this$props.showPixelGuides,
216
- showTitle = _this$props.showTitle,
217
- title = _this$props.title,
218
- titlePlaceholder = _this$props.titlePlaceholder,
219
- language = _this$props.language,
220
- removeIncompleteTool = _this$props.removeIncompleteTool,
221
- limitLabeling = _this$props.limitLabeling;
167
+ axesSettings = _this$props.axesSettings,
168
+ className = _this$props.className,
169
+ coordinatesOnHover = _this$props.coordinatesOnHover,
170
+ collapsibleToolbar = _this$props.collapsibleToolbar,
171
+ collapsibleToolbarTitle = _this$props.collapsibleToolbarTitle,
172
+ disabled = _this$props.disabled,
173
+ disabledLabels = _this$props.disabledLabels,
174
+ disabledTitle = _this$props.disabledTitle,
175
+ domain = _this$props.domain,
176
+ draggableTools = _this$props.draggableTools,
177
+ labels = _this$props.labels,
178
+ labelsPlaceholders = _this$props.labelsPlaceholders,
179
+ onChangeLabels = _this$props.onChangeLabels,
180
+ onChangeMarks = _this$props.onChangeMarks,
181
+ onChangeTitle = _this$props.onChangeTitle,
182
+ onChangeTools = _this$props.onChangeTools,
183
+ onUndo = _this$props.onUndo,
184
+ onRedo = _this$props.onRedo,
185
+ onReset = _this$props.onReset,
186
+ range = _this$props.range,
187
+ size = _this$props.size,
188
+ showLabels = _this$props.showLabels,
189
+ showPixelGuides = _this$props.showPixelGuides,
190
+ showTitle = _this$props.showTitle,
191
+ title = _this$props.title,
192
+ titlePlaceholder = _this$props.titlePlaceholder,
193
+ language = _this$props.language,
194
+ removeIncompleteTool = _this$props.removeIncompleteTool,
195
+ limitLabeling = _this$props.limitLabeling;
222
196
  var _this$props2 = this.props,
223
- backgroundMarks = _this$props2.backgroundMarks,
224
- marks = _this$props2.marks,
225
- toolbarTools = _this$props2.toolbarTools; // make sure only valid tool types are kept (string) and without duplicates
197
+ backgroundMarks = _this$props2.backgroundMarks,
198
+ marks = _this$props2.marks,
199
+ toolbarTools = _this$props2.toolbarTools;
226
200
 
201
+ // make sure only valid tool types are kept (string) and without duplicates
227
202
  toolbarTools = (0, _uniq["default"])(toolbarTools || []).filter(function (tT) {
228
203
  return !!(0, _isString["default"])(tT);
229
- }) || []; // keep only the backgroundMarks that have valid types
204
+ }) || [];
230
205
 
231
- backgroundMarks = filterByValidToolTypes(backgroundMarks || []); // keep only the marks that have types which appear in toolbar
206
+ // keep only the backgroundMarks that have valid types
207
+ backgroundMarks = filterByValidToolTypes(backgroundMarks || []);
232
208
 
209
+ // keep only the marks that have types which appear in toolbar
233
210
  marks = filterByVisibleToolTypes(toolbarTools, marks || []);
234
- var tools = setToolbarAvailability(toolbarTools); // set current tool if there's no current tool or if the existing one is no longer available
211
+ var tools = setToolbarAvailability(toolbarTools);
235
212
 
213
+ // set current tool if there's no current tool or if the existing one is no longer available
236
214
  if (!currentTool || !toolIsAvailable(tools, currentTool)) {
237
215
  currentTool = getAvailableTool(tools);
238
216
  }
239
-
240
217
  var graphActions = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_toolMenu["default"], {
241
218
  currentToolType: currentTool && currentTool.type,
242
219
  disabled: !!disabled,
@@ -254,13 +231,9 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
254
231
  onReset: onReset,
255
232
  language: language
256
233
  }));
257
-
258
- return /*#__PURE__*/_react["default"].createElement("div", {
259
- className: (0, _classnames["default"])(classes.graphWithControls, className)
260
- }, /*#__PURE__*/_react["default"].createElement("div", {
261
- className: classes.controls
262
- }, collapsibleToolbar ? /*#__PURE__*/_react["default"].createElement(Collapsible, {
263
- classes: classes,
234
+ return /*#__PURE__*/_react["default"].createElement(StyledGraphContainer, {
235
+ className: className
236
+ }, /*#__PURE__*/_react["default"].createElement(StyledControls, null, collapsibleToolbar ? /*#__PURE__*/_react["default"].createElement(Collapsible, {
264
237
  title: collapsibleToolbarTitle
265
238
  }, graphActions) : graphActions), /*#__PURE__*/_react["default"].createElement("div", {
266
239
  ref: function ref(r) {
@@ -294,10 +267,7 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
294
267
  }));
295
268
  }
296
269
  }]);
297
- return GraphWithControls;
298
270
  }(_react["default"].Component);
299
-
300
- exports.GraphWithControls = GraphWithControls;
301
271
  (0, _defineProperty2["default"])(GraphWithControls, "propTypes", _objectSpread(_objectSpread({}, _graph.graphPropTypes), {}, {
302
272
  onUndo: _propTypes["default"].func,
303
273
  onRedo: _propTypes["default"].func,
@@ -315,45 +285,5 @@ exports.GraphWithControls = GraphWithControls;
315
285
  showTitle: true,
316
286
  toolbarTools: []
317
287
  });
318
-
319
- var styles = function styles(theme) {
320
- return {
321
- graphWithControls: {
322
- display: 'flex',
323
- flexDirection: 'column',
324
- width: 'min-content'
325
- },
326
- controls: {
327
- display: 'flex',
328
- justifyContent: 'space-between',
329
- padding: theme.spacing.unit,
330
- color: _renderUi.color.text(),
331
- backgroundColor: _renderUi.color.primaryLight(),
332
- '& button': {
333
- fontSize: theme.typography.fontSize
334
- }
335
- },
336
- expansionPanel: {
337
- backgroundColor: _renderUi.color.primaryLight(),
338
- width: '100%'
339
- },
340
- summaryRoot: {
341
- padding: "0 ".concat(theme.spacing.unit, "px"),
342
- minHeight: '32px !important'
343
- },
344
- summaryContent: {
345
- margin: '4px 0 !important'
346
- },
347
- details: {
348
- padding: 0,
349
- marginTop: theme.spacing.unit,
350
- display: 'flex',
351
- justifyContent: 'space-between'
352
- }
353
- };
354
- };
355
-
356
- var _default = (0, _styles.withStyles)(styles)(GraphWithControls);
357
-
358
- exports["default"] = _default;
288
+ var _default = exports["default"] = GraphWithControls;
359
289
  //# sourceMappingURL=graph-with-controls.js.map