@pie-lib/graphing-solution-set 2.34.3-next.0 → 2.34.3-next.155

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 (142) hide show
  1. package/CHANGELOG.md +7 -78
  2. package/esm/package.json +3 -0
  3. package/lib/axis/arrow.js +19 -55
  4. package/lib/axis/arrow.js.map +1 -1
  5. package/lib/axis/axes.js +103 -193
  6. package/lib/axis/axes.js.map +1 -1
  7. package/lib/axis/index.js +1 -6
  8. package/lib/axis/index.js.map +1 -1
  9. package/lib/bg.js +21 -49
  10. package/lib/bg.js.map +1 -1
  11. package/lib/container/actions.js +2 -8
  12. package/lib/container/actions.js.map +1 -1
  13. package/lib/container/index.js +14 -60
  14. package/lib/container/index.js.map +1 -1
  15. package/lib/container/marks.js +1 -6
  16. package/lib/container/marks.js.map +1 -1
  17. package/lib/container/middleware.js +2 -8
  18. package/lib/container/middleware.js.map +1 -1
  19. package/lib/container/reducer.js +1 -8
  20. package/lib/container/reducer.js.map +1 -1
  21. package/lib/coordinates-label.js +23 -55
  22. package/lib/coordinates-label.js.map +1 -1
  23. package/lib/graph-with-controls.js +129 -203
  24. package/lib/graph-with-controls.js.map +1 -1
  25. package/lib/graph.js +61 -126
  26. package/lib/graph.js.map +1 -1
  27. package/lib/grid-setup.js +168 -224
  28. package/lib/grid-setup.js.map +1 -1
  29. package/lib/grid.js +29 -74
  30. package/lib/grid.js.map +1 -1
  31. package/lib/index.js +1 -12
  32. package/lib/index.js.map +1 -1
  33. package/lib/labels.js +84 -184
  34. package/lib/labels.js.map +1 -1
  35. package/lib/mark-label.js +39 -88
  36. package/lib/mark-label.js.map +1 -1
  37. package/lib/toggle-bar.js +155 -243
  38. package/lib/toggle-bar.js.map +1 -1
  39. package/lib/tool-menu.js +93 -200
  40. package/lib/tool-menu.js.map +1 -1
  41. package/lib/tools/index.js +2 -7
  42. package/lib/tools/index.js.map +1 -1
  43. package/lib/tools/line/component.js +48 -62
  44. package/lib/tools/line/component.js.map +1 -1
  45. package/lib/tools/line/index.js +1 -6
  46. package/lib/tools/line/index.js.map +1 -1
  47. package/lib/tools/polygon/component.js +76 -173
  48. package/lib/tools/polygon/component.js.map +1 -1
  49. package/lib/tools/polygon/index.js +6 -23
  50. package/lib/tools/polygon/index.js.map +1 -1
  51. package/lib/tools/polygon/line.js +48 -85
  52. package/lib/tools/polygon/line.js.map +1 -1
  53. package/lib/tools/polygon/polygon.js +62 -102
  54. package/lib/tools/polygon/polygon.js.map +1 -1
  55. package/lib/tools/shared/arrow-head.js +7 -20
  56. package/lib/tools/shared/arrow-head.js.map +1 -1
  57. package/lib/tools/shared/line/index.js +89 -185
  58. package/lib/tools/shared/line/index.js.map +1 -1
  59. package/lib/tools/shared/line/line-path.js +71 -95
  60. package/lib/tools/shared/line/line-path.js.map +1 -1
  61. package/lib/tools/shared/line/with-root-edge.js +22 -56
  62. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  63. package/lib/tools/shared/point/arrow-point.js +18 -45
  64. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  65. package/lib/tools/shared/point/arrow.js +16 -42
  66. package/lib/tools/shared/point/arrow.js.map +1 -1
  67. package/lib/tools/shared/point/base-point.js +44 -58
  68. package/lib/tools/shared/point/base-point.js.map +1 -1
  69. package/lib/tools/shared/point/index.js +38 -52
  70. package/lib/tools/shared/point/index.js.map +1 -1
  71. package/lib/tools/shared/styles.js +8 -31
  72. package/lib/tools/shared/styles.js.map +1 -1
  73. package/lib/tools/shared/types.js +1 -5
  74. package/lib/tools/shared/types.js.map +1 -1
  75. package/lib/undo-redo.js +27 -67
  76. package/lib/undo-redo.js.map +1 -1
  77. package/lib/use-debounce.js +4 -11
  78. package/lib/use-debounce.js.map +1 -1
  79. package/lib/utils.js +56 -131
  80. package/lib/utils.js.map +1 -1
  81. package/package.json +34 -23
  82. package/src/__tests__/graph-with-controls.test.jsx +23 -10
  83. package/src/__tests__/graph.test.jsx +36 -171
  84. package/src/__tests__/grid.test.jsx +9 -6
  85. package/src/__tests__/labels.test.jsx +11 -8
  86. package/src/__tests__/mark-label.test.jsx +15 -17
  87. package/src/__tests__/toggle-bar.test.jsx +46 -17
  88. package/src/__tests__/tool-menu.test.jsx +12 -8
  89. package/src/__tests__/undo-redo.test.jsx +9 -8
  90. package/src/__tests__/utils.js +3 -0
  91. package/src/axis/__tests__/arrow.test.jsx +21 -17
  92. package/src/axis/__tests__/axes.test.jsx +117 -155
  93. package/src/axis/arrow.jsx +7 -12
  94. package/src/axis/axes.jsx +41 -51
  95. package/src/coordinates-label.jsx +13 -18
  96. package/src/graph-with-controls.jsx +90 -93
  97. package/src/grid-setup.jsx +210 -206
  98. package/src/grid.jsx +2 -4
  99. package/src/labels.jsx +83 -124
  100. package/src/mark-label.jsx +14 -25
  101. package/src/toggle-bar.jsx +135 -163
  102. package/src/tool-menu.jsx +136 -195
  103. package/src/tools/line/__tests__/component.test.jsx +7 -7
  104. package/src/tools/line/component.jsx +29 -29
  105. package/src/tools/polygon/__tests__/component.test.jsx +13 -152
  106. package/src/tools/polygon/__tests__/line.test.jsx +7 -9
  107. package/src/tools/polygon/__tests__/polygon.test.jsx +8 -8
  108. package/src/tools/polygon/component.jsx +2 -4
  109. package/src/tools/polygon/line.jsx +26 -24
  110. package/src/tools/polygon/polygon.jsx +35 -40
  111. package/src/tools/shared/__tests__/arrow-head.test.jsx +16 -17
  112. package/src/tools/shared/line/__tests__/index.test.jsx +26 -163
  113. package/src/tools/shared/line/__tests__/line-path.test.jsx +9 -9
  114. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +14 -24
  115. package/src/tools/shared/line/index.jsx +3 -3
  116. package/src/tools/shared/line/line-path.jsx +51 -48
  117. package/src/tools/shared/line/with-root-edge.jsx +1 -1
  118. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
  119. package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
  120. package/src/tools/shared/point/base-point.jsx +33 -6
  121. package/src/tools/shared/point/index.jsx +30 -32
  122. package/src/undo-redo.jsx +16 -24
  123. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -114
  124. package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -213
  125. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
  126. package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
  127. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -37
  128. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
  129. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -35
  130. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -15
  131. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
  132. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
  133. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
  134. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -94
  135. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -44
  136. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -53
  137. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -32
  138. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
  139. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -57
  140. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
  141. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -55
  142. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -43
