@pie-lib/graphing-solution-set 2.20.0 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CHANGELOG.md +6 -10
  2. package/lib/axis/arrow.js +115 -0
  3. package/lib/axis/arrow.js.map +1 -0
  4. package/lib/axis/axes.js +415 -0
  5. package/lib/axis/axes.js.map +1 -0
  6. package/lib/axis/index.js +26 -0
  7. package/lib/axis/index.js.map +1 -0
  8. package/lib/bg.js +139 -0
  9. package/lib/bg.js.map +1 -0
  10. package/lib/container/actions.js +24 -0
  11. package/lib/container/actions.js.map +1 -0
  12. package/lib/container/index.js +166 -0
  13. package/lib/container/index.js.map +1 -0
  14. package/lib/container/marks.js +27 -0
  15. package/lib/container/marks.js.map +1 -0
  16. package/lib/container/middleware.js +25 -0
  17. package/lib/container/middleware.js.map +1 -0
  18. package/lib/container/reducer.js +25 -0
  19. package/lib/container/reducer.js.map +1 -0
  20. package/lib/coordinates-label.js +109 -0
  21. package/lib/coordinates-label.js.map +1 -0
  22. package/lib/graph-with-controls.js +372 -0
  23. package/lib/graph-with-controls.js.map +1 -0
  24. package/lib/graph.js +419 -0
  25. package/lib/graph.js.map +1 -0
  26. package/lib/grid-setup.js +462 -0
  27. package/lib/grid-setup.js.map +1 -0
  28. package/lib/grid.js +176 -0
  29. package/lib/grid.js.map +1 -0
  30. package/lib/index.js +51 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/labels.js +299 -0
  33. package/lib/labels.js.map +1 -0
  34. package/lib/mark-label.js +208 -0
  35. package/lib/mark-label.js.map +1 -0
  36. package/lib/toggle-bar.js +336 -0
  37. package/lib/toggle-bar.js.map +1 -0
  38. package/lib/tool-menu.js +325 -0
  39. package/lib/tool-menu.js.map +1 -0
  40. package/lib/tools/index.js +29 -0
  41. package/lib/tools/index.js.map +1 -0
  42. package/lib/tools/line/component.js +106 -0
  43. package/lib/tools/line/component.js.map +1 -0
  44. package/lib/tools/line/index.js +16 -0
  45. package/lib/tools/line/index.js.map +1 -0
  46. package/lib/tools/polygon/component.js +457 -0
  47. package/lib/tools/polygon/component.js.map +1 -0
  48. package/lib/tools/polygon/index.js +106 -0
  49. package/lib/tools/polygon/index.js.map +1 -0
  50. package/lib/tools/polygon/line.js +151 -0
  51. package/lib/tools/polygon/line.js.map +1 -0
  52. package/lib/tools/polygon/polygon.js +171 -0
  53. package/lib/tools/polygon/polygon.js.map +1 -0
  54. package/lib/tools/shared/arrow-head.js +75 -0
  55. package/lib/tools/shared/arrow-head.js.map +1 -0
  56. package/lib/tools/shared/line/index.js +637 -0
  57. package/lib/tools/shared/line/index.js.map +1 -0
  58. package/lib/tools/shared/line/line-path.js +145 -0
  59. package/lib/tools/shared/line/line-path.js.map +1 -0
  60. package/lib/tools/shared/line/with-root-edge.js +155 -0
  61. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  62. package/lib/tools/shared/point/arrow-point.js +113 -0
  63. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  64. package/lib/tools/shared/point/arrow.js +96 -0
  65. package/lib/tools/shared/point/arrow.js.map +1 -0
  66. package/lib/tools/shared/point/base-point.js +151 -0
  67. package/lib/tools/shared/point/base-point.js.map +1 -0
  68. package/lib/tools/shared/point/index.js +94 -0
  69. package/lib/tools/shared/point/index.js.map +1 -0
  70. package/lib/tools/shared/styles.js +49 -0
  71. package/lib/tools/shared/styles.js.map +1 -0
  72. package/lib/tools/shared/types.js +19 -0
  73. package/lib/tools/shared/types.js.map +1 -0
  74. package/lib/undo-redo.js +107 -0
  75. package/lib/undo-redo.js.map +1 -0
  76. package/lib/use-debounce.js +32 -0
  77. package/lib/use-debounce.js.map +1 -0
  78. package/lib/utils.js +314 -0
  79. package/lib/utils.js.map +1 -0
  80. package/package.json +9 -9
  81. package/src/__tests__/graph-with-controls.test.jsx +1 -1
  82. package/src/__tests__/graph.test.jsx +1 -1
  83. package/src/tools/line/__tests__/component.test.jsx +2 -2
  84. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +2 -2
  85. package/src/tools/shared/point/__tests__/base-point.test.jsx +2 -2
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.ToolMenu = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _core = require("@material-ui/core");
29
+
30
+ var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
31
+
32
+ var _styles = require("@material-ui/core/styles");
33
+
34
+ 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); }; }
35
+
36
+ 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; } }
37
+
38
+ var ToolMenu = /*#__PURE__*/function (_React$Component) {
39
+ (0, _inherits2["default"])(ToolMenu, _React$Component);
40
+
41
+ var _super = _createSuper(ToolMenu);
42
+
43
+ function ToolMenu() {
44
+ var _this;
45
+
46
+ (0, _classCallCheck2["default"])(this, ToolMenu);
47
+
48
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49
+ args[_key] = arguments[_key];
50
+ }
51
+
52
+ _this = _super.call.apply(_super, [this].concat(args));
53
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeRadioValue", function (event) {
54
+ var _this$props = _this.props,
55
+ gssLineData = _this$props.gssLineData,
56
+ onChange = _this$props.onChange;
57
+ var oldSelectedTool = gssLineData.selectedTool;
58
+ gssLineData.selectedTool = event.target.value;
59
+ onChange(gssLineData, oldSelectedTool);
60
+ });
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "lineTypeChange", function (line, type) {
62
+ var _this$props2 = _this.props,
63
+ gssLineData = _this$props2.gssLineData,
64
+ onChange = _this$props2.onChange;
65
+ var oldSelectedTool = gssLineData.selectedTool;
66
+ gssLineData["line".concat(line)].lineType = type;
67
+ onChange(gssLineData, oldSelectedTool);
68
+ });
69
+ return _this;
70
+ }
71
+
72
+ (0, _createClass2["default"])(ToolMenu, [{
73
+ key: "render",
74
+ value: function render() {
75
+ var _this2 = this;
76
+
77
+ var _this$props3 = this.props,
78
+ classes = _this$props3.classes,
79
+ gssLineData = _this$props3.gssLineData,
80
+ disabled = _this$props3.disabled;
81
+ return /*#__PURE__*/_react["default"].createElement("div", {
82
+ className: classes.selectLineRadioGroup
83
+ }, /*#__PURE__*/_react["default"].createElement("div", {
84
+ className: classes.radioFieldOuter
85
+ }, /*#__PURE__*/_react["default"].createElement("div", {
86
+ className: classes.radioFieldInner
87
+ }, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
88
+ name: 'select-line-radio-buttons',
89
+ onChange: this.onChangeRadioValue,
90
+ value: 'lineA',
91
+ disabled: !!disabled,
92
+ checked: gssLineData.selectedTool === 'lineA',
93
+ className: classes.lineTypeRadio
94
+ }), /*#__PURE__*/_react["default"].createElement(_core.Typography, {
95
+ className: classes.lineNameFont
96
+ }, "Line A")), /*#__PURE__*/_react["default"].createElement("div", {
97
+ className: classes.radioFieldButtons
98
+ }, gssLineData.lineA.lineType === 'Solid' ? /*#__PURE__*/_react["default"].createElement(_core.Button, {
99
+ size: 'small',
100
+ variant: 'contained',
101
+ color: 'primary',
102
+ onClick: function onClick() {
103
+ return _this2.lineTypeChange('A', 'Solid');
104
+ },
105
+ className: disabled ? classes.lineTypeButtonLeftSelectedDisabled : classes.lineTypeButtonLeftSelected
106
+ }, "\u2714 Solid") : /*#__PURE__*/_react["default"].createElement(_core.Button, {
107
+ size: 'small',
108
+ variant: 'contained',
109
+ disabled: !!disabled,
110
+ onClick: function onClick() {
111
+ return _this2.lineTypeChange('A', 'Solid');
112
+ },
113
+ className: disabled ? classes.lineTypeButtonLeftUnSelectedDisabled : classes.lineTypeButtonLeftUnSelected
114
+ }, "Solid"), gssLineData.lineA.lineType === 'Dashed' ? /*#__PURE__*/_react["default"].createElement(_core.Button, {
115
+ size: 'small',
116
+ variant: 'contained',
117
+ color: 'primary',
118
+ onClick: function onClick() {
119
+ return _this2.lineTypeChange('A', 'Dashed');
120
+ },
121
+ className: disabled ? classes.lineTypeButtonRightSelectedDisabled : classes.lineTypeButtonRightSelected
122
+ }, "\u2714 Dashed") : /*#__PURE__*/_react["default"].createElement(_core.Button, {
123
+ size: 'small',
124
+ variant: 'contained',
125
+ disabled: !!disabled,
126
+ onClick: function onClick() {
127
+ return _this2.lineTypeChange('A', 'Dashed');
128
+ },
129
+ className: disabled ? classes.lineTypeButtonRightUnSelectedDisabled : classes.lineTypeButtonRightUnSelected
130
+ }, "Dashed"))), gssLineData.numberOfLines === 2 ? /*#__PURE__*/_react["default"].createElement("div", {
131
+ className: classes.radioFieldOuter
132
+ }, /*#__PURE__*/_react["default"].createElement("div", {
133
+ className: classes.radioFieldInner
134
+ }, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
135
+ name: 'select-line-radio-buttons',
136
+ onChange: this.onChangeRadioValue,
137
+ value: 'lineB',
138
+ disabled: !!disabled,
139
+ checked: gssLineData.selectedTool === 'lineB',
140
+ className: classes.lineTypeRadio
141
+ }), /*#__PURE__*/_react["default"].createElement(_core.Typography, {
142
+ className: classes.lineNameFont
143
+ }, "Line B")), /*#__PURE__*/_react["default"].createElement("div", {
144
+ className: classes.radioFieldButtons
145
+ }, gssLineData.lineB.lineType === 'Solid' ? /*#__PURE__*/_react["default"].createElement(_core.Button, {
146
+ size: 'small',
147
+ variant: 'contained',
148
+ color: 'primary',
149
+ onClick: function onClick() {
150
+ return _this2.lineTypeChange('B', 'Solid');
151
+ },
152
+ className: disabled ? classes.lineTypeButtonLeftSelectedDisabled : classes.lineTypeButtonLeftSelected
153
+ }, "\u2714 Solid") : /*#__PURE__*/_react["default"].createElement(_core.Button, {
154
+ size: 'small',
155
+ variant: 'contained',
156
+ disabled: !!disabled,
157
+ onClick: function onClick() {
158
+ return _this2.lineTypeChange('B', 'Solid');
159
+ },
160
+ className: disabled ? classes.lineTypeButtonLeftUnSelectedDisabled : classes.lineTypeButtonLeftUnSelected
161
+ }, "Solid"), gssLineData.lineB.lineType === 'Dashed' ? /*#__PURE__*/_react["default"].createElement(_core.Button, {
162
+ size: 'small',
163
+ variant: 'contained',
164
+ color: 'primary',
165
+ onClick: function onClick() {
166
+ return _this2.lineTypeChange('B', 'Dashed');
167
+ },
168
+ className: disabled ? classes.lineTypeButtonRightSelectedDisabled : classes.lineTypeButtonRightSelected
169
+ }, "\u2714 Dashed") : /*#__PURE__*/_react["default"].createElement(_core.Button, {
170
+ size: 'small',
171
+ variant: 'contained',
172
+ disabled: !!disabled,
173
+ onClick: function onClick() {
174
+ return _this2.lineTypeChange('B', 'Dashed');
175
+ },
176
+ className: disabled ? classes.lineTypeButtonRightUnSelectedDisabled : classes.lineTypeButtonRightUnSelected
177
+ }, "Dashed"))) : null, /*#__PURE__*/_react["default"].createElement("div", {
178
+ className: classes.radioFieldOuter
179
+ }, /*#__PURE__*/_react["default"].createElement("div", {
180
+ className: classes.radioFieldInner
181
+ }, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
182
+ name: 'select-line-radio-buttons',
183
+ onChange: this.onChangeRadioValue,
184
+ value: 'solutionSet',
185
+ disabled: !!disabled,
186
+ checked: gssLineData.selectedTool === 'solutionSet',
187
+ className: classes.lineTypeRadio
188
+ }), /*#__PURE__*/_react["default"].createElement(_core.Typography, {
189
+ className: classes.lineNameFont
190
+ }, "Solution Set"))));
191
+ }
192
+ }]);
193
+ return ToolMenu;
194
+ }(_react["default"].Component);
195
+
196
+ exports.ToolMenu = ToolMenu;
197
+ (0, _defineProperty2["default"])(ToolMenu, "propTypes", {
198
+ classes: _propTypes["default"].object,
199
+ gssLineData: _propTypes["default"].object,
200
+ disabled: _propTypes["default"].bool,
201
+ onChange: _propTypes["default"].func
202
+ });
203
+
204
+ var styles = function styles(theme) {
205
+ return {
206
+ radioButtonClass: {},
207
+ selectLineRadioGroup: {
208
+ display: 'flex',
209
+ flexWrap: 'wrap',
210
+ flexDirection: 'row'
211
+ },
212
+ radioFieldInner: {
213
+ display: 'flex',
214
+ flexWrap: 'wrap',
215
+ flexDirection: 'row',
216
+ alignItems: 'center'
217
+ },
218
+ radioFieldOuter: {
219
+ display: 'flex',
220
+ flexWrap: 'wrap',
221
+ flexDirection: 'column'
222
+ },
223
+ radioFieldButtons: {
224
+ display: 'flex',
225
+ flexWrap: 'wrap',
226
+ flexDirection: 'row',
227
+ padding: '0 .9rem'
228
+ },
229
+ lineTypeText: {
230
+ marginLeft: '.7rem'
231
+ },
232
+ lineNameFont: {
233
+ fontWeight: 'bold',
234
+ padding: '0 5px 0 0'
235
+ },
236
+ lineTypeButtonLeftSelected: {
237
+ textTransform: 'none',
238
+ border: '1px solid #3E4EB1',
239
+ borderRadius: '0',
240
+ backgroundColor: '#3E4EB1 !important',
241
+ borderTopLeftRadius: '4px',
242
+ borderBottomLeftRadius: '4px',
243
+ color: '#FFFFFF !important'
244
+ },
245
+ lineTypeButtonLeftUnSelected: {
246
+ textTransform: 'none',
247
+ border: '1px solid #3E4EB1',
248
+ borderRadius: '0',
249
+ backgroundColor: '#FFFFFF !important',
250
+ borderTopLeftRadius: '4px',
251
+ borderBottomLeftRadius: '4px',
252
+ color: '#3E4EB1 !important'
253
+ },
254
+ lineTypeButtonRightSelected: {
255
+ textTransform: 'none',
256
+ border: '1px solid #3E4EB1',
257
+ borderRadius: '0',
258
+ backgroundColor: '#3E4EB1 !important',
259
+ borderTopRightRadius: '4px',
260
+ borderBottomRightRadius: '4px',
261
+ color: '#FFFFFF !important'
262
+ },
263
+ lineTypeButtonRightUnSelected: {
264
+ textTransform: 'none',
265
+ border: '1px solid #3E4EB1',
266
+ borderRadius: '0',
267
+ backgroundColor: '#FFFFFF !important',
268
+ borderTopRightRadius: '4px',
269
+ borderBottomRightRadius: '4px',
270
+ color: '#3E4EB1 !important'
271
+ },
272
+ lineTypeRadio: {
273
+ color: '#000000 !important'
274
+ },
275
+ lineTypeButtonLeftSelectedDisabled: {
276
+ textTransform: 'none',
277
+ border: '1px solid #3E4EB1',
278
+ borderRadius: '0',
279
+ backgroundColor: '#3E4EB1 !important',
280
+ borderTopLeftRadius: '4px',
281
+ borderBottomLeftRadius: '4px',
282
+ color: '#FFFFFF !important',
283
+ cursor: 'default',
284
+ pointerEvents: 'none'
285
+ },
286
+ lineTypeButtonLeftUnSelectedDisabled: {
287
+ textTransform: 'none',
288
+ border: '1px solid #3E4EB1',
289
+ borderRadius: '0',
290
+ backgroundColor: '#FFFFFF !important',
291
+ borderTopLeftRadius: '4px',
292
+ borderBottomLeftRadius: '4px',
293
+ color: '#3E4EB1 !important',
294
+ cursor: 'default',
295
+ pointerEvents: 'none'
296
+ },
297
+ lineTypeButtonRightSelectedDisabled: {
298
+ textTransform: 'none',
299
+ border: '1px solid #3E4EB1',
300
+ borderRadius: '0',
301
+ backgroundColor: '#3E4EB1 !important',
302
+ borderTopRightRadius: '4px',
303
+ borderBottomRightRadius: '4px',
304
+ color: '#FFFFFF !important',
305
+ cursor: 'default',
306
+ pointerEvents: 'none'
307
+ },
308
+ lineTypeButtonRightUnSelectedDisabled: {
309
+ textTransform: 'none',
310
+ border: '1px solid #3E4EB1',
311
+ borderRadius: '0',
312
+ backgroundColor: '#FFFFFF !important',
313
+ borderTopRightRadius: '4px',
314
+ borderBottomRightRadius: '4px',
315
+ color: '#3E4EB1 !important',
316
+ cursor: 'default',
317
+ pointerEvents: 'none'
318
+ }
319
+ };
320
+ };
321
+
322
+ var _default = (0, _styles.withStyles)(styles)(ToolMenu);
323
+
324
+ exports["default"] = _default;
325
+ //# sourceMappingURL=tool-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tool-menu.jsx"],"names":["ToolMenu","event","props","gssLineData","onChange","oldSelectedTool","selectedTool","target","value","line","type","lineType","classes","disabled","selectLineRadioGroup","radioFieldOuter","radioFieldInner","onChangeRadioValue","lineTypeRadio","lineNameFont","radioFieldButtons","lineA","lineTypeChange","lineTypeButtonLeftSelectedDisabled","lineTypeButtonLeftSelected","lineTypeButtonLeftUnSelectedDisabled","lineTypeButtonLeftUnSelected","lineTypeButtonRightSelectedDisabled","lineTypeButtonRightSelected","lineTypeButtonRightUnSelectedDisabled","lineTypeButtonRightUnSelected","numberOfLines","lineB","React","Component","PropTypes","object","bool","func","styles","theme","radioButtonClass","display","flexWrap","flexDirection","alignItems","padding","lineTypeText","marginLeft","fontWeight","textTransform","border","borderRadius","backgroundColor","borderTopLeftRadius","borderBottomLeftRadius","color","borderTopRightRadius","borderBottomRightRadius","cursor","pointerEvents"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Typography, Button } from '@material-ui/core';\nimport Radio from '@material-ui/core/Radio';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n gssLineData: PropTypes.object,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n };\n\n render() {\n let { classes, gssLineData, disabled } = this.props;\n\n return (\n <div className={classes.selectLineRadioGroup}>\n <div className={classes.radioFieldOuter}>\n <div className={classes.radioFieldInner}>\n <Radio\n name={'select-line-radio-buttons'}\n onChange={this.onChangeRadioValue}\n value={'lineA'}\n disabled={!!disabled}\n checked={gssLineData.selectedTool === 'lineA'}\n className={classes.lineTypeRadio}\n />\n <Typography className={classes.lineNameFont}>Line A</Typography>\n </div>\n <div className={classes.radioFieldButtons}>\n {gssLineData.lineA.lineType === 'Solid' ? (\n <Button\n size={'small'}\n variant={'contained'}\n color={'primary'}\n onClick={() => this.lineTypeChange('A', 'Solid')}\n className={disabled ? classes.lineTypeButtonLeftSelectedDisabled : classes.lineTypeButtonLeftSelected}\n >\n &#x2714; Solid\n </Button>\n ) : (\n <Button\n size={'small'}\n variant={'contained'}\n disabled={!!disabled}\n onClick={() => this.lineTypeChange('A', 'Solid')}\n className={\n disabled ? classes.lineTypeButtonLeftUnSelectedDisabled : classes.lineTypeButtonLeftUnSelected\n }\n >\n Solid\n </Button>\n )}\n {gssLineData.lineA.lineType === 'Dashed' ? (\n <Button\n size={'small'}\n variant={'contained'}\n color={'primary'}\n onClick={() => this.lineTypeChange('A', 'Dashed')}\n className={disabled ? classes.lineTypeButtonRightSelectedDisabled : classes.lineTypeButtonRightSelected}\n >\n &#x2714; Dashed\n </Button>\n ) : (\n <Button\n size={'small'}\n variant={'contained'}\n disabled={!!disabled}\n onClick={() => this.lineTypeChange('A', 'Dashed')}\n className={\n disabled ? classes.lineTypeButtonRightUnSelectedDisabled : classes.lineTypeButtonRightUnSelected\n }\n >\n Dashed\n </Button>\n )}\n </div>\n </div>\n {gssLineData.numberOfLines === 2 ? (\n <div className={classes.radioFieldOuter}>\n <div className={classes.radioFieldInner}>\n <Radio\n name={'select-line-radio-buttons'}\n onChange={this.onChangeRadioValue}\n value={'lineB'}\n disabled={!!disabled}\n checked={gssLineData.selectedTool === 'lineB'}\n className={classes.lineTypeRadio}\n />\n <Typography className={classes.lineNameFont}>Line B</Typography>\n </div>\n <div className={classes.radioFieldButtons}>\n {gssLineData.lineB.lineType === 'Solid' ? (\n <Button\n size={'small'}\n variant={'contained'}\n color={'primary'}\n onClick={() => this.lineTypeChange('B', 'Solid')}\n className={disabled ? classes.lineTypeButtonLeftSelectedDisabled : classes.lineTypeButtonLeftSelected}\n >\n &#x2714; Solid\n </Button>\n ) : (\n <Button\n size={'small'}\n variant={'contained'}\n disabled={!!disabled}\n onClick={() => this.lineTypeChange('B', 'Solid')}\n className={\n disabled ? classes.lineTypeButtonLeftUnSelectedDisabled : classes.lineTypeButtonLeftUnSelected\n }\n >\n Solid\n </Button>\n )}\n {gssLineData.lineB.lineType === 'Dashed' ? (\n <Button\n size={'small'}\n variant={'contained'}\n color={'primary'}\n onClick={() => this.lineTypeChange('B', 'Dashed')}\n className={\n disabled ? classes.lineTypeButtonRightSelectedDisabled : classes.lineTypeButtonRightSelected\n }\n >\n &#x2714; Dashed\n </Button>\n ) : (\n <Button\n size={'small'}\n variant={'contained'}\n disabled={!!disabled}\n onClick={() => this.lineTypeChange('B', 'Dashed')}\n className={\n disabled ? classes.lineTypeButtonRightUnSelectedDisabled : classes.lineTypeButtonRightUnSelected\n }\n >\n Dashed\n </Button>\n )}\n </div>\n </div>\n ) : null}\n <div className={classes.radioFieldOuter}>\n <div className={classes.radioFieldInner}>\n <Radio\n name={'select-line-radio-buttons'}\n onChange={this.onChangeRadioValue}\n value={'solutionSet'}\n disabled={!!disabled}\n checked={gssLineData.selectedTool === 'solutionSet'}\n className={classes.lineTypeRadio}\n />\n <Typography className={classes.lineNameFont}>Solution Set</Typography>\n </div>\n </div>\n </div>\n );\n }\n\n onChangeRadioValue = (event) => {\n let { gssLineData, onChange } = this.props;\n let oldSelectedTool = gssLineData.selectedTool;\n gssLineData.selectedTool = event.target.value;\n onChange(gssLineData, oldSelectedTool);\n };\n\n lineTypeChange = (line, type) => {\n let { gssLineData, onChange } = this.props;\n let oldSelectedTool = gssLineData.selectedTool;\n gssLineData[`line${line}`].lineType = type;\n onChange(gssLineData, oldSelectedTool);\n };\n}\n\nconst styles = (theme) => ({\n radioButtonClass: {},\n selectLineRadioGroup: {\n display: 'flex',\n flexWrap: 'wrap',\n flexDirection: 'row',\n },\n radioFieldInner: {\n display: 'flex',\n flexWrap: 'wrap',\n flexDirection: 'row',\n alignItems: 'center',\n },\n radioFieldOuter: {\n display: 'flex',\n flexWrap: 'wrap',\n flexDirection: 'column',\n },\n radioFieldButtons: {\n display: 'flex',\n flexWrap: 'wrap',\n flexDirection: 'row',\n padding: '0 .9rem',\n },\n lineTypeText: {\n marginLeft: '.7rem',\n },\n lineNameFont: {\n fontWeight: 'bold',\n padding: '0 5px 0 0',\n },\n lineTypeButtonLeftSelected: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#3E4EB1 !important',\n borderTopLeftRadius: '4px',\n borderBottomLeftRadius: '4px',\n color: '#FFFFFF !important',\n },\n lineTypeButtonLeftUnSelected: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#FFFFFF !important',\n borderTopLeftRadius: '4px',\n borderBottomLeftRadius: '4px',\n color: '#3E4EB1 !important',\n },\n lineTypeButtonRightSelected: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#3E4EB1 !important',\n borderTopRightRadius: '4px',\n borderBottomRightRadius: '4px',\n color: '#FFFFFF !important',\n },\n lineTypeButtonRightUnSelected: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#FFFFFF !important',\n borderTopRightRadius: '4px',\n borderBottomRightRadius: '4px',\n color: '#3E4EB1 !important',\n },\n lineTypeRadio: {\n color: '#000000 !important',\n },\n lineTypeButtonLeftSelectedDisabled: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#3E4EB1 !important',\n borderTopLeftRadius: '4px',\n borderBottomLeftRadius: '4px',\n color: '#FFFFFF !important',\n cursor: 'default',\n pointerEvents: 'none',\n },\n lineTypeButtonLeftUnSelectedDisabled: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#FFFFFF !important',\n borderTopLeftRadius: '4px',\n borderBottomLeftRadius: '4px',\n color: '#3E4EB1 !important',\n cursor: 'default',\n pointerEvents: 'none',\n },\n lineTypeButtonRightSelectedDisabled: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#3E4EB1 !important',\n borderTopRightRadius: '4px',\n borderBottomRightRadius: '4px',\n color: '#FFFFFF !important',\n cursor: 'default',\n pointerEvents: 'none',\n },\n lineTypeButtonRightUnSelectedDisabled: {\n textTransform: 'none',\n border: '1px solid #3E4EB1',\n borderRadius: '0',\n backgroundColor: '#FFFFFF !important',\n borderTopRightRadius: '4px',\n borderBottomRightRadius: '4px',\n color: '#3E4EB1 !important',\n cursor: 'default',\n pointerEvents: 'none',\n },\n});\n\nexport default withStyles(styles)(ToolMenu);\n"],"file":"tool-menu.js"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.allTools = void 0;
7
+ Object.defineProperty(exports, "line", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _line.tool;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "polygon", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _polygon.tool;
17
+ }
18
+ });
19
+ exports.toolsArr = void 0;
20
+
21
+ var _polygon = require("./polygon");
22
+
23
+ var _line = require("./line");
24
+
25
+ var allTools = ['line', 'polygon'];
26
+ exports.allTools = allTools;
27
+ var toolsArr = [(0, _line.tool)(), (0, _polygon.tool)()];
28
+ exports.toolsArr = toolsArr;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tools/index.js"],"names":["allTools","toolsArr"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,CAAC,MAAD,EAAS,SAAT,CAAjB;;AAEA,IAAMC,QAAQ,GAAG,CAAC,iBAAD,EAAS,oBAAT,CAAjB","sourcesContent":["import { tool as polygon } from './polygon';\nimport { tool as line } from './line';\n\nconst allTools = ['line', 'polygon'];\n\nconst toolsArr = [line(), polygon()];\n\nexport { allTools, toolsArr, line, polygon };\n"],"file":"index.js"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.ArrowedLine = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _line = require("../shared/line");
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var _plot = require("@pie-lib/plot");
23
+
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
26
+ var _styles = require("@material-ui/core/styles");
27
+
28
+ var _arrowHead = require("../shared/arrow-head");
29
+
30
+ var _utils = require("../../utils");
31
+
32
+ var _excluded = ["className", "classes", "correctness", "disabled", "graphProps", "fill", "from", "to"];
33
+
34
+ var lineStyles = function lineStyles(theme) {
35
+ return {
36
+ line: _line.styles.line(theme),
37
+ dashedLine: _line.styles.dashedLine(theme),
38
+ enabledArrow: _line.styles.arrow(theme),
39
+ disabledArrow: _line.styles.disabledArrow(theme),
40
+ disabled: _line.styles.disabled(theme),
41
+ correct: _line.styles.correct(theme, 'stroke'),
42
+ correctArrow: _line.styles.correct(theme),
43
+ incorrect: _line.styles.incorrect(theme, 'stroke'),
44
+ incorrectArrow: _line.styles.incorrect(theme),
45
+ missing: _line.styles.missing(theme, 'stroke'),
46
+ missingArrow: _line.styles.missing(theme)
47
+ };
48
+ };
49
+
50
+ var ArrowedLine = function ArrowedLine(props) {
51
+ var markerId = (0, _arrowHead.genUid)();
52
+ var className = props.className,
53
+ classes = props.classes,
54
+ correctness = props.correctness,
55
+ disabled = props.disabled,
56
+ graphProps = props.graphProps,
57
+ _props$fill = props.fill,
58
+ fill = _props$fill === void 0 ? 'Solid' : _props$fill,
59
+ from = props.from,
60
+ to = props.to,
61
+ rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
62
+ var scale = graphProps.scale;
63
+
64
+ var _getAdjustedGraphLimi = (0, _utils.getAdjustedGraphLimits)(graphProps),
65
+ domain = _getAdjustedGraphLimi.domain,
66
+ range = _getAdjustedGraphLimi.range;
67
+
68
+ var _trig$edges = _plot.trig.edges(domain, range)(from, to),
69
+ _trig$edges2 = (0, _slicedToArray2["default"])(_trig$edges, 2),
70
+ eFrom = _trig$edges2[0],
71
+ eTo = _trig$edges2[1];
72
+
73
+ var suffix = correctness || disabled && 'disabled' || 'enabled';
74
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement(_arrowHead.ArrowMarker, {
75
+ size: (0, _utils.thinnerShapesNeeded)(graphProps) ? 4 : 5,
76
+ id: "".concat(props.markerId || markerId, "-").concat(suffix),
77
+ className: (0, _classnames["default"])(classes["".concat(suffix, "Arrow")])
78
+ })), /*#__PURE__*/_react["default"].createElement("line", (0, _extends2["default"])({
79
+ x1: scale.x(eFrom.x),
80
+ y1: scale.y(eFrom.y),
81
+ x2: scale.x(eTo.x),
82
+ y2: scale.y(eTo.y),
83
+ className: (0, _classnames["default"])(fill === 'Solid' ? classes.line : classes.dashedLine, disabled && classes.disabled, classes[correctness], className),
84
+ markerEnd: "url(#".concat(props.markerId || markerId, "-").concat(suffix, ")"),
85
+ markerStart: "url(#".concat(props.markerId || markerId, "-").concat(suffix, ")")
86
+ }, rest)));
87
+ };
88
+
89
+ exports.ArrowedLine = ArrowedLine;
90
+ ArrowedLine.propTypes = {
91
+ className: _propTypes["default"].string,
92
+ classes: _propTypes["default"].object,
93
+ fill: _propTypes["default"].string,
94
+ correctness: _propTypes["default"].string,
95
+ disabled: _propTypes["default"].bool,
96
+ graphProps: _plot.types.GraphPropsType,
97
+ from: _plot.types.PointType,
98
+ to: _plot.types.PointType,
99
+ markerId: _propTypes["default"].string
100
+ };
101
+ var StyledArrowedLine = (0, _styles.withStyles)(lineStyles)(ArrowedLine);
102
+ var Line = (0, _line.lineBase)(StyledArrowedLine);
103
+ var Component = (0, _line.lineToolComponent)(Line);
104
+ var _default = Component;
105
+ exports["default"] = _default;
106
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/line/component.jsx"],"names":["lineStyles","theme","line","styles","dashedLine","enabledArrow","arrow","disabledArrow","disabled","correct","correctArrow","incorrect","incorrectArrow","missing","missingArrow","ArrowedLine","props","markerId","className","classes","correctness","graphProps","fill","from","to","rest","scale","domain","range","trig","edges","eFrom","eTo","suffix","x","y","propTypes","PropTypes","string","object","bool","types","GraphPropsType","PointType","StyledArrowedLine","Line","Component"],"mappings":"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","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { trig, types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ArrowMarker, genUid } from '../shared/arrow-head';\nimport { thinnerShapesNeeded, getAdjustedGraphLimits } from '../../utils';\n\nconst lineStyles = (theme) => ({\n line: styles.line(theme),\n dashedLine: styles.dashedLine(theme),\n enabledArrow: styles.arrow(theme),\n disabledArrow: styles.disabledArrow(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n correctArrow: styles.correct(theme),\n incorrect: styles.incorrect(theme, 'stroke'),\n incorrectArrow: styles.incorrect(theme),\n missing: styles.missing(theme, 'stroke'),\n missingArrow: styles.missing(theme),\n});\n\nexport const ArrowedLine = (props) => {\n const markerId = genUid();\n const { className, classes, correctness, disabled, graphProps, fill = 'Solid', from, to, ...rest } = props;\n const { scale } = graphProps;\n const { domain, range } = getAdjustedGraphLimits(graphProps);\n const [eFrom, eTo] = trig.edges(domain, range)(from, to);\n const suffix = correctness || (disabled && 'disabled') || 'enabled';\n\n return (\n <g>\n <defs>\n <ArrowMarker\n size={thinnerShapesNeeded(graphProps) ? 4 : 5}\n id={`${props.markerId || markerId}-${suffix}`}\n className={classNames(classes[`${suffix}Arrow`])}\n />\n </defs>\n <line\n x1={scale.x(eFrom.x)}\n y1={scale.y(eFrom.y)}\n x2={scale.x(eTo.x)}\n y2={scale.y(eTo.y)}\n className={classNames(\n fill === 'Solid' ? classes.line : classes.dashedLine,\n disabled && classes.disabled,\n classes[correctness],\n className,\n )}\n markerEnd={`url(#${props.markerId || markerId}-${suffix})`}\n markerStart={`url(#${props.markerId || markerId}-${suffix})`}\n {...rest}\n />\n </g>\n );\n};\n\nArrowedLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n fill: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n markerId: PropTypes.string,\n};\n\nconst StyledArrowedLine = withStyles(lineStyles)(ArrowedLine);\n\nconst Line = lineBase(StyledArrowedLine);\nconst Component = lineToolComponent(Line);\n\nexport default Component;\n"],"file":"component.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.tool = void 0;
9
+
10
+ var _component = _interopRequireDefault(require("./component"));
11
+
12
+ var _line = require("../shared/line");
13
+
14
+ var tool = (0, _line.lineTool)('line', _component["default"]);
15
+ exports.tool = tool;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/line/index.js"],"names":["tool","Line"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,IAAI,GAAG,oBAAS,MAAT,EAAiBC,qBAAjB,CAAb","sourcesContent":["import Line from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('line', Line);\n"],"file":"index.js"}