@pie-lib/graphing 2.6.3 → 2.8.1

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 (106) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/lib/axis/arrow.js +15 -25
  3. package/lib/axis/arrow.js.map +1 -1
  4. package/lib/axis/axes.js +41 -73
  5. package/lib/axis/axes.js.map +1 -1
  6. package/lib/axis/index.js +1 -1
  7. package/lib/bg.js +20 -31
  8. package/lib/bg.js.map +1 -1
  9. package/lib/container/index.js +27 -41
  10. package/lib/container/index.js.map +1 -1
  11. package/lib/container/reducer.js +2 -2
  12. package/lib/container/reducer.js.map +1 -1
  13. package/lib/coordinates-label.js +5 -5
  14. package/lib/coordinates-label.js.map +1 -1
  15. package/lib/graph-with-controls.js +116 -55
  16. package/lib/graph-with-controls.js.map +1 -1
  17. package/lib/graph.js +45 -69
  18. package/lib/graph.js.map +1 -1
  19. package/lib/grid-setup.js +72 -27
  20. package/lib/grid-setup.js.map +1 -1
  21. package/lib/grid.js +28 -46
  22. package/lib/grid.js.map +1 -1
  23. package/lib/index.js +3 -3
  24. package/lib/index.js.map +1 -1
  25. package/lib/labels.js +22 -38
  26. package/lib/labels.js.map +1 -1
  27. package/lib/mark-label.js +10 -20
  28. package/lib/mark-label.js.map +1 -1
  29. package/lib/toggle-bar.js +177 -45
  30. package/lib/toggle-bar.js.map +1 -1
  31. package/lib/tool-menu.js +49 -32
  32. package/lib/tool-menu.js.map +1 -1
  33. package/lib/tools/circle/bg-circle.js +27 -38
  34. package/lib/tools/circle/bg-circle.js.map +1 -1
  35. package/lib/tools/circle/component.js +36 -54
  36. package/lib/tools/circle/component.js.map +1 -1
  37. package/lib/tools/circle/index.js +5 -5
  38. package/lib/tools/circle/index.js.map +1 -1
  39. package/lib/tools/line/component.js +11 -25
  40. package/lib/tools/line/component.js.map +1 -1
  41. package/lib/tools/line/index.js +2 -2
  42. package/lib/tools/line/index.js.map +1 -1
  43. package/lib/tools/parabola/component.js +2 -2
  44. package/lib/tools/parabola/component.js.map +1 -1
  45. package/lib/tools/parabola/index.js +5 -5
  46. package/lib/tools/parabola/index.js.map +1 -1
  47. package/lib/tools/point/component.js +30 -47
  48. package/lib/tools/point/component.js.map +1 -1
  49. package/lib/tools/point/index.js +5 -5
  50. package/lib/tools/point/index.js.map +1 -1
  51. package/lib/tools/polygon/component.js +59 -107
  52. package/lib/tools/polygon/component.js.map +1 -1
  53. package/lib/tools/polygon/index.js +9 -19
  54. package/lib/tools/polygon/index.js.map +1 -1
  55. package/lib/tools/polygon/line.js +28 -41
  56. package/lib/tools/polygon/line.js.map +1 -1
  57. package/lib/tools/polygon/polygon.js +28 -42
  58. package/lib/tools/polygon/polygon.js.map +1 -1
  59. package/lib/tools/ray/component.js +11 -25
  60. package/lib/tools/ray/component.js.map +1 -1
  61. package/lib/tools/ray/index.js +2 -2
  62. package/lib/tools/ray/index.js.map +1 -1
  63. package/lib/tools/segment/component.js +8 -11
  64. package/lib/tools/segment/component.js.map +1 -1
  65. package/lib/tools/segment/index.js +2 -2
  66. package/lib/tools/segment/index.js.map +1 -1
  67. package/lib/tools/shared/arrow-head.js +2 -2
  68. package/lib/tools/shared/arrow-head.js.map +1 -1
  69. package/lib/tools/shared/line/index.js +43 -66
  70. package/lib/tools/shared/line/index.js.map +1 -1
  71. package/lib/tools/shared/line/line-path.js +29 -42
  72. package/lib/tools/shared/line/line-path.js.map +1 -1
  73. package/lib/tools/shared/line/with-root-edge.js +12 -14
  74. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  75. package/lib/tools/shared/point/arrow-point.js +24 -39
  76. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  77. package/lib/tools/shared/point/arrow.js +23 -37
  78. package/lib/tools/shared/point/arrow.js.map +1 -1
  79. package/lib/tools/shared/point/base-point.js +24 -38
  80. package/lib/tools/shared/point/base-point.js.map +1 -1
  81. package/lib/tools/shared/point/index.js +6 -6
  82. package/lib/tools/shared/point/index.js.map +1 -1
  83. package/lib/tools/shared/styles.js +7 -5
  84. package/lib/tools/shared/styles.js.map +1 -1
  85. package/lib/tools/shared/types.js +2 -2
  86. package/lib/tools/shared/types.js.map +1 -1
  87. package/lib/tools/sine/component.js +2 -2
  88. package/lib/tools/sine/component.js.map +1 -1
  89. package/lib/tools/sine/index.js +5 -5
  90. package/lib/tools/sine/index.js.map +1 -1
  91. package/lib/tools/vector/component.js +8 -11
  92. package/lib/tools/vector/component.js.map +1 -1
  93. package/lib/tools/vector/index.js +2 -2
  94. package/lib/tools/vector/index.js.map +1 -1
  95. package/lib/undo-redo.js +19 -31
  96. package/lib/undo-redo.js.map +1 -1
  97. package/lib/use-debounce.js +5 -13
  98. package/lib/use-debounce.js.map +1 -1
  99. package/lib/utils.js +2 -2
  100. package/lib/utils.js.map +1 -1
  101. package/package.json +4 -3
  102. package/src/graph-with-controls.jsx +100 -14
  103. package/src/graph.jsx +2 -0
  104. package/src/grid-setup.jsx +155 -88
  105. package/src/toggle-bar.jsx +143 -13
  106. package/src/tool-menu.jsx +15 -0