@@ -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.BLACK
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.BLACK,
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","BLACK","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.BLACK,\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","BLACK","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.BLACK,\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,36 @@
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
-
17
+ var _styles = require("@mui/material/styles");
32
18
  var _classnames = _interopRequireDefault(require("classnames"));
33
-
34
19
  var _uniq = _interopRequireDefault(require("lodash/uniq"));
35
-
36
20
  var _isString = _interopRequireDefault(require("lodash/isString"));
37
-
38
21
  var _renderUi = require("@pie-lib/render-ui");
39
-
40
22
  var _toolMenu = _interopRequireDefault(require("./tool-menu"));
41
-
42
23
  var _graph = _interopRequireWildcard(require("./graph"));
43
-
44
24
  var _undoRedo = _interopRequireDefault(require("./undo-redo"));
45
-
46
25
  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) {
26
+ var _material = require("@mui/material");
27
+ var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
28
+ 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); }
29
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
30
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
+ 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; }
32
+ 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; }
33
+ var setToolbarAvailability = exports.setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
65
34
  return _tools.toolsArr.map(function (tA) {
66
35
  return _objectSpread(_objectSpread({}, tA), {}, {
67
36
  toolbar: !!toolbarTools.find(function (t) {
@@ -70,97 +39,118 @@ var setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
70
39
  });
71
40
  }) || [];
72
41
  };
73
-
74
- exports.setToolbarAvailability = setToolbarAvailability;
75
-
76
- var toolIsAvailable = function toolIsAvailable(tools, currentTool) {
42
+ var toolIsAvailable = exports.toolIsAvailable = function toolIsAvailable(tools, currentTool) {
77
43
  return currentTool && tools && (tools.find(function (tool) {
78
44
  return tool.type === currentTool.type;
79
45
  }) || {}).toolbar;
80
46
  };
81
-
82
- exports.toolIsAvailable = toolIsAvailable;
83
-
84
- var getAvailableTool = function getAvailableTool(tools) {
47
+ var getAvailableTool = exports.getAvailableTool = function getAvailableTool(tools) {
85
48
  return tools.find(function (tool) {
86
49
  return tool.toolbar;
87
50
  });
88
51
  };
89
-
90
- exports.getAvailableTool = getAvailableTool;
91
-
92
- var filterByValidToolTypes = function filterByValidToolTypes(backgroundMarks) {
52
+ var filterByValidToolTypes = exports.filterByValidToolTypes = function filterByValidToolTypes(backgroundMarks) {
93
53
  return backgroundMarks.filter(function (bM) {
94
54
  return !!_tools.allTools.find(function (tool) {
95
55
  return tool === bM.type;
96
56
  });
97
57
  });
98
58
  };
99
-
100
- exports.filterByValidToolTypes = filterByValidToolTypes;
101
-
102
- var filterByVisibleToolTypes = function filterByVisibleToolTypes(toolbarTools, marks) {
59
+ var filterByVisibleToolTypes = exports.filterByVisibleToolTypes = function filterByVisibleToolTypes(toolbarTools, marks) {
103
60
  return marks.filter(function (bM) {
104
61
  return !!toolbarTools.find(function (tool) {
105
62
  return tool === bM.type;
106
63
  });
107
64
  });
108
65
  };
109
-
110
- exports.filterByVisibleToolTypes = filterByVisibleToolTypes;
111
-
112
66
  var getDefaultCurrentTool = function getDefaultCurrentTool(toolType) {
113
67
  return _tools.toolsArr.find(function (tool) {
114
68
  return tool.type === toolType;
115
69
  }) || null;
116
70
  };
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, {
123
- elevation: 0,
124
- className: classes.expansionPanel,
125
- disabledGutters: true,
126
- square: true
127
- }, /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanelSummary, {
128
- classes: {
129
- root: classes.summaryRoot,
130
- content: classes.summaryContent
131
- },
71
+ var GraphWithControlsRoot = (0, _styles.styled)('div')(function () {
72
+ return {
73
+ display: 'flex',
74
+ flexDirection: 'column',
75
+ width: 'min-content'
76
+ };
77
+ });
78
+ var Controls = (0, _styles.styled)('div')(function () {
79
+ return {
80
+ display: 'flex',
81
+ justifyContent: 'space-between',
82
+ padding: 'calc(1.25rem - 12px) calc(1.25rem - 12px) 1.25rem',
83
+ color: _renderUi.color.text(),
84
+ backgroundColor: '#9FA8DA',
85
+ '& button': {
86
+ fontSize: '0.875rem',
87
+ padding: '0.25rem .3rem',
88
+ width: '5rem'
89
+ }
90
+ };
91
+ });
92
+ var StyledAccordion = (0, _styles.styled)(_material.Accordion)(function () {
93
+ return {
94
+ backgroundColor: _renderUi.color.primaryLight(),
95
+ width: '100%',
96
+ boxShadow: 'none'
97
+ };
98
+ });
99
+ var StyledAccordionSummary = (0, _styles.styled)(_material.AccordionSummary)(function (_ref) {
100
+ var theme = _ref.theme;
101
+ return {
102
+ padding: "0 ".concat(theme.spacing(1)),
103
+ minHeight: '32px !important',
104
+ '& .MuiAccordionSummary-content': {
105
+ margin: '4px 0 !important'
106
+ }
107
+ };
108
+ });
109
+ var StyledAccordionDetails = (0, _styles.styled)(_material.AccordionDetails)(function (_ref2) {
110
+ var theme = _ref2.theme;
111
+ return {
112
+ padding: 0,
113
+ marginTop: theme.spacing(1),
114
+ display: 'flex',
115
+ justifyContent: 'space-between'
116
+ };
117
+ });
118
+ var UndoRedoOuterDiv = (0, _styles.styled)('div')(function () {
119
+ return {
120
+ display: 'flex',
121
+ flexDirection: 'column',
122
+ marginTop: '.5rem'
123
+ };
124
+ });
125
+ var Collapsible = function Collapsible(_ref3) {
126
+ var children = _ref3.children,
127
+ title = _ref3.title;
128
+ return /*#__PURE__*/_react["default"].createElement(StyledAccordion, {
129
+ square: true,
130
+ disableGutters: true
131
+ }, /*#__PURE__*/_react["default"].createElement(StyledAccordionSummary, {
132
132
  expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
133
- }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
134
- variant: "subheading"
135
- }, title)), /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanelDetails, {
136
- className: classes.details
137
- }, children));
133
+ }, /*#__PURE__*/_react["default"].createElement(_material.Typography, {
134
+ variant: "subtitle1"
135
+ }, title)), /*#__PURE__*/_react["default"].createElement(StyledAccordionDetails, null, children));
138
136
  };
