@pie-lib/graphing 2.4.7 → 2.4.10

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 (93) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/lib/axis/arrow.js +22 -18
  3. package/lib/axis/arrow.js.map +1 -1
  4. package/lib/axis/axes.js +74 -78
  5. package/lib/axis/axes.js.map +1 -1
  6. package/lib/axis/index.js +5 -1
  7. package/lib/axis/index.js.map +1 -1
  8. package/lib/bg.js +16 -14
  9. package/lib/bg.js.map +1 -1
  10. package/lib/container/index.js +21 -15
  11. package/lib/container/index.js.map +1 -1
  12. package/lib/coordinates-label.js +4 -4
  13. package/lib/coordinates-label.js.map +1 -1
  14. package/lib/graph-with-controls.js +29 -25
  15. package/lib/graph-with-controls.js.map +1 -1
  16. package/lib/graph.js +58 -45
  17. package/lib/graph.js.map +1 -1
  18. package/lib/grid.js +20 -14
  19. package/lib/grid.js.map +1 -1
  20. package/lib/index.js +5 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/labels.js +28 -24
  23. package/lib/labels.js.map +1 -1
  24. package/lib/mark-label.js +16 -8
  25. package/lib/mark-label.js.map +1 -1
  26. package/lib/toggle-bar.js +18 -16
  27. package/lib/toggle-bar.js.map +1 -1
  28. package/lib/tool-menu.js +22 -16
  29. package/lib/tool-menu.js.map +1 -1
  30. package/lib/tools/circle/bg-circle.js +26 -18
  31. package/lib/tools/circle/bg-circle.js.map +1 -1
  32. package/lib/tools/circle/component.js +30 -28
  33. package/lib/tools/circle/component.js.map +1 -1
  34. package/lib/tools/circle/index.js +4 -4
  35. package/lib/tools/circle/index.js.map +1 -1
  36. package/lib/tools/index.js +16 -15
  37. package/lib/tools/index.js.map +1 -1
  38. package/lib/tools/line/component.js +17 -7
  39. package/lib/tools/line/component.js.map +1 -1
  40. package/lib/tools/parabola/component.js.map +1 -1
  41. package/lib/tools/parabola/index.js +4 -4
  42. package/lib/tools/parabola/index.js.map +1 -1
  43. package/lib/tools/point/component.js +21 -17
  44. package/lib/tools/point/component.js.map +1 -1
  45. package/lib/tools/point/index.js +2 -2
  46. package/lib/tools/polygon/component.js +55 -47
  47. package/lib/tools/polygon/component.js.map +1 -1
  48. package/lib/tools/polygon/index.js +12 -8
  49. package/lib/tools/polygon/index.js.map +1 -1
  50. package/lib/tools/polygon/line.js +26 -18
  51. package/lib/tools/polygon/line.js.map +1 -1
  52. package/lib/tools/polygon/polygon.js +26 -18
  53. package/lib/tools/polygon/polygon.js.map +1 -1
  54. package/lib/tools/ray/component.js +17 -7
  55. package/lib/tools/ray/component.js.map +1 -1
  56. package/lib/tools/segment/component.js +4 -2
  57. package/lib/tools/segment/component.js.map +1 -1
  58. package/lib/tools/shared/arrow-head.js +4 -4
  59. package/lib/tools/shared/arrow-head.js.map +1 -1
  60. package/lib/tools/shared/line/index.js +46 -44
  61. package/lib/tools/shared/line/index.js.map +1 -1
  62. package/lib/tools/shared/line/line-path.js +28 -20
  63. package/lib/tools/shared/line/line-path.js.map +1 -1
  64. package/lib/tools/shared/line/with-root-edge.js +8 -6
  65. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  66. package/lib/tools/shared/point/arrow-point.js +21 -15
  67. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  68. package/lib/tools/shared/point/arrow.js +21 -15
  69. package/lib/tools/shared/point/arrow.js.map +1 -1
  70. package/lib/tools/shared/point/base-point.js +22 -16
  71. package/lib/tools/shared/point/base-point.js.map +1 -1
  72. package/lib/tools/shared/point/index.js +8 -4
  73. package/lib/tools/shared/point/index.js.map +1 -1
  74. package/lib/tools/shared/styles.js +1 -1
  75. package/lib/tools/shared/types.js +1 -1
  76. package/lib/tools/sine/component.js.map +1 -1
  77. package/lib/tools/sine/index.js +4 -4
  78. package/lib/tools/sine/index.js.map +1 -1
  79. package/lib/tools/vector/component.js +4 -2
  80. package/lib/tools/vector/component.js.map +1 -1
  81. package/lib/undo-redo.js +20 -16
  82. package/lib/undo-redo.js.map +1 -1
  83. package/lib/use-debounce.js +7 -3
  84. package/lib/use-debounce.js.map +1 -1
  85. package/lib/utils.js +93 -5
  86. package/lib/utils.js.map +1 -1
  87. package/package.json +2 -2
  88. package/src/axis/arrow.jsx +5 -5
  89. package/src/axis/axes.jsx +25 -36
  90. package/src/graph.jsx +16 -10
  91. package/src/tools/line/component.jsx +4 -2
  92. package/src/tools/ray/component.jsx +4 -2
  93. package/src/utils.js +87 -4