@@ -1,12 +1,28 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.toolIsAvailable = exports.setToolbarAvailability = exports.getAvailableTool = exports.filterByVisibleToolTypes = exports.filterByValidToolTypes = exports["default"] = exports.GraphWithControls = void 0;
9
11
 
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
10
26
  var _react = _interopRequireDefault(require("react"));
11
27
 
12
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -29,37 +45,21 @@ var _undoRedo = _interopRequireDefault(require("./undo-redo"));
29
45
 
30
46
  var _tools = require("./tools");
31
47
 
32
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
37
-
38
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
48
+ var _core = require("@material-ui/core");
39
49
 
40
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
50
+ var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
41
51
 
42
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
43
-
44
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
45
-
46
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
47
-
48
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
52
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
53
 
50
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
54
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
55
 
52
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
56
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
53
57
 
54
58
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
55
59
 
56
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
57
-
58
60
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
59
61
 
60
- 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) { _defineProperty(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; }
61
-
62
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
62
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
63
63
 
64
64
  var setToolbarAvailability = function setToolbarAvailability(toolbarTools) {
65
65
  return _tools.toolsArr.map(function (tA) {
@@ -109,47 +109,84 @@ var filterByVisibleToolTypes = function filterByVisibleToolTypes(toolbarTools, m
109
109
 
110
110
  exports.filterByVisibleToolTypes = filterByVisibleToolTypes;
111
111
 
112
- var GraphWithControls = /*#__PURE__*/function (_React$Component) {
113
- _inherits(GraphWithControls, _React$Component);
114
-
115
- var _super = _createSuper(GraphWithControls);
112
+ var getDefaultCurrentTool = function getDefaultCurrentTool(toolType) {
113
+ return _tools.toolsArr.find(function (tool) {
114
+ return tool.type === toolType;
115
+ }) || null;
116
+ };
116
117
 
117
- function GraphWithControls() {
118
- var _this;
118
+ var Collapsible = function Collapsible(_ref) {
119
+ var classes = _ref.classes,
120
+ children = _ref.children,
121
+ title = _ref.title;
122
+ return /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanel, {
123
+ elevation: 0,
124
+ className: classes.expansionPanel,
125
+ disabledGutters: true,
126
+ square: true
127
+ }, /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanelSummary, {
128
+ classes: {
129
+ root: classes.summaryRoot,
130
+ content: classes.summaryContent
131
+ },
132
+ expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
133
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
134
+ variant: "subheading"
135
+ }, title)), /*#__PURE__*/_react["default"].createElement(_core.ExpansionPanelDetails, {
136
+ className: classes.details
137
+ }, children));
138
+ };
119
139
 
120
- _classCallCheck(this, GraphWithControls);
140
+ Collapsible.propTypes = {
141
+ classes: _propTypes["default"].object,
142
+ children: _propTypes["default"].array,
143
+ title: _propTypes["default"].string
144
+ };
121
145
 
122
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
123
- args[_key] = arguments[_key];
124
- }
146
+ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
147
+ (0, _inherits2["default"])(GraphWithControls, _React$Component);
125
148
 
126
- _this = _super.call.apply(_super, [this].concat(args));
149
+ var _super = _createSuper(GraphWithControls);
127
150
 
128
- _defineProperty(_assertThisInitialized(_this), "state", {
129
- currentTool: null,
130
- labelModeEnabled: false
131
- });
151
+ function GraphWithControls(props) {
152
+ var _this;
132
153
 
133
- _defineProperty(_assertThisInitialized(_this), "changeCurrentTool", function (tool, tools) {
154
+ (0, _classCallCheck2["default"])(this, GraphWithControls);
155
+ _this = _super.call(this, props);
156
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCurrentTool", function (tool, tools) {
134
157
  return _this.setState({
135
158
  currentTool: tools.find(function (t) {
136
159
  return t.type === tool;
137
160
  })
138
161
  });
139
162
  });
140
-
141
- _defineProperty(_assertThisInitialized(_this), "toggleLabelMode", function () {
163
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleLabelMode", function () {
142
164
  return _this.setState(function (state) {
143
165
  return {
144
166
  labelModeEnabled: !state.labelModeEnabled
145
167
  };
146
168
  });
147
169
  });
148
-
170
+ _this.state = {
171
+ currentTool: getDefaultCurrentTool(props.defaultTool),
172
+ labelModeEnabled: false
173
+ };
149
174
  return _this;
150
175
  }
151
176
 
152
- _createClass(GraphWithControls, [{
177
+ (0, _createClass2["default"])(GraphWithControls, [{
178
+ key: "componentDidUpdate",
179
+ value: function componentDidUpdate(prevProps) {
180
+ var defaultTool = this.props.defaultTool;
181
+
182
+ if (prevProps.defaultTool !== defaultTool) {
183
+ var currentTool = getDefaultCurrentTool(defaultTool);
184
+ this.setState({
185
+ currentTool: currentTool
186
+ });
187
+ }
188
+ }
189
+ }, {
153
190
  key: "render",
154
191
  value: function render() {
155
192
  var _this2 = this;
@@ -162,10 +199,14 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
162
199
  classes = _this$props.classes,
163
200
  className = _this$props.className,
164
201
  coordinatesOnHover = _this$props.coordinatesOnHover,
202
+ collapsibleToolbar = _this$props.collapsibleToolbar,
203
+ collapsibleToolbarTitle = _this$props.collapsibleToolbarTitle,
165
204
  disabled = _this$props.disabled,
166
205
  domain = _this$props.domain,
206
+ draggableTools = _this$props.draggableTools,
167
207
  labels = _this$props.labels,
168
208
  onChangeMarks = _this$props.onChangeMarks,
209
+ onChangeTools = _this$props.onChangeTools,
169
210
  onUndo = _this$props.onUndo,
170
211
  onRedo = _this$props.onRedo,
171
212
  onReset = _this$props.onReset,
@@ -190,24 +231,31 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
190
231
  currentTool = getAvailableTool(tools);
191
232
  }
192
233
 
193
- return /*#__PURE__*/_react["default"].createElement("div", {
194
- className: (0, _classnames["default"])(classes.graphWithControls, className)
195
- }, /*#__PURE__*/_react["default"].createElement("div", {
196
- className: classes.controls
197
- }, /*#__PURE__*/_react["default"].createElement(_toolMenu["default"], {
234
+ var graphActions = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_toolMenu["default"], {
198
235
  currentToolType: currentTool && currentTool.type,
199
236
  disabled: !!disabled,
237
+ draggableTools: draggableTools,
200
238
  labelModeEnabled: labelModeEnabled,
201
239
  onChange: function onChange(tool) {
202
240
  return _this2.changeCurrentTool(tool, tools);
203
241
  },
204
242
  onToggleLabelMode: this.toggleLabelMode,
205
- toolbarTools: toolbarTools
243
+ toolbarTools: toolbarTools,
244
+ onChangeTools: onChangeTools
206
245
  }), !disabled && /*#__PURE__*/_react["default"].createElement(_undoRedo["default"], {
207
246
  onUndo: onUndo,
208
247
  onRedo: onRedo,
209
248
  onReset: onReset
210
- })), /*#__PURE__*/_react["default"].createElement("div", {
249
+ }));
250
+
251
+ return /*#__PURE__*/_react["default"].createElement("div", {
252
+ className: (0, _classnames["default"])(classes.graphWithControls, className)
253
+ }, /*#__PURE__*/_react["default"].createElement("div", {
254
+ className: classes.controls
255
+ }, collapsibleToolbar ? /*#__PURE__*/_react["default"].createElement(Collapsible, {
256
+ classes: classes,
257
+ title: collapsibleToolbarTitle
258
+ }, graphActions) : graphActions), /*#__PURE__*/_react["default"].createElement("div", {
211
259
  ref: function ref(r) {
212
260
  return _this2.labelNode = r;
213
261
  }
@@ -228,21 +276,20 @@ var GraphWithControls = /*#__PURE__*/function (_React$Component) {
228
276
  }));
229
277
  }
230
278
  }]);
231
-
232
279
  return GraphWithControls;
233
280
  }(_react["default"].Component);
234
281
 
235
282
  exports.GraphWithControls = GraphWithControls;
236
-
237
- _defineProperty(GraphWithControls, "propTypes", _objectSpread(_objectSpread({}, _graph.graphPropTypes), {}, {
283
+ (0, _defineProperty2["default"])(GraphWithControls, "propTypes", _objectSpread(_objectSpread({}, _graph.graphPropTypes), {}, {
238
284
  onUndo: _propTypes["default"].func,
239
285
  onRedo: _propTypes["default"].func,
240
286
  onReset: _propTypes["default"].func,
241
287
  toolbarTools: _propTypes["default"].arrayOf(_propTypes["default"].string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'
242
288
 
243
289
  }));
244
-
245
- _defineProperty(GraphWithControls, "defaultProps", {
290
+ (0, _defineProperty2["default"])(GraphWithControls, "defaultProps", {
291
+ collapsibleToolbar: false,
292
+ collapsibleToolbarTitle: '',
246
293
  toolbarTools: []
247
294
  });
248
295
 
@@ -263,6 +310,20 @@ var styles = function styles(theme) {
263
310
  '& button': {
264
311
  fontSize: theme.typography.fontSize
265
312
  }
313
+ },
314
+ expansionPanel: {
315
+ backgroundColor: _renderUi.color.primaryLight()
316
+ },
317
+ summaryRoot: {
318
+ padding: "0 ".concat(theme.spacing.unit, "px"),
319
+ minHeight: '32px !important'
320
+ },
321
+ summaryContent: {
322
+ margin: '4px 0 !important'
323
+ },
324
+ details: {
325
+ padding: 0,
326
+ marginTop: theme.spacing.unit
266
327
  }
267
328
  };
268
329
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph-with-controls.jsx"],"names":["setToolbarAvailability","toolbarTools","toolsArr","map","tA","toolbar","find","t","type","toolIsAvailable","tools","currentTool","tool","getAvailableTool","filterByValidToolTypes","backgroundMarks","filter","bM","allTools","filterByVisibleToolTypes","marks","GraphWithControls","labelModeEnabled","setState","state","props","axesSettings","classes","className","coordinatesOnHover","disabled","domain","labels","onChangeMarks","onUndo","onRedo","onReset","range","size","title","tT","graphWithControls","controls","changeCurrentTool","toggleLabelMode","r","labelNode","undefined","React","Component","graphPropTypes","PropTypes","func","arrayOf","string","styles","theme","width","display","justifyContent","padding","spacing","unit","color","text","backgroundColor","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","fontSize","typography"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport uniq from 'lodash/uniq';\nimport isString from 'lodash/isString';\nimport { color } from '@pie-lib/render-ui';\n\nimport ToolMenu from './tool-menu';\nimport Graph, { graphPropTypes } from './graph';\nimport UndoRedo from './undo-redo';\nimport { allTools, toolsArr } from './tools';\n\nexport const setToolbarAvailability = toolbarTools =>\n toolsArr.map(tA => ({ ...tA, toolbar: !!toolbarTools.find(t => t === tA.type) })) || [];\n\nexport const toolIsAvailable = (tools, currentTool) =>\n currentTool && tools && (tools.find(tool => tool.type === currentTool.type) || {}).toolbar;\n\nexport const getAvailableTool = tools => tools.find(tool => tool.toolbar);\n\nexport const filterByValidToolTypes = backgroundMarks =>\n backgroundMarks.filter(bM => !!allTools.find(tool => tool === bM.type));\n\nexport const filterByVisibleToolTypes = (toolbarTools, marks) =>\n marks.filter(bM => !!toolbarTools.find(tool => tool === bM.type));\n\nexport class GraphWithControls extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n onReset: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'\n };\n\n static defaultProps = { toolbarTools: [] };\n\n state = { currentTool: null, labelModeEnabled: false };\n\n changeCurrentTool = (tool, tools) =>\n this.setState({ currentTool: tools.find(t => t.type === tool) });\n\n toggleLabelMode = () => this.setState(state => ({ labelModeEnabled: !state.labelModeEnabled }));\n\n render() {\n let { currentTool, labelModeEnabled } = this.state;\n\n const {\n axesSettings,\n classes,\n className,\n coordinatesOnHover,\n disabled,\n domain,\n labels,\n onChangeMarks,\n onUndo,\n onRedo,\n onReset,\n range,\n size,\n title\n } = this.props;\n\n let { backgroundMarks, marks, toolbarTools } = this.props;\n\n // make sure only valid tool types are kept (string) and without duplicates\n toolbarTools = uniq(toolbarTools || []).filter(tT => !!isString(tT)) || [];\n\n // keep only the backgroundMarks that have valid types\n backgroundMarks = filterByValidToolTypes(backgroundMarks || []);\n\n // keep only the marks that have types which appear in toolbar\n marks = filterByVisibleToolTypes(toolbarTools, marks || []);\n\n const tools = setToolbarAvailability(toolbarTools);\n\n // set current tool if there's no current tool or if the existing one is no longer available\n if (!currentTool || !toolIsAvailable(tools, currentTool)) {\n currentTool = getAvailableTool(tools);\n }\n\n return (\n <div className={classNames(classes.graphWithControls, className)}>\n <div className={classes.controls}>\n <ToolMenu\n currentToolType={currentTool && currentTool.type}\n disabled={!!disabled}\n labelModeEnabled={labelModeEnabled}\n onChange={tool => this.changeCurrentTool(tool, tools)}\n onToggleLabelMode={this.toggleLabelMode}\n toolbarTools={toolbarTools}\n />\n\n {!disabled && <UndoRedo onUndo={onUndo} onRedo={onRedo} onReset={onReset} />}\n </div>\n\n <div ref={r => (this.labelNode = r)} />\n\n <Graph\n axesSettings={axesSettings}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n currentTool={currentTool}\n domain={domain}\n labels={labels}\n labelModeEnabled={labelModeEnabled}\n marks={marks}\n onChangeMarks={!disabled ? onChangeMarks : undefined}\n range={range}\n size={size}\n title={title}\n tools={tools}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphWithControls: {},\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.primaryLight(),\n borderTop: `solid 1px ${color.primaryDark()}`,\n borderBottom: `solid 0px ${color.primaryDark()}`,\n borderLeft: `solid 1px ${color.primaryDark()}`,\n borderRight: `solid 1px ${color.primaryDark()}`,\n '& button': {\n fontSize: theme.typography.fontSize\n }\n }\n});\n\nexport default withStyles(styles)(GraphWithControls);\n"],"file":"graph-with-controls.js"}
1
+ {"version":3,"sources":["../src/graph-with-controls.jsx"],"names":["setToolbarAvailability","toolbarTools","toolsArr","map","tA","toolbar","find","t","type","toolIsAvailable","tools","currentTool","tool","getAvailableTool","filterByValidToolTypes","backgroundMarks","filter","bM","allTools","filterByVisibleToolTypes","marks","getDefaultCurrentTool","toolType","Collapsible","classes","children","title","expansionPanel","root","summaryRoot","content","summaryContent","details","propTypes","PropTypes","object","array","string","GraphWithControls","props","setState","state","labelModeEnabled","defaultTool","prevProps","axesSettings","className","coordinatesOnHover","collapsibleToolbar","collapsibleToolbarTitle","disabled","domain","draggableTools","labels","onChangeMarks","onChangeTools","onUndo","onRedo","onReset","range","size","tT","graphActions","changeCurrentTool","toggleLabelMode","graphWithControls","controls","r","labelNode","undefined","React","Component","graphPropTypes","func","arrayOf","styles","theme","width","display","justifyContent","padding","spacing","unit","color","text","backgroundColor","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","fontSize","typography","minHeight","margin","marginTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport uniq from 'lodash/uniq';\nimport isString from 'lodash/isString';\nimport { color } from '@pie-lib/render-ui';\n\nimport ToolMenu from './tool-menu';\nimport Graph, { graphPropTypes } from './graph';\nimport UndoRedo from './undo-redo';\nimport { allTools, toolsArr } from './tools';\nimport {\n ExpansionPanel,\n ExpansionPanelDetails,\n ExpansionPanelSummary,\n Typography\n} from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\nexport const setToolbarAvailability = toolbarTools =>\n toolsArr.map(tA => ({ ...tA, toolbar: !!toolbarTools.find(t => t === tA.type) })) || [];\n\nexport const toolIsAvailable = (tools, currentTool) =>\n currentTool && tools && (tools.find(tool => tool.type === currentTool.type) || {}).toolbar;\n\nexport const getAvailableTool = tools => tools.find(tool => tool.toolbar);\n\nexport const filterByValidToolTypes = backgroundMarks =>\n backgroundMarks.filter(bM => !!allTools.find(tool => tool === bM.type));\n\nexport const filterByVisibleToolTypes = (toolbarTools, marks) =>\n marks.filter(bM => !!toolbarTools.find(tool => tool === bM.type));\n\nconst getDefaultCurrentTool = toolType => toolsArr.find(tool => tool.type === toolType) || null;\n\nconst Collapsible = ({ classes, children, title }) => (\n <ExpansionPanel\n elevation={0}\n className={classes.expansionPanel}\n disabledGutters={true}\n square={true}\n >\n <ExpansionPanelSummary\n classes={{\n root: classes.summaryRoot,\n content: classes.summaryContent\n }}\n expandIcon={<ExpandMoreIcon />}\n >\n <Typography variant=\"subheading\">{title}</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.details}>{children}</ExpansionPanelDetails>\n </ExpansionPanel>\n);\n\nCollapsible.propTypes = {\n classes: PropTypes.object,\n children: PropTypes.array,\n title: PropTypes.string\n};\n\nexport class GraphWithControls extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n onReset: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'\n };\n\n static defaultProps = {\n collapsibleToolbar: false,\n collapsibleToolbarTitle: '',\n toolbarTools: []\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n currentTool: getDefaultCurrentTool(props.defaultTool),\n labelModeEnabled: false\n };\n }\n\n componentDidUpdate(prevProps) {\n const { defaultTool } = this.props;\n\n if (prevProps.defaultTool !== defaultTool) {\n const currentTool = getDefaultCurrentTool(defaultTool);\n\n this.setState({ currentTool });\n }\n }\n\n changeCurrentTool = (tool, tools) =>\n this.setState({ currentTool: tools.find(t => t.type === tool) });\n\n toggleLabelMode = () => this.setState(state => ({ labelModeEnabled: !state.labelModeEnabled }));\n\n render() {\n let { currentTool, labelModeEnabled } = this.state;\n const {\n axesSettings,\n classes,\n className,\n coordinatesOnHover,\n collapsibleToolbar,\n collapsibleToolbarTitle,\n disabled,\n domain,\n draggableTools,\n labels,\n onChangeMarks,\n onChangeTools,\n onUndo,\n onRedo,\n onReset,\n range,\n size,\n title\n } = this.props;\n let { backgroundMarks, marks, toolbarTools } = this.props;\n\n // make sure only valid tool types are kept (string) and without duplicates\n toolbarTools = uniq(toolbarTools || []).filter(tT => !!isString(tT)) || [];\n\n // keep only the backgroundMarks that have valid types\n backgroundMarks = filterByValidToolTypes(backgroundMarks || []);\n\n // keep only the marks that have types which appear in toolbar\n marks = filterByVisibleToolTypes(toolbarTools, marks || []);\n\n const tools = setToolbarAvailability(toolbarTools);\n\n // set current tool if there's no current tool or if the existing one is no longer available\n if (!currentTool || !toolIsAvailable(tools, currentTool)) {\n currentTool = getAvailableTool(tools);\n }\n\n const graphActions = (\n <React.Fragment>\n <ToolMenu\n currentToolType={currentTool && currentTool.type}\n disabled={!!disabled}\n draggableTools={draggableTools}\n labelModeEnabled={labelModeEnabled}\n onChange={tool => this.changeCurrentTool(tool, tools)}\n onToggleLabelMode={this.toggleLabelMode}\n toolbarTools={toolbarTools}\n onChangeTools={onChangeTools}\n />\n\n {!disabled && <UndoRedo onUndo={onUndo} onRedo={onRedo} onReset={onReset} />}\n </React.Fragment>\n );\n\n return (\n <div className={classNames(classes.graphWithControls, className)}>\n <div className={classes.controls}>\n {collapsibleToolbar ? (\n <Collapsible classes={classes} title={collapsibleToolbarTitle}>\n {graphActions}\n </Collapsible>\n ) : (\n graphActions\n )}\n </div>\n\n <div ref={r => (this.labelNode = r)} />\n\n <Graph\n axesSettings={axesSettings}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n currentTool={currentTool}\n domain={domain}\n labels={labels}\n labelModeEnabled={labelModeEnabled}\n marks={marks}\n onChangeMarks={!disabled ? onChangeMarks : undefined}\n range={range}\n size={size}\n title={title}\n tools={tools}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphWithControls: {},\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.primaryLight(),\n borderTop: `solid 1px ${color.primaryDark()}`,\n borderBottom: `solid 0px ${color.primaryDark()}`,\n borderLeft: `solid 1px ${color.primaryDark()}`,\n borderRight: `solid 1px ${color.primaryDark()}`,\n '& button': {\n fontSize: theme.typography.fontSize\n }\n },\n expansionPanel: {\n backgroundColor: color.primaryLight()\n },\n summaryRoot: {\n padding: `0 ${theme.spacing.unit}px`,\n minHeight: '32px !important'\n },\n summaryContent: {\n margin: '4px 0 !important'\n },\n details: {\n padding: 0,\n marginTop: theme.spacing.unit\n }\n});\n\nexport default withStyles(styles)(GraphWithControls);\n"],"file":"graph-with-controls.js"}
package/lib/graph.js CHANGED
@@ -1,12 +1,32 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.removeBuildingToolIfCurrentToolDiffers = exports.graphPropTypes = exports["default"] = exports.Graph = void 0;
9
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
+
22
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
+
24
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
+
26
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
+
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+
10
30
  var _react = _interopRequireDefault(require("react"));
11
31
 
12
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -33,53 +53,21 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
53
 
34
54
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
55
 
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
37
-
38
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
-
40
56
  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; }
41
57
 
42
- 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) { _defineProperty(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; }
43
-
44
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
45
-
46
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
47
-
48
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
49
-
50
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
51
-
52
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
53
-
54
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
55
-
56
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
57
-
58
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
58
+ 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; }
59
59
 
60
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
61
-
62
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
63
-
64
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
65
-
66
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
67
-
68
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
69
-
70
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
60
+ 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); }; }
71
61
 
72
62
  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; } }
73
63
 
74
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
75
-
76
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
77
-
78
64
  var log = (0, _debug["default"])('pie-lib:graphing:graph');
79
65
  var graphPropTypes = {
80
66
  axesSettings: _propTypes["default"].shape(_axis.AxisPropTypes),
81
67
  backgroundMarks: _propTypes["default"].array,
82
68
  className: _propTypes["default"].string,
69
+ collapsibleToolbar: _propTypes["default"].bool,
70
+ collapsibleToolbarTitle: _propTypes["default"].string,
83
71
  domain: _plot.types.DomainType,
84
72
  labels: _propTypes["default"].shape(_labels.LabelType),
85
73
  labelModeEnabled: _propTypes["default"].bool,
@@ -129,30 +117,27 @@ var removeBuildingToolIfCurrentToolDiffers = function removeBuildingToolIfCurren
129
117
  exports.removeBuildingToolIfCurrentToolDiffers = removeBuildingToolIfCurrentToolDiffers;
130
118
 
131
119
  var Graph = /*#__PURE__*/function (_React$Component) {
132
- _inherits(Graph, _React$Component);
120
+ (0, _inherits2["default"])(Graph, _React$Component);
133
121
 
134
122
  var _super = _createSuper(Graph);
135
123
 
136
124
  function Graph() {
137
125
  var _this;
138
126
 
139
- _classCallCheck(this, Graph);
127
+ (0, _classCallCheck2["default"])(this, Graph);
140
128
 
141
129
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
142
130
  args[_key] = arguments[_key];
143
131
  }
144
132
 
145
133
  _this = _super.call.apply(_super, [this].concat(args));
146
-
147
- _defineProperty(_assertThisInitialized(_this), "state", {});
148
-
149
- _defineProperty(_assertThisInitialized(_this), "componentDidMount", function () {
134
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {});
135
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "componentDidMount", function () {
150
136
  return _this.setState({
151
137
  labelNode: _this.labelNode
152
138
  });
153
139
  });
154
-
155
- _defineProperty(_assertThisInitialized(_this), "changeMark", function (oldMark, newMark) {
140
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMark", function (oldMark, newMark) {
156
141
  var _this$props = _this.props,
157
142
  onChangeMarks = _this$props.onChangeMarks,
158
143
  marks = _this$props.marks;
@@ -166,8 +151,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
166
151
  onChangeMarks(newMarks);
167
152
  }
168
153
  });
169
-
170
- _defineProperty(_assertThisInitialized(_this), "completeMark", function (markData) {
154
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "completeMark", function (markData) {
171
155
  var _this$props2 = _this.props,
172
156
  currentTool = _this$props2.currentTool,
173
157
  marks = _this$props2.marks;
@@ -179,8 +163,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
179
163
 
180
164
  _this.updateMarks(buildingMark, updatedMark);
181
165
  });
182
-
183
- _defineProperty(_assertThisInitialized(_this), "updateMarks", function (existing, update) {
166
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateMarks", function (existing, update) {
184
167
  var addIfMissing = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
185
168
  var _this$props3 = _this.props,
186
169
  onChangeMarks = _this$props3.onChangeMarks,
@@ -199,19 +182,17 @@ var Graph = /*#__PURE__*/function (_React$Component) {
199
182
  newMarks.splice(index, 1, update);
200
183
  onChangeMarks(newMarks);
201
184
  } else if (addIfMissing) {
202
- onChangeMarks([].concat(_toConsumableArray(newMarks), [update]));
185
+ onChangeMarks([].concat((0, _toConsumableArray2["default"])(newMarks), [update]));
203
186
  }
204
187
  });
205
-
206
- _defineProperty(_assertThisInitialized(_this), "getComponent", function (mark) {
188
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getComponent", function (mark) {
207
189
  if (!mark) return null;
208
190
  var tool = (_this.props.tools || []).find(function (t) {
209
191
  return t.type === mark.type;
210
192
  });
211
193
  return tool && tool.Component || null;
212
194
  });
213
-
214
- _defineProperty(_assertThisInitialized(_this), "onBgClick", function (point) {
195
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onBgClick", function (point) {
215
196
  var x = point.x,
216
197
  y = point.y;
217
198
  var _this$props4 = _this.props,
@@ -243,11 +224,10 @@ var Graph = /*#__PURE__*/function (_React$Component) {
243
224
 
244
225
  _this.updateMarks(buildingMark, updatedMark, true);
245
226
  });
246
-
247
227
  return _this;
248
228
  }
249
229
 
250
- _createClass(Graph, [{
230
+ (0, _createClass2["default"])(Graph, [{
251
231
  key: "render",
252
232
  value: function render() {
253
233
  var _this2 = this;
@@ -276,20 +256,20 @@ var Graph = /*#__PURE__*/function (_React$Component) {
276
256
  marks: marks || [],
277
257
  currentTool: currentTool
278
258
  });
279
- return /*#__PURE__*/_react["default"].createElement(_plot.Root, _extends({
259
+ return /*#__PURE__*/_react["default"].createElement(_plot.Root, (0, _extends2["default"])({
280
260
  rootRef: function rootRef(r) {
281
261
  return _this2.rootNode = r;
282
262
  },
283
263
  title: title
284
- }, common), /*#__PURE__*/_react["default"].createElement(_labels["default"], _extends({
264
+ }, common), /*#__PURE__*/_react["default"].createElement(_labels["default"], (0, _extends2["default"])({
285
265
  value: labels
286
266
  }, common)), /*#__PURE__*/_react["default"].createElement("g", {
287
267
  transform: "translate(".concat(domain.padding, ", ").concat(range.padding, ")")
288
- }, /*#__PURE__*/_react["default"].createElement(_grid["default"], common), /*#__PURE__*/_react["default"].createElement(_axis.Axes, _extends({}, axesSettings, common)), /*#__PURE__*/_react["default"].createElement(_bg["default"], _extends({}, size, {
268
+ }, /*#__PURE__*/_react["default"].createElement(_grid["default"], common), /*#__PURE__*/_react["default"].createElement(_axis.Axes, (0, _extends2["default"])({}, axesSettings, common)), /*#__PURE__*/_react["default"].createElement(_bg["default"], (0, _extends2["default"])({}, size, {
289
269
  onClick: this.onBgClick
290
270
  }, common)), /*#__PURE__*/_react["default"].createElement("mask", {
291
271
  id: "myMask"
292
- }, /*#__PURE__*/_react["default"].createElement("rect", _extends({}, maskSize, {
272
+ }, /*#__PURE__*/_react["default"].createElement("rect", (0, _extends2["default"])({}, maskSize, {
293
273
  fill: "white"
294
274
  })), " "), /*#__PURE__*/_react["default"].createElement("g", {
295
275
  id: "marks",
@@ -298,7 +278,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
298
278
  var Component = _this2.getComponent(m);
299
279
 
300
280
  var markType = m.type;
301
- return /*#__PURE__*/_react["default"].createElement(Component, _extends({
281
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
302
282
  key: "".concat(markType, "-").concat(index, "-bg"),
303
283
  mark: _objectSpread(_objectSpread({}, m), {}, {
304
284
  disabled: true,
@@ -310,7 +290,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
310
290
  var Component = _this2.getComponent(m);
311
291
 
312
292
  var markType = m.type;
313
- return /*#__PURE__*/_react["default"].createElement(Component, _extends({
293
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
314
294
  key: "".concat(markType, "-").concat(index),
315
295
  mark: m,
316
296
  coordinatesOnHover: coordinatesOnHover,
@@ -322,7 +302,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
322
302
  labelNode: _this2.state.labelNode,
323
303
  isToolActive: currentTool && markType === currentTool.type
324
304
  }, common));
325
- }), /*#__PURE__*/_react["default"].createElement("foreignObject", _extends({
305
+ }), /*#__PURE__*/_react["default"].createElement("foreignObject", (0, _extends2["default"])({
326
306
  ref: function ref(labelNode) {
327
307
  return _this2.labelNode = labelNode;
328
308
  },
@@ -335,20 +315,16 @@ var Graph = /*#__PURE__*/function (_React$Component) {
335
315
  })))));
336
316
  }
337
317
  }]);
338
-
339
318
  return Graph;
340
319
  }(_react["default"].Component);
341
320
 
342
321
  exports.Graph = Graph;
343
-
344
- _defineProperty(Graph, "propTypes", _objectSpread(_objectSpread({}, graphPropTypes), {}, {
322
+ (0, _defineProperty2["default"])(Graph, "propTypes", _objectSpread(_objectSpread({}, graphPropTypes), {}, {
345
323
  currentTool: _propTypes["default"].object
346
324
  }));
347
-
348
- _defineProperty(Graph, "defaultProps", {
325
+ (0, _defineProperty2["default"])(Graph, "defaultProps", {
349
326
  onChangeMarks: function onChangeMarks() {}
350
327
  });
351
-
352
328
  var _default = Graph;
353
329
  exports["default"] = _default;
354
330
  //# sourceMappingURL=graph.js.map