@pie-lib/graphing 2.15.0-beta.2 → 2.15.0-beta.3

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 (128) hide show
  1. package/CHANGELOG.md +24 -0
  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 +163 -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 +359 -0
  23. package/lib/graph-with-controls.js.map +1 -0
  24. package/lib/graph.js +371 -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 +59 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/key-legend.js +246 -0
  33. package/lib/key-legend.js.map +1 -0
  34. package/lib/label-svg-icon.js +56 -0
  35. package/lib/label-svg-icon.js.map +1 -0
  36. package/lib/labels.js +299 -0
  37. package/lib/labels.js.map +1 -0
  38. package/lib/mark-label.js +321 -0
  39. package/lib/mark-label.js.map +1 -0
  40. package/lib/toggle-bar.js +336 -0
  41. package/lib/toggle-bar.js.map +1 -0
  42. package/lib/tool-menu.js +112 -0
  43. package/lib/tool-menu.js.map +1 -0
  44. package/lib/tools/absolute/component.js +35 -0
  45. package/lib/tools/absolute/component.js.map +1 -0
  46. package/lib/tools/absolute/index.js +63 -0
  47. package/lib/tools/absolute/index.js.map +1 -0
  48. package/lib/tools/circle/bg-circle.js +173 -0
  49. package/lib/tools/circle/bg-circle.js.map +1 -0
  50. package/lib/tools/circle/component.js +406 -0
  51. package/lib/tools/circle/component.js.map +1 -0
  52. package/lib/tools/circle/index.js +51 -0
  53. package/lib/tools/circle/index.js.map +1 -0
  54. package/lib/tools/exponential/component.js +34 -0
  55. package/lib/tools/exponential/component.js.map +1 -0
  56. package/lib/tools/exponential/index.js +71 -0
  57. package/lib/tools/exponential/index.js.map +1 -0
  58. package/lib/tools/index.js +99 -0
  59. package/lib/tools/index.js.map +1 -0
  60. package/lib/tools/line/component.js +103 -0
  61. package/lib/tools/line/component.js.map +1 -0
  62. package/lib/tools/line/index.js +16 -0
  63. package/lib/tools/line/index.js.map +1 -0
  64. package/lib/tools/parabola/component.js +34 -0
  65. package/lib/tools/parabola/component.js.map +1 -0
  66. package/lib/tools/parabola/index.js +63 -0
  67. package/lib/tools/parabola/index.js.map +1 -0
  68. package/lib/tools/point/component.js +186 -0
  69. package/lib/tools/point/component.js.map +1 -0
  70. package/lib/tools/point/index.js +32 -0
  71. package/lib/tools/point/index.js.map +1 -0
  72. package/lib/tools/polygon/component.js +518 -0
  73. package/lib/tools/polygon/component.js.map +1 -0
  74. package/lib/tools/polygon/index.js +106 -0
  75. package/lib/tools/polygon/index.js.map +1 -0
  76. package/lib/tools/polygon/line.js +157 -0
  77. package/lib/tools/polygon/line.js.map +1 -0
  78. package/lib/tools/polygon/polygon.js +165 -0
  79. package/lib/tools/polygon/polygon.js.map +1 -0
  80. package/lib/tools/ray/component.js +102 -0
  81. package/lib/tools/ray/component.js.map +1 -0
  82. package/lib/tools/ray/index.js +16 -0
  83. package/lib/tools/ray/index.js.map +1 -0
  84. package/lib/tools/segment/component.js +75 -0
  85. package/lib/tools/segment/component.js.map +1 -0
  86. package/lib/tools/segment/index.js +16 -0
  87. package/lib/tools/segment/index.js.map +1 -0
  88. package/lib/tools/shared/arrow-head.js +70 -0
  89. package/lib/tools/shared/arrow-head.js.map +1 -0
  90. package/lib/tools/shared/icons/CorrectSVG.js +36 -0
  91. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
  92. package/lib/tools/shared/icons/IncorrectSVG.js +36 -0
  93. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
  94. package/lib/tools/shared/icons/MissingSVG.js +35 -0
  95. package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
  96. package/lib/tools/shared/line/index.js +599 -0
  97. package/lib/tools/shared/line/index.js.map +1 -0
  98. package/lib/tools/shared/line/line-path.js +151 -0
  99. package/lib/tools/shared/line/line-path.js.map +1 -0
  100. package/lib/tools/shared/line/with-root-edge.js +155 -0
  101. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  102. package/lib/tools/shared/point/arrow-point.js +113 -0
  103. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  104. package/lib/tools/shared/point/arrow.js +96 -0
  105. package/lib/tools/shared/point/arrow.js.map +1 -0
  106. package/lib/tools/shared/point/base-point.js +175 -0
  107. package/lib/tools/shared/point/base-point.js.map +1 -0
  108. package/lib/tools/shared/point/index.js +97 -0
  109. package/lib/tools/shared/point/index.js.map +1 -0
  110. package/lib/tools/shared/styles.js +58 -0
  111. package/lib/tools/shared/styles.js.map +1 -0
  112. package/lib/tools/shared/types.js +23 -0
  113. package/lib/tools/shared/types.js.map +1 -0
  114. package/lib/tools/sine/component.js +51 -0
  115. package/lib/tools/sine/component.js.map +1 -0
  116. package/lib/tools/sine/index.js +63 -0
  117. package/lib/tools/sine/index.js.map +1 -0
  118. package/lib/tools/vector/component.js +88 -0
  119. package/lib/tools/vector/component.js.map +1 -0
  120. package/lib/tools/vector/index.js +16 -0
  121. package/lib/tools/vector/index.js.map +1 -0
  122. package/lib/undo-redo.js +123 -0
  123. package/lib/undo-redo.js.map +1 -0
  124. package/lib/use-debounce.js +32 -0
  125. package/lib/use-debounce.js.map +1 -0
  126. package/lib/utils.js +307 -0
  127. package/lib/utils.js.map +1 -0
  128. package/package.json +1 -1