package/lib/labels.js CHANGED
@@ -1,9 +1,11 @@
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); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports["default"] = exports.Labels = exports.LabelType = exports.getTransform = void 0;
8
+ exports.getTransform = exports["default"] = exports.Labels = exports.LabelType = void 0;
7
9
 
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
@@ -17,23 +19,25 @@ var _renderUi = require("@pie-lib/render-ui");
17
19
 
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
21
 
20
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
21
-
22
22
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
23
 
24
24
  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); } }
25
25
 
26
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
26
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
27
27
 
28
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
28
+ 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); }
29
29
 
30
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
30
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
31
 
32
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
32
+ 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); }; }
33
33
 
34
- 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
34
+ 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); }
35
35
 
36
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
36
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
37
+
38
+ 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; } }
39
+
40
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
37
41
 
38
42
  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; }
39
43
 
@@ -84,15 +88,15 @@ var getY = function getY(side, height) {
84
88
  }
85
89
  };
86
90
 
87
- var RawLabel =
88
- /*#__PURE__*/
89
- function (_React$Component) {
91
+ var RawLabel = /*#__PURE__*/function (_React$Component) {
90
92
  _inherits(RawLabel, _React$Component);
91
93
 
94
+ var _super = _createSuper(RawLabel);
95
+
92
96
  function RawLabel() {
93
97
  _classCallCheck(this, RawLabel);
94
98
 
95
- return _possibleConstructorReturn(this, _getPrototypeOf(RawLabel).apply(this, arguments));
99
+ return _super.apply(this, arguments);
96
100
  }
97
101
 
98
102
  _createClass(RawLabel, [{
@@ -108,16 +112,16 @@ function (_React$Component) {
108
112
  var width = side === 'left' || side === 'right' ? size.height : size.width;
109
113
  var height = 36;
110
114
  var y = getY(side, height);
111
- return _react["default"].createElement("foreignObject", {
115
+ return /*#__PURE__*/_react["default"].createElement("foreignObject", {
112
116
  x: -(width / 2),
113
117
  y: y,
114
118
  width: width,
115
119
  height: height,
116
120
  transform: transform,
117
121
  textAnchor: "middle"
118
- }, _react["default"].createElement(_renderUi.Readable, {
122
+ }, /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
119
123
  "false": true
120
- }, _react["default"].createElement("div", {
124
+ }, /*#__PURE__*/_react["default"].createElement("div", {
121
125
  dangerouslySetInnerHTML: {
122
126
  __html: text
123
127
  },
@@ -155,15 +159,15 @@ var LabelType = {
155
159
  };
156
160
  exports.LabelType = LabelType;
157
161
 
158
- var Labels =
159
- /*#__PURE__*/
160
- function (_React$Component2) {
162
+ var Labels = /*#__PURE__*/function (_React$Component2) {
161
163
  _inherits(Labels, _React$Component2);
162
164
 
165
+ var _super2 = _createSuper(Labels);
166
+
163
167
  function Labels() {
164
168
  _classCallCheck(this, Labels);
165
169
 
166
- return _possibleConstructorReturn(this, _getPrototypeOf(Labels).apply(this, arguments));
170
+ return _super2.apply(this, arguments);
167
171
  }
168
172
 
169
173
  _createClass(Labels, [{
@@ -172,22 +176,22 @@ function (_React$Component2) {
172
176
  var _this$props2 = this.props,
173
177
  value = _this$props2.value,
174
178
  graphProps = _this$props2.graphProps;
175
- return _react["default"].createElement(_react["default"].Fragment, null, value && value.left && _react["default"].createElement(Label, {
179
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, value && value.left && /*#__PURE__*/_react["default"].createElement(Label, {
176
180
  key: "left",
177
181
  side: "left",
178
182
  text: value.left,
179
183
  graphProps: graphProps
180
- }), value && value.top && _react["default"].createElement(Label, {
184
+ }), value && value.top && /*#__PURE__*/_react["default"].createElement(Label, {
181
185
  key: "top",
182
186
  side: "top",
183
187
  text: value.top,
184
188
  graphProps: graphProps
185
- }), value && value.bottom && _react["default"].createElement(Label, {
189
+ }), value && value.bottom && /*#__PURE__*/_react["default"].createElement(Label, {
186
190
  key: "bottom",
187
191
  side: "bottom",
188
192
  text: value.bottom,
189
193
  graphProps: graphProps
190
- }), value && value.right && _react["default"].createElement(Label, {
194
+ }), value && value.right && /*#__PURE__*/_react["default"].createElement(Label, {
191
195
  key: "right",
192
196
  side: "right",
193
197
  text: value.right,
package/lib/labels.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/labels.jsx"],"names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","text","graphProps","classes","size","transform","__html","axisLabel","React","Component","PropTypes","string","object","types","GraphPropsType","isRequired","Label","theme","label","fill","color","secondary","fontSize","typography","textAlign","LabelType","Labels","value","className","shape"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG;AAChBC,EAAAA,IAAI,EAAE,CAAC,EADS;AAEhBC,EAAAA,GAAG,EAAE,CAFW;AAGhBC,EAAAA,MAAM,EAAE,CAHQ;AAIhBC,EAAAA,KAAK,EAAE;AAJS,CAAlB;;AAOO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAOC,KAAP,EAAcC,MAAd,EAAyB;AACnD,MAAMC,CAAC,GAAG,SAAJA,CAAI,CAACC,CAAD,EAAIC,CAAJ,EAAOC,MAAP;AAAA,+BAA+BF,CAA/B,eAAqCC,CAArC,uBAAmDC,MAAnD;AAAA,GAAV;;AAEA,MAAIN,IAAI,KAAK,MAAb,EAAqB;AACnB,WAAOG,CAAC,CAAC,CAAC,EAAF,EAAMD,MAAM,GAAG,CAAf,EAAkBR,SAAS,CAACM,IAAD,CAA3B,CAAR;AACD;;AACD,MAAIA,IAAI,KAAK,OAAb,EAAsB;AACpB,WAAOG,CAAC,CAACF,KAAK,GAAG,EAAT,EAAaC,MAAM,GAAG,CAAtB,EAAyBR,SAAS,CAACM,IAAD,CAAlC,CAAR;AACD;;AACD,MAAIA,IAAI,KAAK,KAAb,EAAoB;AAClB,WAAOG,CAAC,CAACF,KAAK,GAAG,CAAT,EAAY,CAAC,EAAb,EAAiBP,SAAS,CAACM,IAAD,CAA1B,CAAR;AACD;;AACD,MAAIA,IAAI,KAAK,QAAb,EAAuB;AACrB,WAAOG,CAAC,CAACF,KAAK,GAAG,CAAT,EAAYC,MAAM,GAAG,EAArB,EAAyBR,SAAS,CAACM,IAAD,CAAlC,CAAR;AACD;AACF,CAfM;;;;AAiBP,IAAMO,IAAI,GAAG,SAAPA,IAAO,CAACP,IAAD,EAAOE,MAAP,EAAkB;AAC7B,UAAQF,IAAR;AACE,SAAK,MAAL;AACE,aAAO,CAACE,MAAR;;AACF,SAAK,KAAL;AACE,aAAO,CAACA,MAAD,GAAU,EAAjB;;AACF,SAAK,OAAL;AACE,aAAO,CAACA,MAAD,GAAU,EAAjB;;AACF;AACE,aAAO,CAAP;AARJ;AAUD,CAXD;;IAaMM,Q;;;;;;;;;;;;;6BAQK;AAAA,wBACqC,KAAKC,KAD1C;AAAA,UACCC,IADD,eACCA,IADD;AAAA,UACOV,IADP,eACOA,IADP;AAAA,UACaW,UADb,eACaA,UADb;AAAA,UACyBC,OADzB,eACyBA,OADzB;AAAA,UAGCC,IAHD,GAGUF,UAHV,CAGCE,IAHD;AAKP,UAAMC,SAAS,GAAGf,YAAY,CAACC,IAAD,EAAOa,IAAI,CAACZ,KAAZ,EAAmBY,IAAI,CAACX,MAAxB,CAA9B;AACA,UAAMD,KAAK,GAAGD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,OAA5B,GAAsCa,IAAI,CAACX,MAA3C,GAAoDW,IAAI,CAACZ,KAAvE;AACA,UAAMC,MAAM,GAAG,EAAf;AACA,UAAMG,CAAC,GAAGE,IAAI,CAACP,IAAD,EAAOE,MAAP,CAAd;AAEA,aACE;AACE,QAAA,CAAC,EAAE,EAAED,KAAK,GAAG,CAAV,CADL;AAEE,QAAA,CAAC,EAAEI,CAFL;AAGE,QAAA,KAAK,EAAEJ,KAHT;AAIE,QAAA,MAAM,EAAEC,MAJV;AAKE,QAAA,SAAS,EAAEY,SALb;AAME,QAAA,UAAU,EAAC;AANb,SAQE,gCAAC,kBAAD;AAAU;AAAV,SACE;AAAK,QAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAEL;AAAV,SAA9B;AAAgD,QAAA,SAAS,EAAEE,OAAO,CAACI;AAAnE,QADF,CARF,CADF;AAcD;;;;EAhCoBC,kBAAMC,S;;gBAAvBV,Q,eACe;AACjBE,EAAAA,IAAI,EAAES,sBAAUC,MADC;AAEjBpB,EAAAA,IAAI,EAAEmB,sBAAUC,MAFC;AAGjBR,EAAAA,OAAO,EAAEO,sBAAUE,MAHF;AAIjBV,EAAAA,UAAU,EAAEW,YAAMC,cAAN,CAAqBC;AAJhB,C;;AAkCrB,IAAMC,KAAK,GAAG,wBAAW,UAAAC,KAAK;AAAA,SAAK;AACjCC,IAAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAEC,gBAAMC,SAAN;AADD,KAD0B;AAIjCd,IAAAA,SAAS,EAAE;AACTe,MAAAA,QAAQ,EAAEL,KAAK,CAACM,UAAN,CAAiBD,QADlB;AAETE,MAAAA,SAAS,EAAE;AAFF;AAJsB,GAAL;AAAA,CAAhB,EAQVzB,QARU,CAAd;AAUO,IAAM0B,SAAS,GAAG;AACvBvC,EAAAA,IAAI,EAAEwB,sBAAUC,MADO;AAEvBxB,EAAAA,GAAG,EAAEuB,sBAAUC,MAFQ;AAGvBvB,EAAAA,MAAM,EAAEsB,sBAAUC,MAHK;AAIvBtB,EAAAA,KAAK,EAAEqB,sBAAUC;AAJM,CAAlB;;;IAOMe,M;;;;;;;;;;;;;6BASF;AAAA,yBACuB,KAAK1B,KAD5B;AAAA,UACC2B,KADD,gBACCA,KADD;AAAA,UACQzB,UADR,gBACQA,UADR;AAEP,aACE,gCAAC,iBAAD,CAAO,QAAP,QACGyB,KAAK,IAAIA,KAAK,CAACzC,IAAf,IACC,gCAAC,KAAD;AAAO,QAAA,GAAG,EAAC,MAAX;AAAkB,QAAA,IAAI,EAAC,MAAvB;AAA8B,QAAA,IAAI,EAAEyC,KAAK,CAACzC,IAA1C;AAAgD,QAAA,UAAU,EAAEgB;AAA5D,QAFJ,EAIGyB,KAAK,IAAIA,KAAK,CAACxC,GAAf,IACC,gCAAC,KAAD;AAAO,QAAA,GAAG,EAAC,KAAX;AAAiB,QAAA,IAAI,EAAC,KAAtB;AAA4B,QAAA,IAAI,EAAEwC,KAAK,CAACxC,GAAxC;AAA6C,QAAA,UAAU,EAAEe;AAAzD,QALJ,EAOGyB,KAAK,IAAIA,KAAK,CAACvC,MAAf,IACC,gCAAC,KAAD;AAAO,QAAA,GAAG,EAAC,QAAX;AAAoB,QAAA,IAAI,EAAC,QAAzB;AAAkC,QAAA,IAAI,EAAEuC,KAAK,CAACvC,MAA9C;AAAsD,QAAA,UAAU,EAAEc;AAAlE,QARJ,EAUGyB,KAAK,IAAIA,KAAK,CAACtC,KAAf,IACC,gCAAC,KAAD;AAAO,QAAA,GAAG,EAAC,OAAX;AAAmB,QAAA,IAAI,EAAC,OAAxB;AAAgC,QAAA,IAAI,EAAEsC,KAAK,CAACtC,KAA5C;AAAmD,QAAA,UAAU,EAAEa;AAA/D,QAXJ,CADF;AAgBD;;;;EA3ByBM,kBAAMC,S;;;;gBAArBiB,M,eACQ;AACjBvB,EAAAA,OAAO,EAAEO,sBAAUE,MADF;AAEjBgB,EAAAA,SAAS,EAAElB,sBAAUC,MAFJ;AAGjBgB,EAAAA,KAAK,EAAEjB,sBAAUmB,KAAV,CAAgBJ,SAAhB,CAHU;AAIjBvB,EAAAA,UAAU,EAAEQ,sBAAUE;AAJL,C;;gBADRc,M,kBAQW,E;;eAsBTA,M","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color, Readable } from '@pie-lib/render-ui';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height + 10;\n case 'right':\n return -height + 10;\n default:\n return 0;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const { text, side, graphProps, classes } = this.props;\n\n const { size } = graphProps;\n\n const transform = getTransform(side, size.width, size.height);\n const width = side === 'left' || side === 'right' ? size.height : size.width;\n const height = 36;\n const y = getY(side, height);\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={height}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <div dangerouslySetInnerHTML={{ __html: text }} className={classes.axisLabel} />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize,\n textAlign: 'center'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n render() {\n const { value, graphProps } = this.props;\n return (\n <React.Fragment>\n {value && value.left && (\n <Label key=\"left\" side=\"left\" text={value.left} graphProps={graphProps} />\n )}\n {value && value.top && (\n <Label key=\"top\" side=\"top\" text={value.top} graphProps={graphProps} />\n )}\n {value && value.bottom && (\n <Label key=\"bottom\" side=\"bottom\" text={value.bottom} graphProps={graphProps} />\n )}\n {value && value.right && (\n <Label key=\"right\" side=\"right\" text={value.right} graphProps={graphProps} />\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"file":"labels.js"}
1
+ {"version":3,"sources":["../src/labels.jsx"],"names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","text","graphProps","classes","size","transform","__html","axisLabel","React","Component","PropTypes","string","object","types","GraphPropsType","isRequired","Label","theme","label","fill","color","secondary","fontSize","typography","textAlign","LabelType","Labels","value","className","shape"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color, Readable } from '@pie-lib/render-ui';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height + 10;\n case 'right':\n return -height + 10;\n default:\n return 0;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const { text, side, graphProps, classes } = this.props;\n\n const { size } = graphProps;\n\n const transform = getTransform(side, size.width, size.height);\n const width = side === 'left' || side === 'right' ? size.height : size.width;\n const height = 36;\n const y = getY(side, height);\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={height}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <div dangerouslySetInnerHTML={{ __html: text }} className={classes.axisLabel} />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize,\n textAlign: 'center'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n render() {\n const { value, graphProps } = this.props;\n return (\n <React.Fragment>\n {value && value.left && (\n <Label key=\"left\" side=\"left\" text={value.left} graphProps={graphProps} />\n )}\n {value && value.top && (\n <Label key=\"top\" side=\"top\" text={value.top} graphProps={graphProps} />\n )}\n {value && value.bottom && (\n <Label key=\"bottom\" side=\"bottom\" text={value.bottom} graphProps={graphProps} />\n )}\n {value && value.right && (\n <Label key=\"right\" side=\"right\" text={value.right} graphProps={graphProps} />\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"file":"labels.js"}
package/lib/mark-label.js CHANGED
@@ -1,9 +1,11 @@
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); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports["default"] = exports.MarkLabel = exports.coordinates = exports.position = void 0;
8
+ exports.position = exports["default"] = exports.coordinates = exports.MarkLabel = void 0;
7
9
 
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
 
@@ -23,19 +25,25 @@ var _renderUi = require("@pie-lib/render-ui");
23
25
 
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
27
 
26
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
28
+ 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); }
29
+
30
+ 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; }
27
31
 
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
32
+ 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; }
29
33
 
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
34
+ 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; }
31
35
 
32
36
  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; }
33
37
 
34
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
38
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
39
+
40
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
41
+
42
+ 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); }
35
43
 
36
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
44
+ 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; }
37
45
 
38
- function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
46
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
47
 
40
48
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
49
 
@@ -168,7 +176,7 @@ var MarkLabel = function MarkLabel(props) {
168
176
  pointerEvents: 'auto'
169
177
  }, leftTop);
170
178
 
171
- return _react["default"].createElement(_reactInputAutosize["default"], {
179
+ return /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
172
180
  inputRef: function inputRef(r) {
173
181
  _ref(r);
174
182
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","padding","spacing","unit","fontFamily","typography","fontSize","border","color","secondary","borderRadius","primaryDark","disabled","background","position","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","MarkLabel","props","setInput","_ref","node","classes","externalInputRef","inputRef","label","setLabel","onChange","e","target","value","debouncedLabel","getBoundingClientRect","pos","leftTop","style","pointerEvents","r","propTypes","PropTypes","bool","func","types","GraphPropsType","object"],"mappings":"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","sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport cn from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { useDebounce } from './use-debounce';\nimport { color } from '@pie-lib/render-ui';\n\nconst styles = theme => ({\n input: {\n float: 'right',\n padding: theme.spacing.unit * 0.5,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: `solid 1px ${color.secondary()}`,\n borderRadius: '3px',\n color: color.primaryDark()\n },\n disabled: {\n border: `solid 1px ${color.primaryDark()}`,\n background: color.background()\n }\n});\n\nexport const position = (graphProps, mark, rect) => {\n rect = rect || { width: 0, height: 0 };\n const { scale, domain, range } = graphProps;\n const shift = 10;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect, position) => {\n const { scale } = graphProps;\n const shift = 10;\n rect = rect || { width: 0, height: 0 };\n\n switch (position) {\n case 'bottom-right': {\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n }\n case 'bottom-left': {\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n }\n case 'top-left': {\n return {\n left: scale.x(mark.x) - shift - rect.width,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n case 'top-right': {\n return {\n left: scale.x(mark.x) + shift,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n }\n};\n\nexport const MarkLabel = props => {\n const [input, setInput] = useState(null);\n const _ref = useCallback(node => setInput(node));\n\n const { mark, graphProps, classes, disabled, inputRef: externalInputRef } = props;\n const [label, setLabel] = useState(mark.label);\n\n const onChange = e => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n ...leftTop\n };\n\n return (\n <AutosizeInput\n inputRef={r => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabled}\n inputClassName={cn(classes.input, disabled && classes.disabled)}\n value={label}\n style={style}\n onChange={onChange}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object\n};\n\nexport default withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
1
+ {"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","padding","spacing","unit","fontFamily","typography","fontSize","border","color","secondary","borderRadius","primaryDark","disabled","background","position","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","MarkLabel","props","setInput","_ref","node","classes","externalInputRef","inputRef","label","setLabel","onChange","e","target","value","debouncedLabel","getBoundingClientRect","pos","leftTop","style","pointerEvents","r","propTypes","PropTypes","bool","func","types","GraphPropsType","object"],"mappings":"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","sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport cn from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { useDebounce } from './use-debounce';\nimport { color } from '@pie-lib/render-ui';\n\nconst styles = theme => ({\n input: {\n float: 'right',\n padding: theme.spacing.unit * 0.5,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: `solid 1px ${color.secondary()}`,\n borderRadius: '3px',\n color: color.primaryDark()\n },\n disabled: {\n border: `solid 1px ${color.primaryDark()}`,\n background: color.background()\n }\n});\n\nexport const position = (graphProps, mark, rect) => {\n rect = rect || { width: 0, height: 0 };\n const { scale, domain, range } = graphProps;\n const shift = 10;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect, position) => {\n const { scale } = graphProps;\n const shift = 10;\n rect = rect || { width: 0, height: 0 };\n\n switch (position) {\n case 'bottom-right': {\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n }\n case 'bottom-left': {\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n }\n case 'top-left': {\n return {\n left: scale.x(mark.x) - shift - rect.width,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n case 'top-right': {\n return {\n left: scale.x(mark.x) + shift,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n }\n};\n\nexport const MarkLabel = props => {\n const [input, setInput] = useState(null);\n const _ref = useCallback(node => setInput(node));\n\n const { mark, graphProps, classes, disabled, inputRef: externalInputRef } = props;\n const [label, setLabel] = useState(mark.label);\n\n const onChange = e => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n ...leftTop\n };\n\n return (\n <AutosizeInput\n inputRef={r => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabled}\n inputClassName={cn(classes.input, disabled && classes.disabled)}\n value={label}\n style={style}\n onChange={onChange}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object\n};\n\nexport default withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
package/lib/toggle-bar.js CHANGED
@@ -1,5 +1,7 @@
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); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -21,23 +23,25 @@ var _index = require("./tools/index");
21
23
 
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
25
 
24
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
25
-
26
26
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
27
 
28
28
  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); } }
29
29
 
30
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
30
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
31
31
 
32
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
32
+ 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); }
33
33
 
34
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
34
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
35
+
36
+ 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); }; }
37
+
38
+ 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); }
35
39
 
36
40
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
37
41
 
38
- 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
42
+ 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; } }
39
43
 
40
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
44
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
41
45
 
42
46
  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; }
43
47
 
@@ -75,7 +79,7 @@ var MiniButton = (0, _styles.withStyles)(buttonStyles)(function (props) {
75
79
  selected = props.selected,
76
80
  value = props.value,
77
81
  onClick = props.onClick;
78
- return _react["default"].createElement(_Button["default"], {
82
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
79
83
  size: "small",
80
84
  disabled: disabled,
81
85
  className: (0, _classnames["default"])(classes.root, selected && classes.selected, className),
@@ -98,14 +102,12 @@ MiniButton.propTypes = {
98
102
  onClick: _propTypes["default"].func
99
103
  };
100
104
 
101
- var ToggleBar =
102
- /*#__PURE__*/
103
- function (_React$Component) {
105
+ var ToggleBar = /*#__PURE__*/function (_React$Component) {
104
106
  _inherits(ToggleBar, _React$Component);
105
107
 
106
- function ToggleBar() {
107
- var _getPrototypeOf2;
108
+ var _super = _createSuper(ToggleBar);
108
109
 
110
+ function ToggleBar() {
109
111
  var _this;
110
112
 
111
113
  _classCallCheck(this, ToggleBar);
@@ -114,7 +116,7 @@ function (_React$Component) {
114
116
  args[_key] = arguments[_key];
115
117
  }
116
118
 
117
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ToggleBar)).call.apply(_getPrototypeOf2, [this].concat(args)));
119
+ _this = _super.call.apply(_super, [this].concat(args));
118
120
 
119
121
  _defineProperty(_assertThisInitialized(_this), "select", function (e) {
120
122
  return _this.props.onChange(e.target.textContent);
@@ -134,12 +136,12 @@ function (_React$Component) {
134
136
  disabled = _this$props.disabled,
135
137
  options = _this$props.options,
136
138
  selectedToolType = _this$props.selectedToolType;
137
- return _react["default"].createElement("div", {
139
+ return /*#__PURE__*/_react["default"].createElement("div", {
138
140
  className: (0, _classnames["default"])(className)
139
141
  }, (options || []).map(function (option) {
140
142
  if ((_index.allTools || []).includes(option)) {
141
143
  var isSelected = option === selectedToolType;
142
- return _react["default"].createElement(MiniButton, {
144
+ return /*#__PURE__*/_react["default"].createElement(MiniButton, {
143
145
  key: option,
144
146
  className: (0, _classnames["default"])(classes.button, isSelected && classes.selected),
145
147
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/toggle-bar.jsx"],"names":["buttonStyles","root","color","text","backgroundColor","primary","selected","background","border","secondary","notSelected","disabled","MiniButton","props","classes","className","value","onClick","propTypes","PropTypes","bool","string","disabledClassName","func","ToggleBar","e","onChange","target","textContent","options","selectedToolType","map","option","allTools","includes","isSelected","button","select","React","Component","object","isRequired","arrayOf","styles","theme","marginRight","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools/index';\n\nconst buttonStyles = () => ({\n root: {\n color: color.text(),\n '&:hover': {\n backgroundColor: color.primary()\n }\n },\n selected: {\n backgroundColor: color.background(),\n border: `1px solid ${color.secondary()}`\n },\n notSelected: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.background()\n },\n disabled: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.disabled()\n }\n});\n\nexport const MiniButton = withStyles(buttonStyles)(props => {\n const { disabled, classes, className, selected, value, onClick } = props;\n\n return (\n <Button\n size=\"small\"\n disabled={disabled}\n className={cn(classes.root, selected && classes.selected, className)}\n classes={{ disabled: cn(disabled && classes.disabled) }}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={onClick}\n >\n {value}\n </Button>\n );\n});\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func\n };\n\n static defaultProps = {};\n\n select = e => this.props.onChange(e.target.textContent);\n\n render() {\n const { classes, className, disabled, options, selectedToolType } = this.props;\n return (\n <div className={cn(className)}>\n {(options || []).map(option => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n\n return (\n <MiniButton\n key={option}\n className={cn(classes.button, isSelected && classes.selected)}\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n />\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n button: {\n marginRight: theme.spacing.unit / 2,\n marginBottom: theme.spacing.unit / 2,\n color: color.text(),\n backgroundColor: color.background()\n }\n});\n\nexport default withStyles(styles)(ToggleBar);\n"],"file":"toggle-bar.js"}
1
+ {"version":3,"sources":["../src/toggle-bar.jsx"],"names":["buttonStyles","root","color","text","backgroundColor","primary","selected","background","border","secondary","notSelected","disabled","MiniButton","props","classes","className","value","onClick","propTypes","PropTypes","bool","string","disabledClassName","func","ToggleBar","e","onChange","target","textContent","options","selectedToolType","map","option","allTools","includes","isSelected","button","select","React","Component","object","isRequired","arrayOf","styles","theme","marginRight","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools/index';\n\nconst buttonStyles = () => ({\n root: {\n color: color.text(),\n '&:hover': {\n backgroundColor: color.primary()\n }\n },\n selected: {\n backgroundColor: color.background(),\n border: `1px solid ${color.secondary()}`\n },\n notSelected: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.background()\n },\n disabled: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.disabled()\n }\n});\n\nexport const MiniButton = withStyles(buttonStyles)(props => {\n const { disabled, classes, className, selected, value, onClick } = props;\n\n return (\n <Button\n size=\"small\"\n disabled={disabled}\n className={cn(classes.root, selected && classes.selected, className)}\n classes={{ disabled: cn(disabled && classes.disabled) }}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={onClick}\n >\n {value}\n </Button>\n );\n});\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func\n };\n\n static defaultProps = {};\n\n select = e => this.props.onChange(e.target.textContent);\n\n render() {\n const { classes, className, disabled, options, selectedToolType } = this.props;\n return (\n <div className={cn(className)}>\n {(options || []).map(option => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n\n return (\n <MiniButton\n key={option}\n className={cn(classes.button, isSelected && classes.selected)}\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n />\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n button: {\n marginRight: theme.spacing.unit / 2,\n marginBottom: theme.spacing.unit / 2,\n color: color.text(),\n backgroundColor: color.background()\n }\n});\n\nexport default withStyles(styles)(ToggleBar);\n"],"file":"toggle-bar.js"}
package/lib/tool-menu.js CHANGED
@@ -1,5 +1,7 @@
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); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -13,39 +15,43 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
15
 
14
16
  var _toggleBar = _interopRequireWildcard(require("./toggle-bar"));
15
17
 
16
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
18
+ 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); }
17
19
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20
+ 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; }
19
21
 
20
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
23
 
22
24
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
25
 
24
26
  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); } }
25
27
 
26
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
28
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
27
29
 
28
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
30
+ 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); }
29
31
 
30
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
32
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
33
 
32
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
34
+ 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); }; }
33
35
 
34
- 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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
36
+ 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); }
35
37
 
36
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
38
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
39
+
40
+ 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; } }
41
+
42
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
37
43
 
38
44
  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; }
39
45
 
40
- var ToolMenu =
41
- /*#__PURE__*/
42
- function (_React$Component) {
46
+ var ToolMenu = /*#__PURE__*/function (_React$Component) {
43
47
  _inherits(ToolMenu, _React$Component);
44
48
 
49
+ var _super = _createSuper(ToolMenu);
50
+
45
51
  function ToolMenu() {
46
52
  _classCallCheck(this, ToolMenu);
47
53
 
48
- return _possibleConstructorReturn(this, _getPrototypeOf(ToolMenu).apply(this, arguments));
54
+ return _super.apply(this, arguments);
49
55
  }
50
56
 
51
57
  _createClass(ToolMenu, [{
@@ -65,14 +71,14 @@ function (_React$Component) {
65
71
  toolbarTools = (toolbarTools || []).filter(function (tT) {
66
72
  return tT !== 'label';
67
73
  });
68
- return _react["default"].createElement("div", {
74
+ return /*#__PURE__*/_react["default"].createElement("div", {
69
75
  className: (0, _classnames["default"])(className)
70
- }, _react["default"].createElement(_toggleBar["default"], {
76
+ }, /*#__PURE__*/_react["default"].createElement(_toggleBar["default"], {
71
77
  disabled: disabled,
72
78
  options: toolbarTools,
73
79
  selectedToolType: currentToolType,
74
80
  onChange: onChange
75
- }), showLabel && _react["default"].createElement(_toggleBar.MiniButton, {
81
+ }), showLabel && /*#__PURE__*/_react["default"].createElement(_toggleBar.MiniButton, {
76
82
  disabled: disabled,
77
83
  value: 'Label',
78
84
  onClick: onToggleLabelMode,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tool-menu.jsx"],"names":["ToolMenu","props","className","currentToolType","disabled","labelModeEnabled","onToggleLabelMode","onChange","toolbarTools","showLabel","some","t","filter","tT","React","Component","PropTypes","string","bool","func","arrayOf"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,Q;;;;;;;;;;;;;6BAeF;AAAA,wBAQH,KAAKC,KARF;AAAA,UAELC,SAFK,eAELA,SAFK;AAAA,UAGLC,eAHK,eAGLA,eAHK;AAAA,UAILC,QAJK,eAILA,QAJK;AAAA,UAKLC,gBALK,eAKLA,gBALK;AAAA,UAMLC,iBANK,eAMLA,iBANK;AAAA,UAOLC,QAPK,eAOLA,QAPK;AAAA,UASDC,YATC,GASgB,KAAKP,KATrB,CASDO,YATC;AAWP,UAAMC,SAAS,GAAGD,YAAY,IAAIA,YAAY,CAACE,IAAb,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAK,OAAV;AAAA,OAAnB,CAAlC;AAEAH,MAAAA,YAAY,GAAG,CAACA,YAAY,IAAI,EAAjB,EAAqBI,MAArB,CAA4B,UAAAC,EAAE;AAAA,eAAIA,EAAE,KAAK,OAAX;AAAA,OAA9B,CAAf;AAEA,aACE;AAAK,QAAA,SAAS,EAAE,4BAAWX,SAAX;AAAhB,SACE,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEE,QADZ;AAEE,QAAA,OAAO,EAAEI,YAFX;AAGE,QAAA,gBAAgB,EAAEL,eAHpB;AAIE,QAAA,QAAQ,EAAEI;AAJZ,QADF,EAQGE,SAAS,IACR,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEL,QADZ;AAEE,QAAA,KAAK,EAAE,OAFT;AAGE,QAAA,OAAO,EAAEE,iBAHX;AAIE,QAAA,QAAQ,EAAED;AAJZ,QATJ,CADF;AAmBD;;;;EAjD2BS,kBAAMC,S;;;;gBAAvBf,Q,eACQ;AACjBE,EAAAA,SAAS,EAAEc,sBAAUC,MADJ;AAEjBd,EAAAA,eAAe,EAAEa,sBAAUC,MAFV;AAGjBb,EAAAA,QAAQ,EAAEY,sBAAUE,IAHH;AAIjBb,EAAAA,gBAAgB,EAAEW,sBAAUE,IAJX;AAKjBX,EAAAA,QAAQ,EAAES,sBAAUG,IALH;AAMjBb,EAAAA,iBAAiB,EAAEU,sBAAUG,IANZ;AAOjBX,EAAAA,YAAY,EAAEQ,sBAAUI,OAAV,CAAkBJ,sBAAUC,MAA5B;AAPG,C;;gBADRjB,Q,kBAWW;AACpBQ,EAAAA,YAAY,EAAE;AADM,C;;eAyCTR,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar, { MiniButton } from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onToggleLabelMode: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string)\n };\n\n static defaultProps = {\n toolbarTools: []\n };\n\n render() {\n const {\n className,\n currentToolType,\n disabled,\n labelModeEnabled,\n onToggleLabelMode,\n onChange\n } = this.props;\n let { toolbarTools } = this.props;\n\n const showLabel = toolbarTools && toolbarTools.some(t => t === 'label');\n\n toolbarTools = (toolbarTools || []).filter(tT => tT !== 'label');\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n />\n\n {showLabel && (\n <MiniButton\n disabled={disabled}\n value={'Label'}\n onClick={onToggleLabelMode}\n selected={labelModeEnabled}\n />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"file":"tool-menu.js"}
1
+ {"version":3,"sources":["../src/tool-menu.jsx"],"names":["ToolMenu","props","className","currentToolType","disabled","labelModeEnabled","onToggleLabelMode","onChange","toolbarTools","showLabel","some","t","filter","tT","React","Component","PropTypes","string","bool","func","arrayOf"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,Q;;;;;;;;;;;;;WAeX,kBAAS;AACP,wBAOI,KAAKC,KAPT;AAAA,UACEC,SADF,eACEA,SADF;AAAA,UAEEC,eAFF,eAEEA,eAFF;AAAA,UAGEC,QAHF,eAGEA,QAHF;AAAA,UAIEC,gBAJF,eAIEA,gBAJF;AAAA,UAKEC,iBALF,eAKEA,iBALF;AAAA,UAMEC,QANF,eAMEA,QANF;AAQA,UAAMC,YAAN,GAAuB,KAAKP,KAA5B,CAAMO,YAAN;AAEA,UAAMC,SAAS,GAAGD,YAAY,IAAIA,YAAY,CAACE,IAAb,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAK,OAAV;AAAA,OAAnB,CAAlC;AAEAH,MAAAA,YAAY,GAAG,CAACA,YAAY,IAAI,EAAjB,EAAqBI,MAArB,CAA4B,UAAAC,EAAE;AAAA,eAAIA,EAAE,KAAK,OAAX;AAAA,OAA9B,CAAf;AAEA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWX,SAAX;AAAhB,sBACE,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEE,QADZ;AAEE,QAAA,OAAO,EAAEI,YAFX;AAGE,QAAA,gBAAgB,EAAEL,eAHpB;AAIE,QAAA,QAAQ,EAAEI;AAJZ,QADF,EAQGE,SAAS,iBACR,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEL,QADZ;AAEE,QAAA,KAAK,EAAE,OAFT;AAGE,QAAA,OAAO,EAAEE,iBAHX;AAIE,QAAA,QAAQ,EAAED;AAJZ,QATJ,CADF;AAmBD;;;;EAjD2BS,kBAAMC,S;;;;gBAAvBf,Q,eACQ;AACjBE,EAAAA,SAAS,EAAEc,sBAAUC,MADJ;AAEjBd,EAAAA,eAAe,EAAEa,sBAAUC,MAFV;AAGjBb,EAAAA,QAAQ,EAAEY,sBAAUE,IAHH;AAIjBb,EAAAA,gBAAgB,EAAEW,sBAAUE,IAJX;AAKjBX,EAAAA,QAAQ,EAAES,sBAAUG,IALH;AAMjBb,EAAAA,iBAAiB,EAAEU,sBAAUG,IANZ;AAOjBX,EAAAA,YAAY,EAAEQ,sBAAUI,OAAV,CAAkBJ,sBAAUC,MAA5B;AAPG,C;;gBADRjB,Q,kBAWW;AACpBQ,EAAAA,YAAY,EAAE;AADM,C;;eAyCTR,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar, { MiniButton } from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onToggleLabelMode: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string)\n };\n\n static defaultProps = {\n toolbarTools: []\n };\n\n render() {\n const {\n className,\n currentToolType,\n disabled,\n labelModeEnabled,\n onToggleLabelMode,\n onChange\n } = this.props;\n let { toolbarTools } = this.props;\n\n const showLabel = toolbarTools && toolbarTools.some(t => t === 'label');\n\n toolbarTools = (toolbarTools || []).filter(tT => tT !== 'label');\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n />\n\n {showLabel && (\n <MiniButton\n disabled={disabled}\n value={'Label'}\n onClick={onToggleLabelMode}\n selected={labelModeEnabled}\n />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"file":"tool-menu.js"}