139
-
140
137
  Collapsible.propTypes = {
141
- classes: _propTypes["default"].object,
142
- children: _propTypes["default"].array,
138
+ children: _propTypes["default"].node,
143
139
  title: _propTypes["default"].string
144
140
  };
145
-
146
- var GraphWithControls = /*#__PURE__*/function (_React$Component) {
147
- (0, _inherits2["default"])(GraphWithControls, _React$Component);
148
-
149
- var _super = _createSuper(GraphWithControls);
150
-
141
+ var GraphWithControls = exports.GraphWithControls = /*#__PURE__*/function (_React$Component) {
151
142
  function GraphWithControls(props) {
152
143
  var _this;
153
-
154
144
  (0, _classCallCheck2["default"])(this, GraphWithControls);
155
- _this = _super.call(this, props);
156
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCurrentTool", function (tool, tools) {
145
+ _this = _callSuper(this, GraphWithControls, [props]);
146
+ (0, _defineProperty2["default"])(_this, "changeCurrentTool", function (tool, tools) {
157
147
  return _this.setState({
158
148
  currentTool: tools.find(function (t) {
159
149
  return t.type === tool;
160
150
  })
161
151
  });
162
152
  });
163
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleLabelMode", function () {
153
+ (0, _defineProperty2["default"])(_this, "toggleLabelMode", function () {
164
154
  return _this.setState(function (state) {
165
155
  return {
166
156
  labelModeEnabled: !state.labelModeEnabled
@@ -173,12 +163,11 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
173
163
  };
174
164
  return _this;
175
165
  }
176
-
177
- (0, _createClass2["default"])(GraphWithControls, [{
166
+ (0, _inherits2["default"])(GraphWithControls, _React$Component);
167
+ return (0, _createClass2["default"])(GraphWithControls, [{
178
168
  key: "componentDidUpdate",
179
169
  value: function componentDidUpdate(prevProps) {
180
170
  var defaultTool = this.props.defaultTool;
181
-
182
171
  if (prevProps.defaultTool !== defaultTool) {
183
172
  var currentTool = getDefaultCurrentTool(defaultTool);
184
173
  this.setState({
@@ -190,82 +179,70 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
190
179
  key: "render",
191
180
  value: function render() {
192
181
  var _this2 = this;
193
-
194
182
  var _this$state = this.state,
195
- currentTool = _this$state.currentTool,
196
- labelModeEnabled = _this$state.labelModeEnabled;
183
+ currentTool = _this$state.currentTool,
184
+ labelModeEnabled = _this$state.labelModeEnabled;
197
185
  var _this$props = this.props,
198
- axesSettings = _this$props.axesSettings,
199
- classes = _this$props.classes,
200
- className = _this$props.className,
201
- coordinatesOnHover = _this$props.coordinatesOnHover,
202
- collapsibleToolbar = _this$props.collapsibleToolbar,
203
- collapsibleToolbarTitle = _this$props.collapsibleToolbarTitle,
204
- disabled = _this$props.disabled,
205
- disabledLabels = _this$props.disabledLabels,
206
- disabledTitle = _this$props.disabledTitle,
207
- domain = _this$props.domain,
208
- labels = _this$props.labels,
209
- labelsPlaceholders = _this$props.labelsPlaceholders,
210
- onChangeLabels = _this$props.onChangeLabels,
211
- onChangeMarks = _this$props.onChangeMarks,
212
- onChangeTitle = _this$props.onChangeTitle,
213
- onUndo = _this$props.onUndo,
214
- onRedo = _this$props.onRedo,
215
- range = _this$props.range,
216
- size = _this$props.size,
217
- showLabels = _this$props.showLabels,
218
- showPixelGuides = _this$props.showPixelGuides,
219
- showTitle = _this$props.showTitle,
220
- title = _this$props.title,
221
- titlePlaceholder = _this$props.titlePlaceholder,
222
- language = _this$props.language,
223
- _this$props$disableTo = _this$props.disableToolbar,
224
- disableToolbar = _this$props$disableTo === void 0 ? false : _this$props$disableTo,
225
- gssLineData = _this$props.gssLineData,
226
- onChangeGssLineData = _this$props.onChangeGssLineData,
227
- onSolutionSetSelected = _this$props.onSolutionSetSelected,
228
- onCustomReset = _this$props.onCustomReset;
186
+ axesSettings = _this$props.axesSettings,
187
+ className = _this$props.className,
188
+ coordinatesOnHover = _this$props.coordinatesOnHover,
189
+ collapsibleToolbar = _this$props.collapsibleToolbar,
190
+ collapsibleToolbarTitle = _this$props.collapsibleToolbarTitle,
191
+ disabled = _this$props.disabled,
192
+ disabledLabels = _this$props.disabledLabels,
193
+ disabledTitle = _this$props.disabledTitle,
194
+ domain = _this$props.domain,
195
+ labels = _this$props.labels,
196
+ labelsPlaceholders = _this$props.labelsPlaceholders,
197
+ onChangeLabels = _this$props.onChangeLabels,
198
+ onChangeMarks = _this$props.onChangeMarks,
199
+ onChangeTitle = _this$props.onChangeTitle,
200
+ onUndo = _this$props.onUndo,
201
+ onRedo = _this$props.onRedo,
202
+ range = _this$props.range,
203
+ size = _this$props.size,
204
+ showLabels = _this$props.showLabels,
205
+ showPixelGuides = _this$props.showPixelGuides,
206
+ showTitle = _this$props.showTitle,
207
+ title = _this$props.title,
208
+ titlePlaceholder = _this$props.titlePlaceholder,
209
+ language = _this$props.language,
210
+ _this$props$disableTo = _this$props.disableToolbar,
211
+ disableToolbar = _this$props$disableTo === void 0 ? false : _this$props$disableTo,
212
+ gssLineData = _this$props.gssLineData,
213
+ onChangeGssLineData = _this$props.onChangeGssLineData,
214
+ onSolutionSetSelected = _this$props.onSolutionSetSelected,
215
+ onCustomReset = _this$props.onCustomReset;
229
216
  var _this$props2 = this.props,
230
- backgroundMarks = _this$props2.backgroundMarks,
231
- marks = _this$props2.marks,
232
- toolbarTools = _this$props2.toolbarTools; // make sure only valid tool types are kept (string) and without duplicates
233
-
217
+ backgroundMarks = _this$props2.backgroundMarks,
218
+ marks = _this$props2.marks,
219
+ toolbarTools = _this$props2.toolbarTools;
234
220
  toolbarTools = (0, _uniq["default"])(toolbarTools || []).filter(function (tT) {
235
221
  return !!(0, _isString["default"])(tT);
236
- }) || []; // keep only the backgroundMarks that have valid types
237
-
238
- backgroundMarks = filterByValidToolTypes(backgroundMarks || []); // keep only the marks that have types which appear in toolbar
239
-
222
+ }) || [];
223
+ backgroundMarks = filterByValidToolTypes(backgroundMarks || []);
240
224
  marks = filterByVisibleToolTypes(toolbarTools, marks || []);
241
225
  if (gssLineData && gssLineData.lineA && marks[0] && marks[0].type === 'line') marks[0].fill = gssLineData.lineA.lineType;
242
226
  if (gssLineData && gssLineData.lineB && marks[1] && marks[1].type === 'line') marks[1].fill = gssLineData.lineB.lineType;
243
- var tools = setToolbarAvailability(toolbarTools); // set current tool if there's no current tool or if the existing one is no longer available
244
-
227
+ var tools = setToolbarAvailability(toolbarTools);
245
228
  if (!currentTool || !toolIsAvailable(tools, currentTool)) {
246
229
  currentTool = getAvailableTool(tools);
247
230
  }
248
-
249
231
  var gssActions = gssLineData && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_toolMenu["default"], {
250
232
  numberOfLines: gssLineData.numberOfLines,
251
233
  gssLineData: gssLineData,
252
234
  onChange: onChangeGssLineData,
253
235
  disabled: !!disabled,
254
236
  language: language
255
- }), !disabled && /*#__PURE__*/_react["default"].createElement(_undoRedo["default"], {
256
- className: classes.undoRedoOuterDiv,
237
+ }), !disabled && /*#__PURE__*/_react["default"].createElement(UndoRedoOuterDiv, null, /*#__PURE__*/_react["default"].createElement(_undoRedo["default"], {
257
238
  onUndo: onUndo,
258
239
  onRedo: onRedo,
259
240
  onReset: onCustomReset,
260
241
  language: language
261
- }));
262
-
263
- return /*#__PURE__*/_react["default"].createElement("div", {
264
- className: (0, _classnames["default"])(classes.graphWithControls, className)
265
- }, !disableToolbar && /*#__PURE__*/_react["default"].createElement("div", {
266
- className: classes.controls
267
- }, collapsibleToolbar ? /*#__PURE__*/_react["default"].createElement(Collapsible, {
268
- classes: classes,
242
+ })));
243
+ return /*#__PURE__*/_react["default"].createElement(GraphWithControlsRoot, {
244
+ className: (0, _classnames["default"])(className)
245
+ }, !disableToolbar && /*#__PURE__*/_react["default"].createElement(Controls, null, collapsibleToolbar ? /*#__PURE__*/_react["default"].createElement(Collapsible, {
269
246
  title: collapsibleToolbarTitle
270
247
  }, gssActions) : gssActions), /*#__PURE__*/_react["default"].createElement("div", {
271
248
  ref: function ref(r) {
@@ -300,16 +277,12 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
300
277
  }));
301
278
  }
302
279
  }]);
303
- return GraphWithControls;
304
280
  }(_react["default"].Component);
305
-
306
- exports.GraphWithControls = GraphWithControls;
307
281
  (0, _defineProperty2["default"])(GraphWithControls, "propTypes", _objectSpread(_objectSpread({}, _graph.graphPropTypes), {}, {
308
282
  onUndo: _propTypes["default"].func,
309
283
  onRedo: _propTypes["default"].func,
310
284
  onReset: _propTypes["default"].func,
311
285
  toolbarTools: _propTypes["default"].arrayOf(_propTypes["default"].string),
312
- // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'
313
286
  language: _propTypes["default"].string
314
287
  }));
315
288
  (0, _defineProperty2["default"])(GraphWithControls, "defaultProps", {
@@ -321,52 +294,5 @@ exports.GraphWithControls = GraphWithControls;
321
294
  showTitle: true,
322
295
  toolbarTools: []
323
296
  });
324
-
325
- var styles = function styles(theme) {
326
- return {
327
- graphWithControls: {
328
- display: 'flex',
329
- flexDirection: 'column',
330
- width: 'min-content'
331
- },
332
- controls: {
333
- display: 'flex',
334
- justifyContent: 'space-between',
335
- padding: 'calc(1.25rem - 12px) calc(1.25rem - 12px) 1.25rem',
336
- color: _renderUi.color.text(),
337
- backgroundColor: '#9FA8DA',
338
- '& button': {
339
- fontSize: '0.875rem',
340
- padding: '0.25rem .3rem',
341
- width: '5rem'
342
- }
343
- },
344
- expansionPanel: {
345
- backgroundColor: _renderUi.color.primaryLight(),
346
- width: '100%'
347
- },
348
- summaryRoot: {
349
- padding: "0 ".concat(theme.spacing.unit, "px"),
350
- minHeight: '32px !important'
351
- },
352
- summaryContent: {
353
- margin: '4px 0 !important'
354
- },
355
- details: {
356
- padding: 0,
357
- marginTop: theme.spacing.unit,
358
- display: 'flex',
359
- justifyContent: 'space-between'
360
- },
361
- undoRedoOuterDiv: {
362
- display: 'flex',
363
- flexDirection: 'column',
364
- marginTop: '.5rem'
365
- }
366
- };
367
- };
368
-
369
- var _default = (0, _styles.withStyles)(styles)(GraphWithControls);
370
-
371
- exports["default"] = _default;
297
+ var _default = exports["default"] = GraphWithControls;
372
298
  //# sourceMappingURL=graph-with-controls.js.map