@@ -0,0 +1,462 @@
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"] = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _renderUi = require("@pie-lib/render-ui");
17
+
18
+ var _styles = require("@material-ui/core/styles");
19
+
20
+ var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
21
+
22
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
23
+
24
+ var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
25
+
26
+ var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
27
+
28
+ var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
29
+
30
+ var _configUi = require("@pie-lib/config-ui");
31
+
32
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
33
+
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ var GridConfig = function GridConfig(props) {
39
+ var classes = props.classes,
40
+ disabled = props.disabled,
41
+ displayedFields = props.displayedFields,
42
+ labelValue = props.labelValue,
43
+ labelValues = props.labelValues,
44
+ gridValue = props.gridValue,
45
+ gridValues = props.gridValues,
46
+ _onChange = props.onChange;
47
+ var _displayedFields$labe = displayedFields.labelStep,
48
+ labelStep = _displayedFields$labe === void 0 ? {} : _displayedFields$labe,
49
+ _displayedFields$step = displayedFields.step,
50
+ step = _displayedFields$step === void 0 ? {} : _displayedFields$step;
51
+ return /*#__PURE__*/_react["default"].createElement("div", {
52
+ className: classes.columnView
53
+ }, step && step.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
54
+ className: classes.mediumTextField,
55
+ label: step.label || '',
56
+ value: gridValue,
57
+ customValues: gridValues,
58
+ variant: "outlined",
59
+ disabled: disabled,
60
+ onChange: function onChange(e, v) {
61
+ return _onChange('step', v);
62
+ }
63
+ }), labelStep && labelStep.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
64
+ className: classes.mediumTextField,
65
+ label: labelStep.label || '',
66
+ value: labelValue,
67
+ customValues: labelValues,
68
+ variant: "outlined",
69
+ disabled: disabled,
70
+ onChange: function onChange(e, v) {
71
+ return _onChange('labelStep', v);
72
+ }
73
+ }));
74
+ };
75
+
76
+ GridConfig.propTypes = {
77
+ classes: _propTypes["default"].object,
78
+ disabled: _propTypes["default"].bool,
79
+ displayedFields: _propTypes["default"].object,
80
+ labelValue: _propTypes["default"].number,
81
+ labelValues: _propTypes["default"].array,
82
+ gridValue: _propTypes["default"].number,
83
+ gridValues: _propTypes["default"].array,
84
+ onChange: _propTypes["default"].func
85
+ };
86
+
87
+ var AxisConfig = function AxisConfig(props) {
88
+ var classes = props.classes,
89
+ disabled = props.disabled,
90
+ displayedFields = props.displayedFields,
91
+ displayHeader = props.displayHeader,
92
+ label = props.label,
93
+ maxValue = props.maxValue,
94
+ minValue = props.minValue,
95
+ _onChange2 = props.onChange,
96
+ type = props.type;
97
+ var _displayedFields$axis = displayedFields.axisLabel,
98
+ axisLabel = _displayedFields$axis === void 0 ? {} : _displayedFields$axis,
99
+ _displayedFields$min = displayedFields.min,
100
+ min = _displayedFields$min === void 0 ? {} : _displayedFields$min,
101
+ _displayedFields$max = displayedFields.max,
102
+ max = _displayedFields$max === void 0 ? {} : _displayedFields$max;
103
+ var activePlugins = ['bold', 'italic', 'underline', 'strikethrough' // 'languageCharacters'
104
+ ];
105
+ return /*#__PURE__*/_react["default"].createElement("div", {
106
+ className: classes.columnView
107
+ }, displayHeader && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
108
+ variant: "subtitle2"
109
+ }, /*#__PURE__*/_react["default"].createElement("i", null, type === 'domain' ? 'x' : 'y'), "-axis"), min && min.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
110
+ className: classes.mediumTextField,
111
+ label: min.label || '',
112
+ value: minValue,
113
+ min: -10000,
114
+ max: maxValue - 0.05,
115
+ variant: "outlined",
116
+ disabled: disabled,
117
+ onChange: function onChange(e, v) {
118
+ return _onChange2('min', v);
119
+ }
120
+ }), max && max.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
121
+ className: classes.mediumTextField,
122
+ label: max.label || '',
123
+ value: maxValue,
124
+ min: minValue + 0.05,
125
+ max: 10000,
126
+ variant: "outlined",
127
+ disabled: disabled,
128
+ onChange: function onChange(e, v) {
129
+ return _onChange2('max', v);
130
+ }
131
+ }), axisLabel && axisLabel.enabled && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
132
+ label: axisLabel.label || '',
133
+ className: classes.mediumTextField
134
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
135
+ className: classes.axisLabel,
136
+ onChange: function onChange(value) {
137
+ return _onChange2('axisLabel', value);
138
+ },
139
+ markup: label || '',
140
+ charactersLimit: 5,
141
+ activePlugins: activePlugins
142
+ })));
143
+ };
144
+
145
+ AxisConfig.propTypes = {
146
+ classes: _propTypes["default"].object,
147
+ disabled: _propTypes["default"].bool,
148
+ displayedFields: _propTypes["default"].object,
149
+ displayHeader: _propTypes["default"].bool,
150
+ label: _propTypes["default"].string,
151
+ maxValue: _propTypes["default"].number,
152
+ minValue: _propTypes["default"].number,
153
+ type: _propTypes["default"].string,
154
+ onChange: _propTypes["default"].func
155
+ };
156
+
157
+ var GridSetup = function GridSetup(props) {
158
+ var classes = props.classes,
159
+ domain = props.domain,
160
+ _props$displayedField = props.displayedFields,
161
+ displayedFields = _props$displayedField === void 0 ? {} : _props$displayedField,
162
+ _props$gridValues = props.gridValues,
163
+ gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
164
+ includeAxes = props.includeAxes,
165
+ _props$labelValues = props.labelValues,
166
+ labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
167
+ onChange = props.onChange,
168
+ onChangeView = props.onChangeView,
169
+ range = props.range,
170
+ size = props.size,
171
+ sizeConstraints = props.sizeConstraints,
172
+ standardGrid = props.standardGrid;
173
+ var gridProps = {
174
+ min: 2,
175
+ max: 41
176
+ };
177
+
178
+ var _ref = displayedFields || {},
179
+ _ref$axisLabel = _ref.axisLabel,
180
+ axisLabel = _ref$axisLabel === void 0 ? {} : _ref$axisLabel,
181
+ dimensionsEnabled = _ref.dimensionsEnabled,
182
+ includeAxesEnabled = _ref.includeAxesEnabled,
183
+ _ref$labelStep = _ref.labelStep,
184
+ labelStep = _ref$labelStep === void 0 ? {} : _ref$labelStep,
185
+ _ref$min = _ref.min,
186
+ min = _ref$min === void 0 ? {} : _ref$min,
187
+ _ref$max = _ref.max,
188
+ max = _ref$max === void 0 ? {} : _ref$max,
189
+ standardGridEnabled = _ref.standardGridEnabled,
190
+ _ref$step = _ref.step,
191
+ step = _ref$step === void 0 ? {} : _ref$step;
192
+
193
+ var displayAxisType = min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;
194
+ var gridConfigFields = {
195
+ step: step,
196
+ labelStep: labelStep
197
+ };
198
+ var axisConfigFields = {
199
+ min: min,
200
+ max: max,
201
+ axisLabel: axisLabel
202
+ };
203
+
204
+ var onIncludeAxes = function onIncludeAxes(includeAxes) {
205
+ var noAxesConfig = function noAxesConfig(type) {
206
+ var axis = type === 'domain' ? domain : range;
207
+ return {
208
+ min: 1,
209
+ max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,
210
+ step: 1,
211
+ labelStep: 0
212
+ };
213
+ };
214
+
215
+ var updatedRange = _objectSpread(_objectSpread({}, range), includeAxes ? {
216
+ labelStep: 1
217
+ } : noAxesConfig('range'));
218
+
219
+ var updatedDomain = _objectSpread(_objectSpread({}, domain), includeAxes ? {
220
+ labelStep: 1
221
+ } : noAxesConfig('domain'));
222
+
223
+ onChange({
224
+ includeAxes: includeAxes,
225
+ range: updatedRange,
226
+ domain: updatedDomain
227
+ });
228
+ };
229
+
230
+ var onStandardGridChanged = function onStandardGridChanged(value) {
231
+ onChange({
232
+ standardGrid: value,
233
+ range: _objectSpread(_objectSpread({}, domain), {}, {
234
+ axisLabel: range.axisLabel
235
+ }),
236
+ graph: _objectSpread(_objectSpread({}, size), {}, {
237
+ height: size.width
238
+ })
239
+ });
240
+ };
241
+
242
+ var onSizeChanged = function onSizeChanged(key, value) {
243
+ var graph = _objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, value));
244
+
245
+ if (standardGrid) {
246
+ graph.height = value;
247
+ }
248
+
249
+ onChange({
250
+ graph: graph
251
+ });
252
+ };
253
+
254
+ var onDomainChanged = function onDomainChanged(key, value) {
255
+ domain[key] = value;
256
+
257
+ if (standardGrid && key !== 'axisLabel') {
258
+ range[key] = value;
259
+ }
260
+
261
+ onChange({
262
+ domain: domain,
263
+ range: range
264
+ });
265
+ };
266
+
267
+ var onRangeChanged = function onRangeChanged(key, value) {
268
+ range[key] = value;
269
+ onChange({
270
+ range: range
271
+ });
272
+ };
273
+
274
+ var axesConfig = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
275
+ className: classes.rowView
276
+ }, /*#__PURE__*/_react["default"].createElement(AxisConfig, {
277
+ classes: classes,
278
+ displayedFields: axisConfigFields,
279
+ displayHeader: displayAxisType,
280
+ type: "domain",
281
+ minValue: domain.min,
282
+ maxValue: domain.max,
283
+ label: domain.axisLabel,
284
+ includeAxes: includeAxes,
285
+ onChange: onDomainChanged
286
+ }), /*#__PURE__*/_react["default"].createElement(AxisConfig, {
287
+ classes: classes,
288
+ displayedFields: axisConfigFields,
289
+ displayHeader: displayAxisType,
290
+ type: "range",
291
+ minValue: range.min,
292
+ maxValue: range.max,
293
+ label: range.axisLabel,
294
+ disabled: standardGrid,
295
+ includeAxes: includeAxes,
296
+ onChange: onRangeChanged
297
+ })), (min.enabled || max.enabled) && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
298
+ className: classes.text
299
+ }, "If you want the axis to be visible, use a zero or negative Min Value, and a positive Max Value"), (step.enabled || labelStep.enabled) && /*#__PURE__*/_react["default"].createElement("div", {
300
+ className: classes.rowView
301
+ }, /*#__PURE__*/_react["default"].createElement(GridConfig, {
302
+ classes: classes,
303
+ displayedFields: gridConfigFields,
304
+ gridValue: domain.step,
305
+ labelValue: domain.labelStep,
306
+ gridValues: gridValues.domain || [],
307
+ labelValues: labelValues.domain || [],
308
+ onChange: onDomainChanged
309
+ }), /*#__PURE__*/_react["default"].createElement(GridConfig, {
310
+ classes: classes,
311
+ disabled: standardGrid,
312
+ displayedFields: gridConfigFields,
313
+ gridValue: range.step,
314
+ labelValue: range.labelStep,
315
+ gridValues: gridValues.range || [],
316
+ labelValues: labelValues.range || [],
317
+ onChange: onRangeChanged
318
+ })), labelStep.enabled && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
319
+ className: classes.text
320
+ }, "For unnumbered gridlines, enter a label interval of 0"));
321
+
322
+ var gridlinesConfig = max.enabled ? /*#__PURE__*/_react["default"].createElement("div", {
323
+ className: classes.columnView
324
+ }, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
325
+ className: classes.largeTextField,
326
+ label: "Number of Vertical Gridlines",
327
+ value: domain.max,
328
+ min: !includeAxes && gridProps.min,
329
+ max: !includeAxes && gridProps.max,
330
+ variant: "outlined",
331
+ onChange: function onChange(e, v) {
332
+ return onDomainChanged('max', v);
333
+ }
334
+ }), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
335
+ className: classes.largeTextField,
336
+ label: "Number of Horizontal Gridlines",
337
+ value: range.max,
338
+ min: !includeAxes && gridProps.min,
339
+ max: !includeAxes && gridProps.max,
340
+ variant: "outlined",
341
+ disabled: standardGrid,
342
+ onChange: function onChange(e, v) {
343
+ return onRangeChanged('max', v);
344
+ }
345
+ })) : null;
346
+ return /*#__PURE__*/_react["default"].createElement("div", {
347
+ className: classes.wrapper
348
+ }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], {
349
+ onChange: onChangeView
350
+ }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
351
+ expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
352
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
353
+ variant: "subtitle1"
354
+ }, "Customize Grid Setup")), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement("div", {
355
+ className: classes.content
356
+ }, includeAxesEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
357
+ label: "Include axes and labels?",
358
+ toggle: onIncludeAxes,
359
+ checked: includeAxes
360
+ }), standardGridEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
361
+ label: "Constrain to standard coordinate grid?",
362
+ toggle: onStandardGridChanged,
363
+ checked: standardGrid
364
+ }), includeAxes ? axesConfig : gridlinesConfig, dimensionsEnabled && /*#__PURE__*/_react["default"].createElement("div", {
365
+ className: classes.dimensions
366
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)"), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
367
+ className: classes.disabled
368
+ }, "Min ", sizeConstraints.min, ", Max ", sizeConstraints.max)), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
369
+ className: classes.textField,
370
+ label: "Width",
371
+ value: size.width,
372
+ min: sizeConstraints.min,
373
+ max: sizeConstraints.max,
374
+ step: sizeConstraints.step,
375
+ variant: "outlined",
376
+ onChange: function onChange(e, v) {
377
+ return onSizeChanged('width', v);
378
+ }
379
+ }), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
380
+ className: classes.textField,
381
+ label: "Height",
382
+ value: size.height,
383
+ min: sizeConstraints.min,
384
+ max: sizeConstraints.max,
385
+ step: sizeConstraints.step,
386
+ variant: "outlined",
387
+ disabled: standardGrid,
388
+ onChange: function onChange(e, v) {
389
+ return onSizeChanged('height', v);
390
+ }
391
+ }))))));
392
+ };
393
+
394
+ GridSetup.propTypes = {
395
+ classes: _propTypes["default"].object,
396
+ domain: _propTypes["default"].object,
397
+ displayedFields: _propTypes["default"].object,
398
+ gridValues: _propTypes["default"].object,
399
+ includeAxes: _propTypes["default"].bool,
400
+ labelValues: _propTypes["default"].object,
401
+ onChange: _propTypes["default"].func,
402
+ onChangeView: _propTypes["default"].func,
403
+ range: _propTypes["default"].object,
404
+ size: _propTypes["default"].object,
405
+ sizeConstraints: _propTypes["default"].object,
406
+ standardGrid: _propTypes["default"].bool
407
+ };
408
+
409
+ var styles = function styles(theme) {
410
+ return {
411
+ wrapper: {
412
+ width: '450px'
413
+ },
414
+ content: {
415
+ display: 'flex',
416
+ flexDirection: 'column',
417
+ width: '100%'
418
+ },
419
+ columnView: {
420
+ display: 'flex',
421
+ flexDirection: 'column',
422
+ alignItems: 'center'
423
+ },
424
+ rowView: {
425
+ display: 'flex',
426
+ justifyContent: 'space-around',
427
+ alignItems: 'center'
428
+ },
429
+ textField: {
430
+ width: '130px',
431
+ margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
432
+ },
433
+ mediumTextField: {
434
+ width: '160px',
435
+ margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
436
+ },
437
+ largeTextField: {
438
+ width: '230px',
439
+ margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
440
+ },
441
+ text: {
442
+ fontStyle: 'italic',
443
+ margin: "".concat(theme.spacing.unit, "px 0")
444
+ },
445
+ dimensions: {
446
+ display: 'flex',
447
+ justifyContent: 'space-between',
448
+ alignItems: 'center'
449
+ },
450
+ disabled: {
451
+ color: _renderUi.color.disabled()
452
+ },
453
+ axisLabel: {
454
+ paddingTop: theme.spacing.unit * 2
455
+ }
456
+ };
457
+ };
458
+
459
+ var _default = (0, _styles.withStyles)(styles)(GridSetup);
460
+
461
+ exports["default"] = _default;
462
+ //# sourceMappingURL=grid-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/grid-setup.jsx"],"names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","propTypes","PropTypes","object","bool","number","array","func","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","string","GridSetup","domain","includeAxes","onChangeView","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = (props) => {\n const { classes, disabled, displayedFields, labelValue, labelValues, gridValue, gridValues, onChange } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nGridConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n labelValue: PropTypes.number,\n labelValues: PropTypes.array,\n gridValue: PropTypes.number,\n gridValues: PropTypes.array,\n onChange: PropTypes.func,\n};\n\nconst AxisConfig = (props) => {\n const { classes, disabled, displayedFields, displayHeader, label, maxValue, minValue, onChange, type } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.05}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.05}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={(value) => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nAxisConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n displayHeader: PropTypes.bool,\n label: PropTypes.string,\n maxValue: PropTypes.number,\n minValue: PropTypes.number,\n type: PropTypes.string,\n onChange: PropTypes.func,\n};\nconst GridSetup = (props) => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n onChangeView,\n range,\n size,\n sizeConstraints,\n standardGrid,\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {},\n } = displayedFields || {};\n const displayAxisType = min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = (includeAxes) => {\n const noAxesConfig = (type) => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0,\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range')),\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain')),\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = (value) => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel,\n },\n graph: {\n ...size,\n height: size.width,\n },\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>For unnumbered gridlines, enter a label interval of 0</Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel onChange={onChangeView}>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle label=\"Include axes and labels?\" toggle={onIncludeAxes} checked={includeAxes} />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.func,\n onChangeView: PropTypes.func,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool,\n};\n\nconst styles = (theme) => ({\n wrapper: {\n width: '450px',\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`,\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n disabled: {\n color: color.disabled(),\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"file":"grid-setup.js"}