@pie-lib/graphing-solution-set 4.1.0-beta.9 → 5.0.0-next.36

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 (233) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/autosize-input.d.ts +10 -0
  3. package/dist/autosize-input.js +66 -0
  4. package/dist/axis/arrow.d.ts +13 -0
  5. package/dist/axis/arrow.js +34 -0
  6. package/dist/axis/axes.d.ts +132 -0
  7. package/dist/axis/axes.js +214 -0
  8. package/dist/axis/index.d.ts +10 -0
  9. package/dist/bg.d.ts +51 -0
  10. package/dist/bg.js +44 -0
  11. package/dist/container/actions.d.ts +15 -0
  12. package/dist/container/actions.js +7 -0
  13. package/dist/container/index.d.ts +58 -0
  14. package/dist/container/index.js +48 -0
  15. package/dist/container/marks.d.ts +10 -0
  16. package/dist/container/marks.js +11 -0
  17. package/dist/container/middleware.d.ts +10 -0
  18. package/dist/container/middleware.js +4 -0
  19. package/dist/container/reducer.d.ts +14 -0
  20. package/dist/container/reducer.js +7 -0
  21. package/dist/coordinates-label.d.ts +50 -0
  22. package/dist/coordinates-label.js +46 -0
  23. package/dist/graph-with-controls.d.ts +85 -0
  24. package/dist/graph-with-controls.js +155 -0
  25. package/dist/graph.d.ts +119 -0
  26. package/dist/graph.js +221 -0
  27. package/dist/grid-setup.d.ts +27 -0
  28. package/dist/grid-setup.js +307 -0
  29. package/dist/grid.d.ts +43 -0
  30. package/dist/grid.js +59 -0
  31. package/dist/index.d.ts +14 -0
  32. package/dist/index.js +6 -0
  33. package/dist/labels.d.ts +73 -0
  34. package/dist/labels.js +134 -0
  35. package/dist/mark-label.d.ts +50 -0
  36. package/dist/mark-label.js +84 -0
  37. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Axis.js +67 -0
  38. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +66 -0
  39. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Ticks.js +39 -0
  40. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  41. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  42. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +13 -0
  43. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  44. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  45. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickPosition.js +14 -0
  46. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/Grid.js +43 -0
  47. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridColumns.js +46 -0
  48. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridRows.js +46 -0
  49. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  50. package/dist/node_modules/.bun/@visx_group@4.0.0_d84c32d47042070f/node_modules/@visx/group/esm/Group.js +17 -0
  51. package/dist/node_modules/.bun/@visx_point@4.0.0/node_modules/@visx/point/esm/Point.js +20 -0
  52. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  53. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/getTicks.js +7 -0
  54. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  55. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/Line.js +27 -0
  56. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/Text.js +27 -0
  57. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/hooks/useText.js +68 -0
  58. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/getStringWidth.js +19 -0
  59. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/memoize.js +13 -0
  60. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +32 -0
  61. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +33 -0
  62. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +32 -0
  63. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  64. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +28 -0
  65. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  66. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  67. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  68. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  69. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  70. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  71. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  72. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +185 -0
  73. package/dist/node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js +198 -0
  74. package/dist/toggle-bar.d.ts +40 -0
  75. package/dist/tool-menu.d.ts +21 -0
  76. package/dist/tool-menu.js +188 -0
  77. package/dist/tools/index.d.ts +17 -0
  78. package/dist/tools/index.js +12 -0
  79. package/dist/tools/line/component.d.ts +113 -0
  80. package/dist/tools/line/component.js +58 -0
  81. package/dist/tools/line/index.d.ts +13 -0
  82. package/dist/tools/line/index.js +6 -0
  83. package/dist/tools/polygon/component.d.ts +117 -0
  84. package/dist/tools/polygon/component.js +194 -0
  85. package/dist/tools/polygon/index.d.ts +19 -0
  86. package/dist/tools/polygon/index.js +55 -0
  87. package/dist/tools/polygon/line.d.ts +125 -0
  88. package/dist/tools/polygon/polygon.d.ts +122 -0
  89. package/dist/tools/polygon/polygon.js +62 -0
  90. package/dist/tools/shared/arrow-head.d.ts +43 -0
  91. package/dist/tools/shared/arrow-head.js +37 -0
  92. package/dist/tools/shared/line/index.d.ts +240 -0
  93. package/dist/tools/shared/line/index.js +320 -0
  94. package/dist/tools/shared/line/line-path.d.ts +57 -0
  95. package/dist/tools/shared/line/with-root-edge.d.ts +143 -0
  96. package/dist/tools/shared/point/arrow-point.d.ts +57 -0
  97. package/dist/tools/shared/point/arrow-point.js +47 -0
  98. package/dist/tools/shared/point/arrow.d.ts +46 -0
  99. package/dist/tools/shared/point/arrow.js +36 -0
  100. package/dist/tools/shared/point/base-point.d.ts +50 -0
  101. package/dist/tools/shared/point/base-point.js +88 -0
  102. package/dist/tools/shared/point/index.d.ts +217 -0
  103. package/dist/tools/shared/point/index.js +51 -0
  104. package/dist/tools/shared/styles.d.ts +24 -0
  105. package/dist/tools/shared/styles.js +17 -0
  106. package/dist/tools/shared/types.d.ts +15 -0
  107. package/dist/tools/shared/types.js +10 -0
  108. package/dist/undo-redo.d.ts +20 -0
  109. package/dist/undo-redo.js +33 -0
  110. package/dist/use-debounce.d.ts +9 -0
  111. package/dist/use-debounce.js +13 -0
  112. package/dist/utils.d.ts +58 -0
  113. package/dist/utils.js +72 -0
  114. package/package.json +52 -42
  115. package/CHANGELOG.json +0 -1
  116. package/CHANGELOG.md +0 -449
  117. package/lib/axis/arrow.js +0 -79
  118. package/lib/axis/arrow.js.map +0 -1
  119. package/lib/axis/axes.js +0 -327
  120. package/lib/axis/axes.js.map +0 -1
  121. package/lib/axis/index.js +0 -21
  122. package/lib/axis/index.js.map +0 -1
  123. package/lib/bg.js +0 -114
  124. package/lib/bg.js.map +0 -1
  125. package/lib/container/actions.js +0 -18
  126. package/lib/container/actions.js.map +0 -1
  127. package/lib/container/index.js +0 -129
  128. package/lib/container/index.js.map +0 -1
  129. package/lib/container/marks.js +0 -22
  130. package/lib/container/marks.js.map +0 -1
  131. package/lib/container/middleware.js +0 -19
  132. package/lib/container/middleware.js.map +0 -1
  133. package/lib/container/reducer.js +0 -18
  134. package/lib/container/reducer.js.map +0 -1
  135. package/lib/coordinates-label.js +0 -77
  136. package/lib/coordinates-label.js.map +0 -1
  137. package/lib/graph-with-controls.js +0 -297
  138. package/lib/graph-with-controls.js.map +0 -1
  139. package/lib/graph.js +0 -353
  140. package/lib/graph.js.map +0 -1
  141. package/lib/grid-setup.js +0 -414
  142. package/lib/grid-setup.js.map +0 -1
  143. package/lib/grid.js +0 -131
  144. package/lib/grid.js.map +0 -1
  145. package/lib/index.js +0 -40
  146. package/lib/index.js.map +0 -1
  147. package/lib/labels.js +0 -199
  148. package/lib/labels.js.map +0 -1
  149. package/lib/mark-label.js +0 -159
  150. package/lib/mark-label.js.map +0 -1
  151. package/lib/toggle-bar.js +0 -248
  152. package/lib/toggle-bar.js.map +0 -1
  153. package/lib/tool-menu.js +0 -218
  154. package/lib/tool-menu.js.map +0 -1
  155. package/lib/tools/index.js +0 -24
  156. package/lib/tools/index.js.map +0 -1
  157. package/lib/tools/line/component.js +0 -92
  158. package/lib/tools/line/component.js.map +0 -1
  159. package/lib/tools/line/index.js +0 -11
  160. package/lib/tools/line/index.js.map +0 -1
  161. package/lib/tools/polygon/component.js +0 -358
  162. package/lib/tools/polygon/component.js.map +0 -1
  163. package/lib/tools/polygon/index.js +0 -89
  164. package/lib/tools/polygon/index.js.map +0 -1
  165. package/lib/tools/polygon/line.js +0 -114
  166. package/lib/tools/polygon/line.js.map +0 -1
  167. package/lib/tools/polygon/polygon.js +0 -128
  168. package/lib/tools/polygon/polygon.js.map +0 -1
  169. package/lib/tools/shared/arrow-head.js +0 -62
  170. package/lib/tools/shared/arrow-head.js.map +0 -1
  171. package/lib/tools/shared/line/index.js +0 -539
  172. package/lib/tools/shared/line/index.js.map +0 -1
  173. package/lib/tools/shared/line/line-path.js +0 -121
  174. package/lib/tools/shared/line/line-path.js.map +0 -1
  175. package/lib/tools/shared/line/with-root-edge.js +0 -121
  176. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  177. package/lib/tools/shared/point/arrow-point.js +0 -86
  178. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  179. package/lib/tools/shared/point/arrow.js +0 -70
  180. package/lib/tools/shared/point/arrow.js.map +0 -1
  181. package/lib/tools/shared/point/base-point.js +0 -137
  182. package/lib/tools/shared/point/base-point.js.map +0 -1
  183. package/lib/tools/shared/point/index.js +0 -80
  184. package/lib/tools/shared/point/index.js.map +0 -1
  185. package/lib/tools/shared/styles.js +0 -26
  186. package/lib/tools/shared/styles.js.map +0 -1
  187. package/lib/tools/shared/types.js +0 -15
  188. package/lib/tools/shared/types.js.map +0 -1
  189. package/lib/undo-redo.js +0 -67
  190. package/lib/undo-redo.js.map +0 -1
  191. package/lib/use-debounce.js +0 -25
  192. package/lib/use-debounce.js.map +0 -1
  193. package/lib/utils.js +0 -235
  194. package/lib/utils.js.map +0 -1
  195. package/src/axis/arrow.jsx +0 -57
  196. package/src/axis/axes.jsx +0 -284
  197. package/src/axis/index.js +0 -3
  198. package/src/bg.jsx +0 -96
  199. package/src/container/actions.js +0 -8
  200. package/src/container/index.jsx +0 -93
  201. package/src/container/marks.js +0 -14
  202. package/src/container/middleware.js +0 -7
  203. package/src/container/reducer.js +0 -5
  204. package/src/coordinates-label.jsx +0 -62
  205. package/src/graph-with-controls.jsx +0 -242
  206. package/src/graph.jsx +0 -333
  207. package/src/grid-setup.jsx +0 -432
  208. package/src/grid.jsx +0 -133
  209. package/src/index.js +0 -7
  210. package/src/labels.jsx +0 -173
  211. package/src/mark-label.jsx +0 -125
  212. package/src/toggle-bar.jsx +0 -221
  213. package/src/tool-menu.jsx +0 -235
  214. package/src/tools/index.js +0 -8
  215. package/src/tools/line/component.jsx +0 -77
  216. package/src/tools/line/index.js +0 -4
  217. package/src/tools/polygon/component.jsx +0 -324
  218. package/src/tools/polygon/index.js +0 -52
  219. package/src/tools/polygon/line.jsx +0 -80
  220. package/src/tools/polygon/polygon.jsx +0 -93
  221. package/src/tools/shared/arrow-head.jsx +0 -46
  222. package/src/tools/shared/line/index.jsx +0 -471
  223. package/src/tools/shared/line/line-path.jsx +0 -85
  224. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  225. package/src/tools/shared/point/arrow-point.jsx +0 -60
  226. package/src/tools/shared/point/arrow.jsx +0 -40
  227. package/src/tools/shared/point/base-point.jsx +0 -113
  228. package/src/tools/shared/point/index.jsx +0 -58
  229. package/src/tools/shared/styles.js +0 -20
  230. package/src/tools/shared/types.js +0 -8
  231. package/src/undo-redo.jsx +0 -37
  232. package/src/use-debounce.js +0 -13
  233. package/src/utils.js +0 -230
@@ -1,129 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = exports.GraphContainer = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _reactRedux = require("react-redux");
17
- var _react = _interopRequireDefault(require("react"));
18
- var _redux = require("redux");
19
- var _reducer = _interopRequireDefault(require("./reducer"));
20
- var _actions = require("./actions");
21
- var _propTypes = _interopRequireDefault(require("prop-types"));
22
- var _lodashEs = require("lodash-es");
23
- var _reduxUndo = require("redux-undo");
24
- var _graphWithControls = _interopRequireDefault(require("../graph-with-controls"));
25
- var _middleware = require("./middleware");
26
- var _excluded = ["onChangeMarks", "marks"];
27
- 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)); }
28
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
29
- var mapStateToProps = function mapStateToProps(s) {
30
- return {
31
- marks: s.marks.present
32
- };
33
- };
34
- var mapDispatchToProps = function mapDispatchToProps(dispatch) {
35
- return {
36
- onChangeMarks: function onChangeMarks(m) {
37
- return dispatch((0, _actions.changeMarks)(m));
38
- },
39
- onUndo: function onUndo() {
40
- return dispatch(_reduxUndo.ActionCreators.undo());
41
- },
42
- onRedo: function onRedo() {
43
- return dispatch(_reduxUndo.ActionCreators.redo());
44
- },
45
- onReset: function onReset() {
46
- return dispatch((0, _actions.changeMarks)([]));
47
- }
48
- };
49
- };
50
- var GraphContainer = exports.GraphContainer = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_graphWithControls["default"]);
51
-
52
- /**
53
- * The graph component entry point with undo/redo
54
- * Redux is an implementation detail, hide it in the react component.
55
- */
56
- var Root = /*#__PURE__*/function (_React$Component) {
57
- function Root(props) {
58
- var _this;
59
- (0, _classCallCheck2["default"])(this, Root);
60
- _this = _callSuper(this, Root, [props]);
61
- (0, _defineProperty2["default"])(_this, "onStoreChange", function () {
62
- var _this$props = _this.props,
63
- marks = _this$props.marks,
64
- onChangeMarks = _this$props.onChangeMarks;
65
- var storeState = _this.store.getState();
66
- var lastAction = (0, _middleware.getLastAction)();
67
- var isUndoOperation = lastAction.type.includes('UNDO') || lastAction.type.includes('REDO');
68
- if (!(0, _lodashEs.isEqual)(storeState.marks.present, marks)) {
69
- onChangeMarks(storeState.marks.present, isUndoOperation);
70
- }
71
- });
72
- var r = (0, _reducer["default"])();
73
- _this.store = (0, _redux.createStore)(r, {
74
- marks: props.marks
75
- }, (0, _redux.applyMiddleware)(_middleware.lastActionMiddleware));
76
- _this.store.subscribe(_this.onStoreChange);
77
- return _this;
78
- }
79
- (0, _inherits2["default"])(Root, _React$Component);
80
- return (0, _createClass2["default"])(Root, [{
81
- key: "componentDidUpdate",
82
- value: function componentDidUpdate(prevProps) {
83
- var marks = this.props.marks;
84
- var storeState = this.store.getState();
85
- if ((0, _lodashEs.isEqual)(storeState.marks.present, marks)) {
86
- return;
87
- }
88
- if (!(0, _lodashEs.isEqual)(prevProps.marks, marks)) {
89
- // Don't dispatch marks that have correctness (evaluate mode marks) into the undo history.
90
- // These marks are already handled in render() via the correctnessSet path and bypass the
91
- // Redux store entirely. Dispatching them would pollute the undo history and cause the graph
92
- // to show the correct answer when the user presses undo after returning to gather mode.
93
- var hasCorrectness = marks && marks.find(function (m) {
94
- return m.correctness;
95
- });
96
- if (!hasCorrectness) {
97
- this.store.dispatch((0, _actions.changeMarks)(marks));
98
- }
99
- }
100
- }
101
- }, {
102
- key: "render",
103
- value: function render() {
104
- // eslint-disable-next-line no-unused-vars
105
- var _this$props2 = this.props,
106
- onChangeMarks = _this$props2.onChangeMarks,
107
- marks = _this$props2.marks,
108
- rest = (0, _objectWithoutProperties2["default"])(_this$props2, _excluded);
109
- var correctnessSet = marks && marks.find(function (m) {
110
- return m.correctness;
111
- });
112
- if (correctnessSet) {
113
- return /*#__PURE__*/_react["default"].createElement(_graphWithControls["default"], (0, _extends2["default"])({}, rest, {
114
- marks: marks,
115
- disabled: correctnessSet
116
- }));
117
- }
118
- return /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
119
- store: this.store
120
- }, /*#__PURE__*/_react["default"].createElement(GraphContainer, rest));
121
- }
122
- }]);
123
- }(_react["default"].Component);
124
- (0, _defineProperty2["default"])(Root, "propTypes", {
125
- onChangeMarks: _propTypes["default"].func,
126
- marks: _propTypes["default"].array
127
- });
128
- var _default = exports["default"] = Root;
129
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_reactRedux","require","_react","_interopRequireDefault","_redux","_reducer","_actions","_propTypes","_lodashEs","_reduxUndo","_graphWithControls","_middleware","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","mapStateToProps","s","marks","present","mapDispatchToProps","dispatch","onChangeMarks","m","changeMarks","onUndo","ActionCreators","undo","onRedo","redo","onReset","GraphContainer","exports","connect","GraphWithControls","Root","_React$Component","props","_this","_classCallCheck2","_defineProperty2","_this$props","storeState","store","getState","lastAction","getLastAction","isUndoOperation","type","includes","isEqual","r","reducer","createStore","applyMiddleware","lastActionMiddleware","subscribe","onStoreChange","_inherits2","_createClass2","key","value","componentDidUpdate","prevProps","hasCorrectness","find","correctness","render","_this$props2","rest","_objectWithoutProperties2","correctnessSet","createElement","_extends2","disabled","Provider","React","Component","PropTypes","func","array","_default"],"sources":["../../src/container/index.jsx"],"sourcesContent":["import { connect, Provider } from 'react-redux';\nimport React from 'react';\nimport { applyMiddleware, createStore } from 'redux';\nimport reducer from './reducer';\nimport { changeMarks } from './actions';\nimport PropTypes from 'prop-types';\nimport { isEqual } from 'lodash-es';\nimport { ActionCreators } from 'redux-undo';\nimport GraphWithControls from '../graph-with-controls';\nimport { getLastAction, lastActionMiddleware } from './middleware';\n\nconst mapStateToProps = (s) => ({\n marks: s.marks.present,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n onChangeMarks: (m) => dispatch(changeMarks(m)),\n onUndo: () => dispatch(ActionCreators.undo()),\n onRedo: () => dispatch(ActionCreators.redo()),\n onReset: () => dispatch(changeMarks([])),\n});\n\nexport const GraphContainer = connect(mapStateToProps, mapDispatchToProps)(GraphWithControls);\n\n/**\n * The graph component entry point with undo/redo\n * Redux is an implementation detail, hide it in the react component.\n */\nclass Root extends React.Component {\n static propTypes = {\n onChangeMarks: PropTypes.func,\n marks: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n\n const r = reducer();\n this.store = createStore(r, { marks: props.marks }, applyMiddleware(lastActionMiddleware));\n\n this.store.subscribe(this.onStoreChange);\n }\n\n componentDidUpdate(prevProps) {\n const { marks } = this.props;\n const storeState = this.store.getState();\n\n if (isEqual(storeState.marks.present, marks)) {\n return;\n }\n\n if (!isEqual(prevProps.marks, marks)) {\n // Don't dispatch marks that have correctness (evaluate mode marks) into the undo history.\n // These marks are already handled in render() via the correctnessSet path and bypass the\n // Redux store entirely. Dispatching them would pollute the undo history and cause the graph\n // to show the correct answer when the user presses undo after returning to gather mode.\n const hasCorrectness = marks && marks.find((m) => m.correctness);\n\n if (!hasCorrectness) {\n this.store.dispatch(changeMarks(marks));\n }\n }\n }\n\n onStoreChange = () => {\n const { marks, onChangeMarks } = this.props;\n const storeState = this.store.getState();\n const lastAction = getLastAction();\n const isUndoOperation = lastAction.type.includes('UNDO') || lastAction.type.includes('REDO');\n\n if (!isEqual(storeState.marks.present, marks)) {\n onChangeMarks(storeState.marks.present, isUndoOperation);\n }\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const { onChangeMarks, marks, ...rest } = this.props;\n const correctnessSet = marks && marks.find((m) => m.correctness);\n\n if (correctnessSet) {\n return <GraphWithControls {...rest} marks={marks} disabled={correctnessSet} />;\n }\n\n return (\n <Provider store={this.store}>\n <GraphContainer {...rest} />\n </Provider>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var marks = function marks() {
8
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
9
- var action = arguments.length > 1 ? arguments[1] : undefined;
10
- switch (action.type) {
11
- case 'CHANGE_MARKS':
12
- if (Array.isArray(action.marks)) {
13
- return action.marks;
14
- } else {
15
- throw new Error('marks must be an array');
16
- }
17
- default:
18
- return state;
19
- }
20
- };
21
- var _default = exports["default"] = marks;
22
- //# sourceMappingURL=marks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"marks.js","names":["marks","state","arguments","length","undefined","action","type","Array","isArray","Error","_default","exports"],"sources":["../../src/container/marks.js"],"sourcesContent":["const marks = (state = [], action) => {\n switch (action.type) {\n case 'CHANGE_MARKS':\n if (Array.isArray(action.marks)) {\n return action.marks;\n } else {\n throw new Error('marks must be an array');\n }\n default:\n return state;\n }\n};\n\nexport default marks;\n"],"mappings":";;;;;;AAAA,IAAMA,KAAK,GAAG,SAARA,KAAKA,CAAA,EAA2B;EAAA,IAAvBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC/B,QAAQC,MAAM,CAACC,IAAI;IACjB,KAAK,cAAc;MACjB,IAAIC,KAAK,CAACC,OAAO,CAACH,MAAM,CAACL,KAAK,CAAC,EAAE;QAC/B,OAAOK,MAAM,CAACL,KAAK;MACrB,CAAC,MAAM;QACL,MAAM,IAAIS,KAAK,CAAC,wBAAwB,CAAC;MAC3C;IACF;MACE,OAAOR,KAAK;EAChB;AACF,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,cAEaX,KAAK","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.lastActionMiddleware = exports.getLastAction = void 0;
7
- var lastAction = null;
8
- var getLastAction = exports.getLastAction = function getLastAction() {
9
- return lastAction;
10
- };
11
- var lastActionMiddleware = exports.lastActionMiddleware = function lastActionMiddleware() {
12
- return function (next) {
13
- return function (action) {
14
- lastAction = action;
15
- return next(action);
16
- };
17
- };
18
- };
19
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","names":["lastAction","getLastAction","exports","lastActionMiddleware","next","action"],"sources":["../../src/container/middleware.js"],"sourcesContent":["let lastAction = null;\nexport const getLastAction = () => lastAction;\n\nexport const lastActionMiddleware = () => (next) => (action) => {\n lastAction = action;\n return next(action);\n};\n"],"mappings":";;;;;;AAAA,IAAIA,UAAU,GAAG,IAAI;AACd,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA;EAAA,OAASD,UAAU;AAAA;AAEtC,IAAMG,oBAAoB,GAAAD,OAAA,CAAAC,oBAAA,GAAG,SAAvBA,oBAAoBA,CAAA;EAAA,OAAS,UAACC,IAAI;IAAA,OAAK,UAACC,MAAM,EAAK;MAC9DL,UAAU,GAAGK,MAAM;MACnB,OAAOD,IAAI,CAACC,MAAM,CAAC;IACrB,CAAC;EAAA;AAAA","ignoreList":[]}
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _redux = require("redux");
9
- var _marks = _interopRequireDefault(require("./marks"));
10
- var _reduxUndo = _interopRequireDefault(require("redux-undo"));
11
- var _default = exports["default"] = function _default() {
12
- return (0, _redux.combineReducers)({
13
- marks: (0, _reduxUndo["default"])(_marks["default"], {
14
- debug: false
15
- })
16
- });
17
- };
18
- //# sourceMappingURL=reducer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reducer.js","names":["_redux","require","_marks","_interopRequireDefault","_reduxUndo","_default","exports","combineReducers","marks","undoable","debug"],"sources":["../../src/container/reducer.js"],"sourcesContent":["import { combineReducers } from 'redux';\nimport marks from './marks';\nimport undoable from 'redux-undo';\n\nexport default () => combineReducers({ marks: undoable(marks, { debug: false }) });\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAkC,IAAAI,QAAA,GAAAC,OAAA,cAEnB,SAAAD,SAAA;EAAA,OAAM,IAAAE,sBAAe,EAAC;IAAEC,KAAK,EAAE,IAAAC,qBAAQ,EAACD,iBAAK,EAAE;MAAEE,KAAK,EAAE;IAAM,CAAC;EAAE,CAAC,CAAC;AAAA","ignoreList":[]}
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.getLabelPosition = exports["default"] = exports.CoordinatesLabel = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _plot = require("@pie-lib/plot");
12
- var _renderUi = require("@pie-lib/render-ui");
13
- var _styles = require("@mui/material/styles");
14
- var _InputBase = _interopRequireDefault(require("@mui/material/InputBase"));
15
- var _utils = require("./utils");
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;
20
- return {
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': {
27
- padding: 0
28
- }
29
- };
30
- });
31
- var getLabelPosition = exports.getLabelPosition = function getLabelPosition(graphProps, x, y, labelLength) {
32
- var scale = graphProps.scale,
33
- domain = graphProps.domain,
34
- range = graphProps.range;
35
- // treat corner cases for maximum and minimum
36
- var topShift = y === range.min ? 16 : y === range.max ? 0 : 8;
37
- var leftShift = 10;
38
- var rightEdge = scale.x(x) + labelLength + leftShift;
39
- if (rightEdge >= scale.x(domain.max)) {
40
- return {
41
- left: scale.x(x) - leftShift - labelLength,
42
- top: scale.y(y) - topShift
43
- };
44
- }
45
- return {
46
- left: scale.x(x) + leftShift,
47
- top: scale.y(y) - topShift
48
- };
49
- };
50
- var CoordinatesLabel = exports.CoordinatesLabel = function CoordinatesLabel(_ref2) {
51
- var x = _ref2.x,
52
- y = _ref2.y,
53
- graphProps = _ref2.graphProps;
54
- var label = "(".concat((0, _utils.roundNumber)(x), ", ").concat((0, _utils.roundNumber)(y), ")");
55
- var labelLength = (label.length || 0) * 6;
56
- var labelPosition = getLabelPosition(graphProps, x, y, labelLength);
57
- var style = _objectSpread({
58
- position: 'absolute',
59
- pointerEvents: 'auto',
60
- width: labelLength,
61
- padding: 0
62
- }, labelPosition);
63
- return /*#__PURE__*/_react["default"].createElement(StyledInputBase, {
64
- style: style,
65
- value: label,
66
- inputProps: {
67
- ariaLabel: 'naked'
68
- }
69
- });
70
- };
71
- CoordinatesLabel.propTypes = {
72
- graphProps: _plot.types.GraphPropsType,
73
- x: _propTypes["default"].number,
74
- y: _propTypes["default"].number
75
- };
76
- var _default = exports["default"] = CoordinatesLabel;
77
- //# sourceMappingURL=coordinates-label.js.map
@@ -1 +0,0 @@
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 <StyledInputBase style={style} value={label} inputProps={{ ariaLabel: 'naked' }} />;\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,297 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.toolIsAvailable = exports.setToolbarAvailability = exports.getAvailableTool = exports.filterByVisibleToolTypes = exports.filterByValidToolTypes = exports["default"] = exports.GraphWithControls = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
17
- var _styles = require("@mui/material/styles");
18
- var _classnames = _interopRequireDefault(require("classnames"));
19
- var _lodashEs = require("lodash-es");
20
- var _renderUi = require("@pie-lib/render-ui");
21
- var _toolMenu = _interopRequireDefault(require("./tool-menu"));
22
- var _graph = _interopRequireWildcard(require("./graph"));
23
- var _undoRedo = _interopRequireDefault(require("./undo-redo"));
24
- var _tools = require("./tools");
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 setToolbarAvailability = exports.setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
33
- return _tools.toolsArr.map(function (tA) {
34
- return _objectSpread(_objectSpread({}, tA), {}, {
35
- toolbar: !!toolbarTools.find(function (t) {
36
- return t === tA.type;
37
- })
38
- });
39
- }) || [];
40
- };
41
- var toolIsAvailable = exports.toolIsAvailable = function toolIsAvailable(tools, currentTool) {
42
- return currentTool && tools && (tools.find(function (tool) {
43
- return tool.type === currentTool.type;
44
- }) || {}).toolbar;
45
- };
46
- var getAvailableTool = exports.getAvailableTool = function getAvailableTool(tools) {
47
- return tools.find(function (tool) {
48
- return tool.toolbar;
49
- });
50
- };
51
- var filterByValidToolTypes = exports.filterByValidToolTypes = function filterByValidToolTypes(backgroundMarks) {
52
- return backgroundMarks.filter(function (bM) {
53
- return !!_tools.allTools.find(function (tool) {
54
- return tool === bM.type;
55
- });
56
- });
57
- };
58
- var filterByVisibleToolTypes = exports.filterByVisibleToolTypes = function filterByVisibleToolTypes(toolbarTools, marks) {
59
- return marks.filter(function (bM) {
60
- return !!toolbarTools.find(function (tool) {
61
- return tool === bM.type;
62
- });
63
- });
64
- };
65
- var getDefaultCurrentTool = function getDefaultCurrentTool(toolType) {
66
- return _tools.toolsArr.find(function (tool) {
67
- return tool.type === toolType;
68
- }) || null;
69
- };
70
- var GraphWithControlsRoot = (0, _styles.styled)('div')(function () {
71
- return {
72
- display: 'flex',
73
- flexDirection: 'column',
74
- width: 'min-content'
75
- };
76
- });
77
- var Controls = (0, _styles.styled)('div')(function () {
78
- return {
79
- display: 'flex',
80
- justifyContent: 'space-between',
81
- padding: 'calc(1.25rem - 12px) calc(1.25rem - 12px) 1.25rem',
82
- color: _renderUi.color.text(),
83
- backgroundColor: '#9FA8DA',
84
- '& button': {
85
- fontSize: '0.875rem',
86
- padding: '0.25rem .3rem',
87
- width: '5rem'
88
- }
89
- };
90
- });
91
- var StyledAccordion = (0, _styles.styled)(_material.Accordion)(function () {
92
- return {
93
- backgroundColor: _renderUi.color.primaryLight(),
94
- width: '100%',
95
- boxShadow: 'none'
96
- };
97
- });
98
- var StyledAccordionSummary = (0, _styles.styled)(_material.AccordionSummary)(function (_ref) {
99
- var theme = _ref.theme;
100
- return {
101
- padding: "0 ".concat(theme.spacing(1)),
102
- minHeight: '32px !important',
103
- '& .MuiAccordionSummary-content': {
104
- margin: '4px 0 !important'
105
- }
106
- };
107
- });
108
- var StyledAccordionDetails = (0, _styles.styled)(_material.AccordionDetails)(function (_ref2) {
109
- var theme = _ref2.theme;
110
- return {
111
- padding: 0,
112
- marginTop: theme.spacing(1),
113
- display: 'flex',
114
- justifyContent: 'space-between'
115
- };
116
- });
117
- var UndoRedoOuterDiv = (0, _styles.styled)('div')(function () {
118
- return {
119
- display: 'flex',
120
- flexDirection: 'column',
121
- marginTop: '.5rem'
122
- };
123
- });
124
- var Collapsible = function Collapsible(_ref3) {
125
- var children = _ref3.children,
126
- title = _ref3.title;
127
- return /*#__PURE__*/_react["default"].createElement(StyledAccordion, {
128
- square: true,
129
- disableGutters: true
130
- }, /*#__PURE__*/_react["default"].createElement(StyledAccordionSummary, {
131
- expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
132
- }, /*#__PURE__*/_react["default"].createElement(_material.Typography, {
133
- variant: "subtitle1"
134
- }, title)), /*#__PURE__*/_react["default"].createElement(StyledAccordionDetails, null, children));
135
- };
136
- Collapsible.propTypes = {
137
- children: _propTypes["default"].node,
138
- title: _propTypes["default"].string
139
- };
140
- var GraphWithControls = exports.GraphWithControls = /*#__PURE__*/function (_React$Component) {
141
- function GraphWithControls(props) {
142
- var _this;
143
- (0, _classCallCheck2["default"])(this, GraphWithControls);
144
- _this = _callSuper(this, GraphWithControls, [props]);
145
- (0, _defineProperty2["default"])(_this, "changeCurrentTool", function (tool, tools) {
146
- return _this.setState({
147
- currentTool: tools.find(function (t) {
148
- return t.type === tool;
149
- })
150
- });
151
- });
152
- (0, _defineProperty2["default"])(_this, "toggleLabelMode", function () {
153
- return _this.setState(function (state) {
154
- return {
155
- labelModeEnabled: !state.labelModeEnabled
156
- };
157
- });
158
- });
159
- _this.state = {
160
- currentTool: getDefaultCurrentTool(props.defaultTool),
161
- labelModeEnabled: false
162
- };
163
- return _this;
164
- }
165
- (0, _inherits2["default"])(GraphWithControls, _React$Component);
166
- return (0, _createClass2["default"])(GraphWithControls, [{
167
- key: "componentDidUpdate",
168
- value: function componentDidUpdate(prevProps) {
169
- var defaultTool = this.props.defaultTool;
170
- if (prevProps.defaultTool !== defaultTool) {
171
- var currentTool = getDefaultCurrentTool(defaultTool);
172
- this.setState({
173
- currentTool: currentTool
174
- });
175
- }
176
- }
177
- }, {
178
- key: "render",
179
- value: function render() {
180
- var _this2 = this;
181
- var _this$state = this.state,
182
- currentTool = _this$state.currentTool,
183
- labelModeEnabled = _this$state.labelModeEnabled;
184
- var _this$props = this.props,
185
- axesSettings = _this$props.axesSettings,
186
- className = _this$props.className,
187
- coordinatesOnHover = _this$props.coordinatesOnHover,
188
- collapsibleToolbar = _this$props.collapsibleToolbar,
189
- collapsibleToolbarTitle = _this$props.collapsibleToolbarTitle,
190
- disabled = _this$props.disabled,
191
- disabledLabels = _this$props.disabledLabels,
192
- disabledTitle = _this$props.disabledTitle,
193
- domain = _this$props.domain,
194
- labels = _this$props.labels,
195
- labelsPlaceholders = _this$props.labelsPlaceholders,
196
- onChangeLabels = _this$props.onChangeLabels,
197
- onChangeMarks = _this$props.onChangeMarks,
198
- onChangeTitle = _this$props.onChangeTitle,
199
- onUndo = _this$props.onUndo,
200
- onRedo = _this$props.onRedo,
201
- range = _this$props.range,
202
- size = _this$props.size,
203
- showLabels = _this$props.showLabels,
204
- showPixelGuides = _this$props.showPixelGuides,
205
- showTitle = _this$props.showTitle,
206
- title = _this$props.title,
207
- titlePlaceholder = _this$props.titlePlaceholder,
208
- language = _this$props.language,
209
- _this$props$disableTo = _this$props.disableToolbar,
210
- disableToolbar = _this$props$disableTo === void 0 ? false : _this$props$disableTo,
211
- gssLineData = _this$props.gssLineData,
212
- onChangeGssLineData = _this$props.onChangeGssLineData,
213
- onSolutionSetSelected = _this$props.onSolutionSetSelected,
214
- onCustomReset = _this$props.onCustomReset;
215
- var _this$props2 = this.props,
216
- backgroundMarks = _this$props2.backgroundMarks,
217
- marks = _this$props2.marks,
218
- toolbarTools = _this$props2.toolbarTools;
219
- toolbarTools = (0, _lodashEs.uniq)(toolbarTools || []).filter(function (tT) {
220
- return !!(0, _lodashEs.isString)(tT);
221
- }) || [];
222
- backgroundMarks = filterByValidToolTypes(backgroundMarks || []);
223
- marks = filterByVisibleToolTypes(toolbarTools, marks || []);
224
- if (gssLineData && gssLineData.lineA && marks[0] && marks[0].type === 'line') marks[0].fill = gssLineData.lineA.lineType;
225
- if (gssLineData && gssLineData.lineB && marks[1] && marks[1].type === 'line') marks[1].fill = gssLineData.lineB.lineType;
226
- var tools = setToolbarAvailability(toolbarTools);
227
- if (!currentTool || !toolIsAvailable(tools, currentTool)) {
228
- currentTool = getAvailableTool(tools);
229
- }
230
- var gssActions = gssLineData && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_toolMenu["default"], {
231
- numberOfLines: gssLineData.numberOfLines,
232
- gssLineData: gssLineData,
233
- onChange: onChangeGssLineData,
234
- disabled: !!disabled,
235
- language: language
236
- }), !disabled && /*#__PURE__*/_react["default"].createElement(UndoRedoOuterDiv, null, /*#__PURE__*/_react["default"].createElement(_undoRedo["default"], {
237
- onUndo: onUndo,
238
- onRedo: onRedo,
239
- onReset: onCustomReset,
240
- language: language
241
- })));
242
- return /*#__PURE__*/_react["default"].createElement(GraphWithControlsRoot, {
243
- className: (0, _classnames["default"])(className)
244
- }, !disableToolbar && /*#__PURE__*/_react["default"].createElement(Controls, null, collapsibleToolbar ? /*#__PURE__*/_react["default"].createElement(Collapsible, {
245
- title: collapsibleToolbarTitle
246
- }, gssActions) : gssActions), /*#__PURE__*/_react["default"].createElement("div", {
247
- ref: function ref(r) {
248
- return _this2.labelNode = r;
249
- }
250
- }), /*#__PURE__*/_react["default"].createElement(_graph["default"], {
251
- axesSettings: axesSettings,
252
- backgroundMarks: backgroundMarks,
253
- coordinatesOnHover: coordinatesOnHover,
254
- currentTool: currentTool,
255
- disabledLabels: disabledLabels,
256
- disabledTitle: disabledTitle,
257
- domain: domain,
258
- labels: labels,
259
- labelModeEnabled: labelModeEnabled,
260
- labelsPlaceholders: labelsPlaceholders,
261
- marks: marks,
262
- onChangeMarks: !disabled ? onChangeMarks : undefined,
263
- onChangeLabels: onChangeLabels,
264
- onChangeTitle: onChangeTitle,
265
- range: range,
266
- size: size,
267
- showLabels: showLabels,
268
- showPixelGuides: showPixelGuides,
269
- showTitle: showTitle,
270
- title: title,
271
- titlePlaceholder: titlePlaceholder,
272
- tools: tools,
273
- gssLineData: gssLineData,
274
- onSolutionSetSelected: onSolutionSetSelected,
275
- disabled: !!disabled
276
- }));
277
- }
278
- }]);
279
- }(_react["default"].Component);
280
- (0, _defineProperty2["default"])(GraphWithControls, "propTypes", _objectSpread(_objectSpread({}, _graph.graphPropTypes), {}, {
281
- onUndo: _propTypes["default"].func,
282
- onRedo: _propTypes["default"].func,
283
- onReset: _propTypes["default"].func,
284
- toolbarTools: _propTypes["default"].arrayOf(_propTypes["default"].string),
285
- language: _propTypes["default"].string
286
- }));
287
- (0, _defineProperty2["default"])(GraphWithControls, "defaultProps", {
288
- collapsibleToolbar: false,
289
- collapsibleToolbarTitle: '',
290
- disabledLabels: false,
291
- disabledTitle: false,
292
- showLabels: true,
293
- showTitle: true,
294
- toolbarTools: []
295
- });
296
- var _default = exports["default"] = GraphWithControls;
297
- //# sourceMappingURL=graph-with-controls.js.map