@pie-lib/charting 5.0.0 → 5.1.2

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 (56) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/lib/axes.js +33 -60
  3. package/lib/axes.js.map +1 -1
  4. package/lib/bars/bar.js +19 -30
  5. package/lib/bars/bar.js.map +1 -1
  6. package/lib/bars/common/bars.js +33 -47
  7. package/lib/bars/common/bars.js.map +1 -1
  8. package/lib/bars/histogram.js +19 -30
  9. package/lib/bars/histogram.js.map +1 -1
  10. package/lib/chart-setup.js +243 -0
  11. package/lib/chart-setup.js.map +1 -0
  12. package/lib/chart-type.js +68 -0
  13. package/lib/chart-type.js.map +1 -0
  14. package/lib/chart-types.js +2 -2
  15. package/lib/chart-types.js.map +1 -1
  16. package/lib/chart.js +41 -66
  17. package/lib/chart.js.map +1 -1
  18. package/lib/common/drag-handle.js +26 -41
  19. package/lib/common/drag-handle.js.map +1 -1
  20. package/lib/common/styles.js +7 -5
  21. package/lib/common/styles.js.map +1 -1
  22. package/lib/grid.js +19 -31
  23. package/lib/grid.js.map +1 -1
  24. package/lib/index.js +17 -1
  25. package/lib/index.js.map +1 -1
  26. package/lib/line/common/drag-handle.js +25 -39
  27. package/lib/line/common/drag-handle.js.map +1 -1
  28. package/lib/line/common/line.js +45 -73
  29. package/lib/line/common/line.js.map +1 -1
  30. package/lib/line/line-cross.js +25 -39
  31. package/lib/line/line-cross.js.map +1 -1
  32. package/lib/line/line-dot.js +24 -38
  33. package/lib/line/line-dot.js.map +1 -1
  34. package/lib/mark-label.js +10 -20
  35. package/lib/mark-label.js.map +1 -1
  36. package/lib/plot/common/plot.js +33 -47
  37. package/lib/plot/common/plot.js.map +1 -1
  38. package/lib/plot/dot.js +20 -31
  39. package/lib/plot/dot.js.map +1 -1
  40. package/lib/plot/line.js +21 -32
  41. package/lib/plot/line.js.map +1 -1
  42. package/lib/tool-menu.js +19 -32
  43. package/lib/tool-menu.js.map +1 -1
  44. package/lib/utils.js +10 -75
  45. package/lib/utils.js.map +1 -1
  46. package/package.json +2 -2
  47. package/src/axes.jsx +1 -1
  48. package/src/bars/common/bars.jsx +5 -2
  49. package/src/chart-setup.jsx +186 -0
  50. package/src/chart-type.js +39 -0
  51. package/src/chart.jsx +3 -8
  52. package/src/index.js +4 -1
  53. package/src/line/common/drag-handle.jsx +2 -1
  54. package/src/line/common/line.jsx +5 -3
  55. package/src/plot/common/plot.jsx +4 -2
  56. package/src/utils.js +4 -75
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _styles = require("@material-ui/core/styles");
13
+
14
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
15
+
16
+ var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
17
+
18
+ var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
19
+
20
+ var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
21
+
22
+ var _OutlinedInput = _interopRequireDefault(require("@material-ui/core/OutlinedInput"));
23
+
24
+ var ChartType = (0, _styles.withStyles)(function (theme) {
25
+ return {
26
+ chartType: {
27
+ width: '160px'
28
+ },
29
+ chartTypeLabel: {
30
+ backgroundColor: 'transparent'
31
+ }
32
+ };
33
+ })(function (_ref) {
34
+ var onChange = _ref.onChange,
35
+ value = _ref.value,
36
+ classes = _ref.classes;
37
+ return /*#__PURE__*/_react["default"].createElement("div", {
38
+ className: classes.chartType
39
+ }, /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
40
+ variant: 'outlined',
41
+ className: classes.chartType
42
+ }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
43
+ htmlFor: "type-helper",
44
+ className: classes.chartTypeLabel
45
+ }, "ChartType"), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
46
+ value: value,
47
+ onChange: onChange,
48
+ input: /*#__PURE__*/_react["default"].createElement(_OutlinedInput["default"], {
49
+ name: "type",
50
+ id: "type-helper"
51
+ })
52
+ }, /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
53
+ value: 'histogram'
54
+ }, "Histogram"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
55
+ value: 'bar'
56
+ }, "Bar"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
57
+ value: 'lineDot'
58
+ }, "Line Dot"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
59
+ value: 'lineCross'
60
+ }, "Line Cross"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
61
+ value: 'dotPlot'
62
+ }, "Dot Plot"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
63
+ value: 'linePlot'
64
+ }, "Line Plot"))));
65
+ });
66
+ var _default = ChartType;
67
+ exports["default"] = _default;
68
+ //# sourceMappingURL=chart-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chart-type.js"],"names":["ChartType","theme","chartType","width","chartTypeLabel","backgroundColor","onChange","value","classes"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,wBAAW,UAAAC,KAAK;AAAA,SAAK;AACrCC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE;AADE,KAD0B;AAIrCC,IAAAA,cAAc,EAAE;AACdC,MAAAA,eAAe,EAAE;AADH;AAJqB,GAAL;AAAA,CAAhB,EAOd;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,MAAoBC,OAApB,QAAoBA,OAApB;AAAA,sBACF;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACN;AAAxB,kBACE,gCAAC,uBAAD;AAAa,IAAA,OAAO,EAAE,UAAtB;AAAkC,IAAA,SAAS,EAAEM,OAAO,CAACN;AAArD,kBACE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAC,aAApB;AAAkC,IAAA,SAAS,EAAEM,OAAO,CAACJ;AAArD,iBADF,eAKE,gCAAC,kBAAD;AACE,IAAA,KAAK,EAAEG,KADT;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,KAAK,eAAE,gCAAC,yBAAD;AAAe,MAAA,IAAI,EAAC,MAApB;AAA2B,MAAA,EAAE,EAAC;AAA9B;AAHT,kBAKE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,iBALF,eAME,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,WANF,eAOE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,gBAPF,eAQE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,kBARF,eASE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,gBATF,eAUE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,iBAVF,CALF,CADF,CADE;AAAA,CAPc,CAAlB;eA8BeN,S","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nconst ChartType = withStyles(theme => ({\n chartType: {\n width: '160px'\n },\n chartTypeLabel: {\n backgroundColor: 'transparent'\n }\n}))(({ onChange, value, classes }) => (\n <div className={classes.chartType}>\n <FormControl variant={'outlined'} className={classes.chartType}>\n <InputLabel htmlFor=\"type-helper\" className={classes.chartTypeLabel}>\n ChartType\n </InputLabel>\n\n <Select\n value={value}\n onChange={onChange}\n input={<OutlinedInput name=\"type\" id=\"type-helper\" />}\n >\n <MenuItem value={'histogram'}>Histogram</MenuItem>\n <MenuItem value={'bar'}>Bar</MenuItem>\n <MenuItem value={'lineDot'}>Line Dot</MenuItem>\n <MenuItem value={'lineCross'}>Line Cross</MenuItem>\n <MenuItem value={'dotPlot'}>Dot Plot</MenuItem>\n <MenuItem value={'linePlot'}>Line Plot</MenuItem>\n </Select>\n </FormControl>\n </div>\n));\n\nexport default ChartType;\n"],"file":"chart-type.js"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -17,8 +19,6 @@ var _dot = _interopRequireDefault(require("./plot/dot"));
17
19
 
18
20
  var _line = _interopRequireDefault(require("./plot/line"));
19
21
 
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
-
22
22
  var _default = {
23
23
  Bar: _bar["default"],
24
24
  Histogram: _histogram["default"],
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart-types.js"],"names":["Bar","Histogram","LineDot","DotPlot","LinePlot","LineCross"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;eAEe;AAAEA,EAAAA,GAAG,EAAHA,eAAF;AAAOC,EAAAA,SAAS,EAATA,qBAAP;AAAkBC,EAAAA,OAAO,EAAPA,mBAAlB;AAA2BC,EAAAA,OAAO,EAAPA,eAA3B;AAAoCC,EAAAA,QAAQ,EAARA,gBAApC;AAA8CC,EAAAA,SAAS,EAATA;AAA9C,C","sourcesContent":["import Bar from './bars/bar';\nimport Histogram from './bars/histogram';\nimport LineDot from './line/line-dot';\nimport LineCross from './line/line-cross';\nimport DotPlot from './plot/dot';\nimport LinePlot from './plot/line';\n\nexport default { Bar, Histogram, LineDot, DotPlot, LinePlot, LineCross };\n"],"file":"chart-types.js"}
1
+ {"version":3,"sources":["../src/chart-types.js"],"names":["Bar","Histogram","LineDot","DotPlot","LinePlot","LineCross"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe;AAAEA,EAAAA,GAAG,EAAHA,eAAF;AAAOC,EAAAA,SAAS,EAATA,qBAAP;AAAkBC,EAAAA,OAAO,EAAPA,mBAAlB;AAA2BC,EAAAA,OAAO,EAAPA,eAA3B;AAAoCC,EAAAA,QAAQ,EAARA,gBAApC;AAA8CC,EAAAA,SAAS,EAATA;AAA9C,C","sourcesContent":["import Bar from './bars/bar';\nimport Histogram from './bars/histogram';\nimport LineDot from './line/line-dot';\nimport LineCross from './line/line-cross';\nimport DotPlot from './plot/dot';\nimport LinePlot from './plot/line';\n\nexport default { Bar, Histogram, LineDot, DotPlot, LinePlot, LineCross };\n"],"file":"chart-types.js"}
package/lib/chart.js CHANGED
@@ -1,12 +1,30 @@
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
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = exports.Chart = void 0;
9
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
10
28
  var _react = _interopRequireDefault(require("react"));
11
29
 
12
30
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -33,71 +51,35 @@ var _toolMenu = _interopRequireDefault(require("./tool-menu"));
33
51
 
34
52
  var _chartTypes = _interopRequireDefault(require("./chart-types"));
35
53
 
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
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
41
-
42
- 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."); }
43
-
44
- 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); }
45
-
46
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
47
-
48
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
49
-
50
- 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; }
51
-
52
54
  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; }
53
55
 
54
- 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; }
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); } }
56
+ 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
57
 
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; }
58
+ 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
59
 
72
60
  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
61
 
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
62
  var log = (0, _debug["default"])('pie-lib:charts:chart');
79
63
 
80
64
  var Chart = /*#__PURE__*/function (_React$Component) {
81
- _inherits(Chart, _React$Component);
65
+ (0, _inherits2["default"])(Chart, _React$Component);
82
66
 
83
67
  var _super = _createSuper(Chart);
84
68
 
85
69
  function Chart() {
86
70
  var _this;
87
71
 
88
- _classCallCheck(this, Chart);
72
+ (0, _classCallCheck2["default"])(this, Chart);
89
73
 
90
74
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
91
75
  args[_key] = arguments[_key];
92
76
  }
93
77
 
94
78
  _this = _super.call.apply(_super, [this].concat(args));
95
-
96
- _defineProperty(_assertThisInitialized(_this), "state", {
79
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
97
80
  charts: [_chartTypes["default"].Bar(), _chartTypes["default"].Histogram(), _chartTypes["default"].LineDot(), _chartTypes["default"].LineCross(), _chartTypes["default"].DotPlot(), _chartTypes["default"].LinePlot()]
98
81
  });
99
-
100
- _defineProperty(_assertThisInitialized(_this), "getChart", function () {
82
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getChart", function () {
101
83
  var charts = _this.props.charts || _this.state.charts;
102
84
  var chartType = _this.props.chartType;
103
85
  var ChartComponent = null;
@@ -119,13 +101,11 @@ var Chart = /*#__PURE__*/function (_React$Component) {
119
101
  ChartComponent: ChartComponent
120
102
  };
121
103
  });
122
-
123
- _defineProperty(_assertThisInitialized(_this), "changeData", function (data) {
104
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeData", function (data) {
124
105
  var onDataChange = _this.props.onDataChange;
125
106
  onDataChange(data);
126
107
  });
127
-
128
- _defineProperty(_assertThisInitialized(_this), "changeCategory", function (index, newCategory) {
108
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCategory", function (index, newCategory) {
129
109
  var integerIndex = parseInt(index, 10);
130
110
 
131
111
  if (integerIndex >= 0) {
@@ -136,13 +116,12 @@ var Chart = /*#__PURE__*/function (_React$Component) {
136
116
  onDataChange(data);
137
117
  }
138
118
  });
139
-
140
- _defineProperty(_assertThisInitialized(_this), "addCategory", function (chartType, range) {
119
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addCategory", function (chartType, range) {
141
120
  var _this$props2 = _this.props,
142
121
  onDataChange = _this$props2.onDataChange,
143
122
  data = _this$props2.data,
144
123
  categoryDefaultLabel = _this$props2.categoryDefaultLabel;
145
- onDataChange([].concat(_toConsumableArray(data), [{
124
+ onDataChange([].concat((0, _toConsumableArray2["default"])(data), [{
146
125
  label: categoryDefaultLabel || 'New Bar',
147
126
  value: range.step,
148
127
  deletable: true,
@@ -150,8 +129,7 @@ var Chart = /*#__PURE__*/function (_React$Component) {
150
129
  interactive: true
151
130
  }]));
152
131
  });
153
-
154
- _defineProperty(_assertThisInitialized(_this), "getFilteredCategories", function () {
132
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getFilteredCategories", function () {
155
133
  var _this$props3 = _this.props,
156
134
  data = _this$props3.data,
157
135
  defineChart = _this$props3.defineChart;
@@ -161,11 +139,10 @@ var Chart = /*#__PURE__*/function (_React$Component) {
161
139
  });
162
140
  }) : [];
163
141
  });
164
-
165
142
  return _this;
166
143
  }
167
144
 
168
- _createClass(Chart, [{
145
+ (0, _createClass2["default"])(Chart, [{
169
146
  key: "render",
170
147
  value: function render() {
171
148
  var _this2 = this;
@@ -190,8 +167,7 @@ var Chart = /*#__PURE__*/function (_React$Component) {
190
167
  ChartComponent = _this$getChart.ChartComponent;
191
168
 
192
169
  var categories = this.getFilteredCategories();
193
- var labelFontSize = theme && theme.typography && theme.typography.fontSize || 14;
194
- var correctValues = (0, _utils.getDomainAndRangeByChartType)(domain, range, size, chartType, labelFontSize);
170
+ var correctValues = (0, _utils.getDomainAndRangeByChartType)(domain, range, chartType);
195
171
 
196
172
  var _getGridLinesAndAxisB = (0, _utils.getGridLinesAndAxisByChartType)(correctValues.range, chartType),
197
173
  verticalLines = _getGridLinesAndAxisB.verticalLines,
@@ -236,17 +212,17 @@ var Chart = /*#__PURE__*/function (_React$Component) {
236
212
  addCategory: function addCategory() {
237
213
  return _this2.addCategory(chartType, correctValues.range);
238
214
  }
239
- })), /*#__PURE__*/_react["default"].createElement(_plot.Root, _extends({
215
+ })), /*#__PURE__*/_react["default"].createElement(_plot.Root, (0, _extends2["default"])({
240
216
  title: title,
241
217
  classes: classes,
242
218
  rootRef: function rootRef(r) {
243
219
  return _this2.rootNode = r;
244
220
  }
245
- }, rootCommon), /*#__PURE__*/_react["default"].createElement(_grid["default"], _extends({}, common, {
221
+ }, rootCommon), /*#__PURE__*/_react["default"].createElement(_grid["default"], (0, _extends2["default"])({}, common, {
246
222
  xBand: xBand,
247
223
  rowTickValues: horizontalLines,
248
224
  columnTickValues: verticalLines
249
- })), /*#__PURE__*/_react["default"].createElement(_axes["default"], _extends({}, common, {
225
+ })), /*#__PURE__*/_react["default"].createElement(_axes["default"], (0, _extends2["default"])({}, common, {
250
226
  defineChart: defineChart,
251
227
  categories: categories,
252
228
  xBand: xBand,
@@ -256,25 +232,24 @@ var Chart = /*#__PURE__*/function (_React$Component) {
256
232
  top: top
257
233
  })), /*#__PURE__*/_react["default"].createElement("mask", {
258
234
  id: "myMask"
259
- }, /*#__PURE__*/_react["default"].createElement("rect", _extends({}, maskSize, {
235
+ }, /*#__PURE__*/_react["default"].createElement("rect", (0, _extends2["default"])({}, maskSize, {
260
236
  fill: "white"
261
237
  }))), /*#__PURE__*/_react["default"].createElement("g", {
262
238
  id: "marks",
263
239
  mask: "url('#myMask')"
264
- }, /*#__PURE__*/_react["default"].createElement(ChartComponent, _extends({}, common, {
240
+ }, /*#__PURE__*/_react["default"].createElement(ChartComponent, (0, _extends2["default"])({}, common, {
265
241
  data: categories,
242
+ defineChart: defineChart,
266
243
  onChange: this.changeData,
267
244
  onChangeCategory: this.changeCategory
268
245
  })))));
269
246
  }
270
247
  }]);
271
-
272
248
  return Chart;
273
249
  }(_react["default"].Component);
274
250
 
275
251
  exports.Chart = Chart;
276
-
277
- _defineProperty(Chart, "propTypes", {
252
+ (0, _defineProperty2["default"])(Chart, "propTypes", {
278
253
  classes: _propTypes["default"].object.isRequired,
279
254
  className: _propTypes["default"].string,
280
255
  chartType: _propTypes["default"].string.isRequired,
@@ -305,10 +280,10 @@ _defineProperty(Chart, "propTypes", {
305
280
  onDataChange: _propTypes["default"].func,
306
281
  addCategoryEnabled: _propTypes["default"].bool,
307
282
  categoryDefaultLabel: _propTypes["default"].string,
283
+ defineChart: _propTypes["default"].bool,
308
284
  theme: _propTypes["default"].object
309
285
  });
310
-
311
- _defineProperty(Chart, "defaultProps", {
286
+ (0, _defineProperty2["default"])(Chart, "defaultProps", {
312
287
  size: {
313
288
  width: 480,
314
289
  height: 480
package/lib/chart.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart.jsx"],"names":["log","Chart","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","props","state","chartType","ChartComponent","chart","find","type","Component","data","onDataChange","index","newCategory","integerIndex","parseInt","range","categoryDefaultLabel","label","value","step","deletable","editable","interactive","defineChart","map","d","classes","className","domain","size","title","addCategoryEnabled","theme","width","height","getChart","categories","getFilteredCategories","labelFontSize","typography","fontSize","correctValues","verticalLines","horizontalLines","leftAxis","common","graphProps","rootNode","maskSize","x","y","scale","xBand","bandWidth","bandwidth","barWidth","max","length","increaseHeight","top","rootCommon","controls","toolMenu","addCategory","r","changeData","changeCategory","React","PropTypes","object","isRequired","string","shape","number","min","axisLabel","arrayOf","labelStep","array","func","bool","styles","graphBox","transform","display","justifyContent","padding","spacing","unit","backgroundColor","color","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","root","overflow","svg","minHeight","withTheme"],"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 { Root, createGraphProps } from '@pie-lib/plot';\nimport cloneDeep from 'lodash/cloneDeep';\nimport ChartGrid from './grid';\nimport ChartAxes from './axes';\nimport debug from 'debug';\nimport { color } from '@pie-lib/render-ui';\nimport {\n dataToXBand,\n getDomainAndRangeByChartType,\n getGridLinesAndAxisByChartType,\n getTopPadding\n} from './utils';\nimport ToolMenu from './tool-menu';\nimport chartTypes from './chart-types';\n\nconst log = debug('pie-lib:charts:chart');\n\nexport class Chart extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n chartType: PropTypes.string.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n }),\n domain: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n axisLabel: PropTypes.string\n }),\n data: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.number })),\n range: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n labelStep: PropTypes.number,\n axisLabel: PropTypes.string\n }),\n charts: PropTypes.array,\n title: PropTypes.string,\n onDataChange: PropTypes.func,\n addCategoryEnabled: PropTypes.bool,\n categoryDefaultLabel: PropTypes.string,\n theme: PropTypes.object\n };\n\n static defaultProps = {\n size: {\n width: 480,\n height: 480\n }\n };\n\n state = {\n charts: [\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot()\n ]\n };\n\n getChart = () => {\n const charts = this.props.charts || this.state.charts;\n let { chartType } = this.props;\n let ChartComponent = null;\n let chart = null;\n\n if (chartType) {\n chart = charts && charts.find(chart => chart.type === chartType);\n ChartComponent = chart && chart.Component;\n } else {\n chart = charts && charts[0];\n ChartComponent = chart && chart.Component;\n chartType = chart && chart.type;\n }\n\n return {\n type: chartType,\n ChartComponent\n };\n };\n\n changeData = data => {\n const { onDataChange } = this.props;\n\n onDataChange(data);\n };\n\n changeCategory = (index, newCategory) => {\n const integerIndex = parseInt(index, 10);\n\n if (integerIndex >= 0) {\n const { data, onDataChange } = this.props;\n data[integerIndex] = {\n ...data[integerIndex],\n ...newCategory\n };\n\n onDataChange(data);\n }\n };\n\n addCategory = (chartType, range) => {\n const { onDataChange, data, categoryDefaultLabel } = this.props;\n\n onDataChange([\n ...data,\n {\n label: categoryDefaultLabel || 'New Bar',\n value: range.step,\n deletable: true,\n editable: true,\n interactive: true\n }\n ]);\n };\n\n getFilteredCategories = () => {\n const { data, defineChart } = this.props;\n\n return data\n ? data.map(d => ({\n ...d,\n deletable: defineChart || d.deletable\n }))\n : [];\n };\n\n render() {\n const {\n classes,\n className,\n domain,\n range,\n size,\n title,\n addCategoryEnabled,\n theme\n } = this.props;\n let { chartType } = this.props;\n\n const defineChart = this.props.defineChart || false;\n const { width, height } = size || {};\n\n const { ChartComponent } = this.getChart();\n const categories = this.getFilteredCategories();\n\n const labelFontSize = (theme && theme.typography && theme.typography.fontSize) || 14;\n const correctValues = getDomainAndRangeByChartType(\n domain,\n range,\n size,\n chartType,\n labelFontSize\n );\n\n const { verticalLines, horizontalLines, leftAxis } = getGridLinesAndAxisByChartType(\n correctValues.range,\n chartType\n );\n const common = {\n graphProps: createGraphProps(\n correctValues.domain,\n correctValues.range,\n size,\n () => this.rootNode\n )\n };\n\n log('[render] common:', common);\n\n const maskSize = { x: -10, y: -10, width: width + 20, height: height + 80 };\n const { scale } = common.graphProps;\n const xBand = dataToXBand(scale.x, categories, width, chartType);\n\n if (!ChartComponent) {\n return null;\n }\n\n const bandWidth = xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || scale.x(correctValues.domain.max) / categories.length;\n const increaseHeight = defineChart ? 80 : 0;\n\n // if there are many categories, we have to rotate their names in order to fit\n // and we have to add extra value on top of some items\n const top = getTopPadding(barWidth);\n const rootCommon = cloneDeep(common);\n rootCommon.graphProps.size.height += top + increaseHeight;\n\n return (\n <div className={classNames(classes.class, className)}>\n <div className={classes.controls}>\n <ToolMenu\n className={classes.toolMenu}\n disabled={!addCategoryEnabled}\n addCategory={() => this.addCategory(chartType, correctValues.range)}\n />\n </div>\n <Root title={title} classes={classes} rootRef={r => (this.rootNode = r)} {...rootCommon}>\n <ChartGrid\n {...common}\n xBand={xBand}\n rowTickValues={horizontalLines}\n columnTickValues={verticalLines}\n />\n <ChartAxes\n {...common}\n defineChart={defineChart}\n categories={categories}\n xBand={xBand}\n leftAxis={leftAxis}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n top={top}\n />\n <mask id=\"myMask\">\n <rect {...maskSize} fill=\"white\" />\n </mask>\n <g id=\"marks\" mask=\"url('#myMask')\">\n <ChartComponent\n {...common}\n data={categories}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n />\n </g>\n </Root>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphBox: {\n transform: 'translate(60px, 35px)'\n },\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\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 },\n root: {\n overflow: 'hidden'\n },\n svg: {\n overflow: 'visible'\n },\n toolMenu: {\n minHeight: '36px'\n }\n});\n\nexport default withStyles(styles, { withTheme: true })(Chart);\n"],"file":"chart.js"}
1
+ {"version":3,"sources":["../src/chart.jsx"],"names":["log","Chart","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","props","state","chartType","ChartComponent","chart","find","type","Component","data","onDataChange","index","newCategory","integerIndex","parseInt","range","categoryDefaultLabel","label","value","step","deletable","editable","interactive","defineChart","map","d","classes","className","domain","size","title","addCategoryEnabled","theme","width","height","getChart","categories","getFilteredCategories","correctValues","verticalLines","horizontalLines","leftAxis","common","graphProps","rootNode","maskSize","x","y","scale","xBand","bandWidth","bandwidth","barWidth","max","length","increaseHeight","top","rootCommon","controls","toolMenu","addCategory","r","changeData","changeCategory","React","PropTypes","object","isRequired","string","shape","number","min","axisLabel","arrayOf","labelStep","array","func","bool","styles","graphBox","transform","display","justifyContent","padding","spacing","unit","backgroundColor","color","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","root","overflow","svg","minHeight","withTheme"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,sBAAN,CAAZ;;IAEaC,K;;;;;;;;;;;;;;;8FAwCH;AACNC,MAAAA,MAAM,EAAE,CACNC,uBAAWC,GAAX,EADM,EAEND,uBAAWE,SAAX,EAFM,EAGNF,uBAAWG,OAAX,EAHM,EAINH,uBAAWI,SAAX,EAJM,EAKNJ,uBAAWK,OAAX,EALM,EAMNL,uBAAWM,QAAX,EANM;AADF,K;iGAWG,YAAM;AACf,UAAMP,MAAM,GAAG,MAAKQ,KAAL,CAAWR,MAAX,IAAqB,MAAKS,KAAL,CAAWT,MAA/C;AACA,UAAMU,SAAN,GAAoB,MAAKF,KAAzB,CAAME,SAAN;AACA,UAAIC,cAAc,GAAG,IAArB;AACA,UAAIC,KAAK,GAAG,IAAZ;;AAEA,UAAIF,SAAJ,EAAe;AACbE,QAAAA,KAAK,GAAGZ,MAAM,IAAIA,MAAM,CAACa,IAAP,CAAY,UAAAD,KAAK;AAAA,iBAAIA,KAAK,CAACE,IAAN,KAAeJ,SAAnB;AAAA,SAAjB,CAAlB;AACAC,QAAAA,cAAc,GAAGC,KAAK,IAAIA,KAAK,CAACG,SAAhC;AACD,OAHD,MAGO;AACLH,QAAAA,KAAK,GAAGZ,MAAM,IAAIA,MAAM,CAAC,CAAD,CAAxB;AACAW,QAAAA,cAAc,GAAGC,KAAK,IAAIA,KAAK,CAACG,SAAhC;AACAL,QAAAA,SAAS,GAAGE,KAAK,IAAIA,KAAK,CAACE,IAA3B;AACD;;AAED,aAAO;AACLA,QAAAA,IAAI,EAAEJ,SADD;AAELC,QAAAA,cAAc,EAAdA;AAFK,OAAP;AAID,K;mGAEY,UAAAK,IAAI,EAAI;AACnB,UAAQC,YAAR,GAAyB,MAAKT,KAA9B,CAAQS,YAAR;AAEAA,MAAAA,YAAY,CAACD,IAAD,CAAZ;AACD,K;uGAEgB,UAACE,KAAD,EAAQC,WAAR,EAAwB;AACvC,UAAMC,YAAY,GAAGC,QAAQ,CAACH,KAAD,EAAQ,EAAR,CAA7B;;AAEA,UAAIE,YAAY,IAAI,CAApB,EAAuB;AACrB,0BAA+B,MAAKZ,KAApC;AAAA,YAAQQ,IAAR,eAAQA,IAAR;AAAA,YAAcC,YAAd,eAAcA,YAAd;AACAD,QAAAA,IAAI,CAACI,YAAD,CAAJ,mCACKJ,IAAI,CAACI,YAAD,CADT,GAEKD,WAFL;AAKAF,QAAAA,YAAY,CAACD,IAAD,CAAZ;AACD;AACF,K;oGAEa,UAACN,SAAD,EAAYY,KAAZ,EAAsB;AAClC,yBAAqD,MAAKd,KAA1D;AAAA,UAAQS,YAAR,gBAAQA,YAAR;AAAA,UAAsBD,IAAtB,gBAAsBA,IAAtB;AAAA,UAA4BO,oBAA5B,gBAA4BA,oBAA5B;AAEAN,MAAAA,YAAY,+CACPD,IADO,IAEV;AACEQ,QAAAA,KAAK,EAAED,oBAAoB,IAAI,SADjC;AAEEE,QAAAA,KAAK,EAAEH,KAAK,CAACI,IAFf;AAGEC,QAAAA,SAAS,EAAE,IAHb;AAIEC,QAAAA,QAAQ,EAAE,IAJZ;AAKEC,QAAAA,WAAW,EAAE;AALf,OAFU,GAAZ;AAUD,K;8GAEuB,YAAM;AAC5B,yBAA8B,MAAKrB,KAAnC;AAAA,UAAQQ,IAAR,gBAAQA,IAAR;AAAA,UAAcc,WAAd,gBAAcA,WAAd;AAEA,aAAOd,IAAI,GACPA,IAAI,CAACe,GAAL,CAAS,UAAAC,CAAC;AAAA,+CACLA,CADK;AAERL,UAAAA,SAAS,EAAEG,WAAW,IAAIE,CAAC,CAACL;AAFpB;AAAA,OAAV,CADO,GAKP,EALJ;AAMD,K;;;;;;WAED,kBAAS;AAAA;;AACP,yBASI,KAAKnB,KATT;AAAA,UACEyB,OADF,gBACEA,OADF;AAAA,UAEEC,SAFF,gBAEEA,SAFF;AAAA,UAGEC,MAHF,gBAGEA,MAHF;AAAA,UAIEb,KAJF,gBAIEA,KAJF;AAAA,UAKEc,IALF,gBAKEA,IALF;AAAA,UAMEC,KANF,gBAMEA,KANF;AAAA,UAOEC,kBAPF,gBAOEA,kBAPF;AAAA,UAQEC,KARF,gBAQEA,KARF;AAUA,UAAM7B,SAAN,GAAoB,KAAKF,KAAzB,CAAME,SAAN;AAEA,UAAMoB,WAAW,GAAG,KAAKtB,KAAL,CAAWsB,WAAX,IAA0B,KAA9C;;AACA,iBAA0BM,IAAI,IAAI,EAAlC;AAAA,UAAQI,KAAR,QAAQA,KAAR;AAAA,UAAeC,MAAf,QAAeA,MAAf;;AAEA,2BAA2B,KAAKC,QAAL,EAA3B;AAAA,UAAQ/B,cAAR,kBAAQA,cAAR;;AACA,UAAMgC,UAAU,GAAG,KAAKC,qBAAL,EAAnB;AAEA,UAAMC,aAAa,GAAG,yCAA6BV,MAA7B,EAAqCb,KAArC,EAA4CZ,SAA5C,CAAtB;;AAEA,kCAAqD,2CACnDmC,aAAa,CAACvB,KADqC,EAEnDZ,SAFmD,CAArD;AAAA,UAAQoC,aAAR,yBAAQA,aAAR;AAAA,UAAuBC,eAAvB,yBAAuBA,eAAvB;AAAA,UAAwCC,QAAxC,yBAAwCA,QAAxC;;AAIA,UAAMC,MAAM,GAAG;AACbC,QAAAA,UAAU,EAAE,4BACVL,aAAa,CAACV,MADJ,EAEVU,aAAa,CAACvB,KAFJ,EAGVc,IAHU,EAIV;AAAA,iBAAM,MAAI,CAACe,QAAX;AAAA,SAJU;AADC,OAAf;AASArD,MAAAA,GAAG,CAAC,kBAAD,EAAqBmD,MAArB,CAAH;AAEA,UAAMG,QAAQ,GAAG;AAAEC,QAAAA,CAAC,EAAE,CAAC,EAAN;AAAUC,QAAAA,CAAC,EAAE,CAAC,EAAd;AAAkBd,QAAAA,KAAK,EAAEA,KAAK,GAAG,EAAjC;AAAqCC,QAAAA,MAAM,EAAEA,MAAM,GAAG;AAAtD,OAAjB;AACA,UAAQc,KAAR,GAAkBN,MAAM,CAACC,UAAzB,CAAQK,KAAR;AACA,UAAMC,KAAK,GAAG,wBAAYD,KAAK,CAACF,CAAlB,EAAqBV,UAArB,EAAiCH,KAAjC,EAAwC9B,SAAxC,CAAd;;AAEA,UAAI,CAACC,cAAL,EAAqB;AACnB,eAAO,IAAP;AACD;;AAED,UAAM8C,SAAS,GAAGD,KAAK,CAACE,SAAN,EAAlB,CA5CO,CA6CP;;AACA,UAAMC,QAAQ,GAAGF,SAAS,IAAIF,KAAK,CAACF,CAAN,CAAQR,aAAa,CAACV,MAAd,CAAqByB,GAA7B,IAAoCjB,UAAU,CAACkB,MAA7E;AACA,UAAMC,cAAc,GAAGhC,WAAW,GAAG,EAAH,GAAQ,CAA1C,CA/CO,CAiDP;AACA;;AACA,UAAMiC,GAAG,GAAG,0BAAcJ,QAAd,CAAZ;AACA,UAAMK,UAAU,GAAG,2BAAUf,MAAV,CAAnB;AACAe,MAAAA,UAAU,CAACd,UAAX,CAAsBd,IAAtB,CAA2BK,MAA3B,IAAqCsB,GAAG,GAAGD,cAA3C;AAEA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAW7B,OAAO,SAAlB,EAA0BC,SAA1B;AAAhB,sBACE;AAAK,QAAA,SAAS,EAAED,OAAO,CAACgC;AAAxB,sBACE,gCAAC,oBAAD;AACE,QAAA,SAAS,EAAEhC,OAAO,CAACiC,QADrB;AAEE,QAAA,QAAQ,EAAE,CAAC5B,kBAFb;AAGE,QAAA,WAAW,EAAE;AAAA,iBAAM,MAAI,CAAC6B,WAAL,CAAiBzD,SAAjB,EAA4BmC,aAAa,CAACvB,KAA1C,CAAN;AAAA;AAHf,QADF,CADF,eAQE,gCAAC,UAAD;AAAM,QAAA,KAAK,EAAEe,KAAb;AAAoB,QAAA,OAAO,EAAEJ,OAA7B;AAAsC,QAAA,OAAO,EAAE,iBAAAmC,CAAC;AAAA,iBAAK,MAAI,CAACjB,QAAL,GAAgBiB,CAArB;AAAA;AAAhD,SAA6EJ,UAA7E,gBACE,gCAAC,gBAAD,gCACMf,MADN;AAEE,QAAA,KAAK,EAAEO,KAFT;AAGE,QAAA,aAAa,EAAET,eAHjB;AAIE,QAAA,gBAAgB,EAAED;AAJpB,SADF,eAOE,gCAAC,gBAAD,gCACMG,MADN;AAEE,QAAA,WAAW,EAAEnB,WAFf;AAGE,QAAA,UAAU,EAAEa,UAHd;AAIE,QAAA,KAAK,EAAEa,KAJT;AAKE,QAAA,QAAQ,EAAER,QALZ;AAME,QAAA,QAAQ,EAAE,KAAKqB,UANjB;AAOE,QAAA,gBAAgB,EAAE,KAAKC,cAPzB;AAQE,QAAA,GAAG,EAAEP;AARP,SAPF,eAiBE;AAAM,QAAA,EAAE,EAAC;AAAT,sBACE,sEAAUX,QAAV;AAAoB,QAAA,IAAI,EAAC;AAAzB,SADF,CAjBF,eAoBE;AAAG,QAAA,EAAE,EAAC,OAAN;AAAc,QAAA,IAAI,EAAC;AAAnB,sBACE,gCAAC,cAAD,gCACMH,MADN;AAEE,QAAA,IAAI,EAAEN,UAFR;AAGE,QAAA,WAAW,EAAEb,WAHf;AAIE,QAAA,QAAQ,EAAE,KAAKuC,UAJjB;AAKE,QAAA,gBAAgB,EAAE,KAAKC;AALzB,SADF,CApBF,CARF,CADF;AAyCD;;;EAtNwBC,kBAAMxD,S;;;iCAApBhB,K,eACQ;AACjBkC,EAAAA,OAAO,EAAEuC,sBAAUC,MAAV,CAAiBC,UADT;AAEjBxC,EAAAA,SAAS,EAAEsC,sBAAUG,MAFJ;AAGjBjE,EAAAA,SAAS,EAAE8D,sBAAUG,MAAV,CAAiBD,UAHX;AAIjBtC,EAAAA,IAAI,EAAEoC,sBAAUI,KAAV,CAAgB;AACpBpC,IAAAA,KAAK,EAAEgC,sBAAUK,MADG;AAEpBpC,IAAAA,MAAM,EAAE+B,sBAAUK;AAFE,GAAhB,CAJW;AAQjB1C,EAAAA,MAAM,EAAEqC,sBAAUI,KAAV,CAAgB;AACtBpD,IAAAA,KAAK,EAAEgD,sBAAUG,MADK;AAEtBG,IAAAA,GAAG,EAAEN,sBAAUK,MAFO;AAGtBjB,IAAAA,GAAG,EAAEY,sBAAUK,MAHO;AAItBE,IAAAA,SAAS,EAAEP,sBAAUG;AAJC,GAAhB,CARS;AAcjB3D,EAAAA,IAAI,EAAEwD,sBAAUQ,OAAV,CAAkBR,sBAAUI,KAAV,CAAgB;AAAEpD,IAAAA,KAAK,EAAEgD,sBAAUG,MAAnB;AAA2BlD,IAAAA,KAAK,EAAE+C,sBAAUK;AAA5C,GAAhB,CAAlB,CAdW;AAejBvD,EAAAA,KAAK,EAAEkD,sBAAUI,KAAV,CAAgB;AACrBpD,IAAAA,KAAK,EAAEgD,sBAAUG,MADI;AAErBG,IAAAA,GAAG,EAAEN,sBAAUK,MAFM;AAGrBjB,IAAAA,GAAG,EAAEY,sBAAUK,MAHM;AAIrBnD,IAAAA,IAAI,EAAE8C,sBAAUK,MAJK;AAKrBI,IAAAA,SAAS,EAAET,sBAAUK,MALA;AAMrBE,IAAAA,SAAS,EAAEP,sBAAUG;AANA,GAAhB,CAfU;AAuBjB3E,EAAAA,MAAM,EAAEwE,sBAAUU,KAvBD;AAwBjB7C,EAAAA,KAAK,EAAEmC,sBAAUG,MAxBA;AAyBjB1D,EAAAA,YAAY,EAAEuD,sBAAUW,IAzBP;AA0BjB7C,EAAAA,kBAAkB,EAAEkC,sBAAUY,IA1Bb;AA2BjB7D,EAAAA,oBAAoB,EAAEiD,sBAAUG,MA3Bf;AA4BjB7C,EAAAA,WAAW,EAAE0C,sBAAUY,IA5BN;AA6BjB7C,EAAAA,KAAK,EAAEiC,sBAAUC;AA7BA,C;iCADR1E,K,kBAiCW;AACpBqC,EAAAA,IAAI,EAAE;AACJI,IAAAA,KAAK,EAAE,GADH;AAEJC,IAAAA,MAAM,EAAE;AAFJ;AADc,C;;AAwLxB,IAAM4C,MAAM,GAAG,SAATA,MAAS,CAAA9C,KAAK;AAAA,SAAK;AACvB+C,IAAAA,QAAQ,EAAE;AACRC,MAAAA,SAAS,EAAE;AADH,KADa;AAIvBtB,IAAAA,QAAQ,EAAE;AACRzB,MAAAA,KAAK,EAAE,SADC;AAERgD,MAAAA,OAAO,EAAE,MAFD;AAGRC,MAAAA,cAAc,EAAE,eAHR;AAIRC,MAAAA,OAAO,EAAEnD,KAAK,CAACoD,OAAN,CAAcC,IAJf;AAKRC,MAAAA,eAAe,EAAEC,gBAAMC,YAAN,EALT;AAMRC,MAAAA,SAAS,sBAAeF,gBAAMG,WAAN,EAAf,CAND;AAORC,MAAAA,YAAY,sBAAeJ,gBAAMG,WAAN,EAAf,CAPJ;AAQRE,MAAAA,UAAU,sBAAeL,gBAAMG,WAAN,EAAf,CARF;AASRG,MAAAA,WAAW,sBAAeN,gBAAMG,WAAN,EAAf;AATH,KAJa;AAevBI,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE;AADN,KAfiB;AAkBvBC,IAAAA,GAAG,EAAE;AACHD,MAAAA,QAAQ,EAAE;AADP,KAlBkB;AAqBvBpC,IAAAA,QAAQ,EAAE;AACRsC,MAAAA,SAAS,EAAE;AADH;AArBa,GAAL;AAAA,CAApB;;eA0Be,wBAAWnB,MAAX,EAAmB;AAAEoB,EAAAA,SAAS,EAAE;AAAb,CAAnB,EAAwC1G,KAAxC,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { Root, createGraphProps } from '@pie-lib/plot';\nimport cloneDeep from 'lodash/cloneDeep';\nimport ChartGrid from './grid';\nimport ChartAxes from './axes';\nimport debug from 'debug';\nimport { color } from '@pie-lib/render-ui';\nimport {\n dataToXBand,\n getDomainAndRangeByChartType,\n getGridLinesAndAxisByChartType,\n getTopPadding\n} from './utils';\nimport ToolMenu from './tool-menu';\nimport chartTypes from './chart-types';\n\nconst log = debug('pie-lib:charts:chart');\n\nexport class Chart extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n chartType: PropTypes.string.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n }),\n domain: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n axisLabel: PropTypes.string\n }),\n data: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.number })),\n range: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n labelStep: PropTypes.number,\n axisLabel: PropTypes.string\n }),\n charts: PropTypes.array,\n title: PropTypes.string,\n onDataChange: PropTypes.func,\n addCategoryEnabled: PropTypes.bool,\n categoryDefaultLabel: PropTypes.string,\n defineChart: PropTypes.bool,\n theme: PropTypes.object\n };\n\n static defaultProps = {\n size: {\n width: 480,\n height: 480\n }\n };\n\n state = {\n charts: [\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot()\n ]\n };\n\n getChart = () => {\n const charts = this.props.charts || this.state.charts;\n let { chartType } = this.props;\n let ChartComponent = null;\n let chart = null;\n\n if (chartType) {\n chart = charts && charts.find(chart => chart.type === chartType);\n ChartComponent = chart && chart.Component;\n } else {\n chart = charts && charts[0];\n ChartComponent = chart && chart.Component;\n chartType = chart && chart.type;\n }\n\n return {\n type: chartType,\n ChartComponent\n };\n };\n\n changeData = data => {\n const { onDataChange } = this.props;\n\n onDataChange(data);\n };\n\n changeCategory = (index, newCategory) => {\n const integerIndex = parseInt(index, 10);\n\n if (integerIndex >= 0) {\n const { data, onDataChange } = this.props;\n data[integerIndex] = {\n ...data[integerIndex],\n ...newCategory\n };\n\n onDataChange(data);\n }\n };\n\n addCategory = (chartType, range) => {\n const { onDataChange, data, categoryDefaultLabel } = this.props;\n\n onDataChange([\n ...data,\n {\n label: categoryDefaultLabel || 'New Bar',\n value: range.step,\n deletable: true,\n editable: true,\n interactive: true\n }\n ]);\n };\n\n getFilteredCategories = () => {\n const { data, defineChart } = this.props;\n\n return data\n ? data.map(d => ({\n ...d,\n deletable: defineChart || d.deletable\n }))\n : [];\n };\n\n render() {\n const {\n classes,\n className,\n domain,\n range,\n size,\n title,\n addCategoryEnabled,\n theme\n } = this.props;\n let { chartType } = this.props;\n\n const defineChart = this.props.defineChart || false;\n const { width, height } = size || {};\n\n const { ChartComponent } = this.getChart();\n const categories = this.getFilteredCategories();\n\n const correctValues = getDomainAndRangeByChartType(domain, range, chartType);\n\n const { verticalLines, horizontalLines, leftAxis } = getGridLinesAndAxisByChartType(\n correctValues.range,\n chartType\n );\n const common = {\n graphProps: createGraphProps(\n correctValues.domain,\n correctValues.range,\n size,\n () => this.rootNode\n )\n };\n\n log('[render] common:', common);\n\n const maskSize = { x: -10, y: -10, width: width + 20, height: height + 80 };\n const { scale } = common.graphProps;\n const xBand = dataToXBand(scale.x, categories, width, chartType);\n\n if (!ChartComponent) {\n return null;\n }\n\n const bandWidth = xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || scale.x(correctValues.domain.max) / categories.length;\n const increaseHeight = defineChart ? 80 : 0;\n\n // if there are many categories, we have to rotate their names in order to fit\n // and we have to add extra value on top of some items\n const top = getTopPadding(barWidth);\n const rootCommon = cloneDeep(common);\n rootCommon.graphProps.size.height += top + increaseHeight;\n\n return (\n <div className={classNames(classes.class, className)}>\n <div className={classes.controls}>\n <ToolMenu\n className={classes.toolMenu}\n disabled={!addCategoryEnabled}\n addCategory={() => this.addCategory(chartType, correctValues.range)}\n />\n </div>\n <Root title={title} classes={classes} rootRef={r => (this.rootNode = r)} {...rootCommon}>\n <ChartGrid\n {...common}\n xBand={xBand}\n rowTickValues={horizontalLines}\n columnTickValues={verticalLines}\n />\n <ChartAxes\n {...common}\n defineChart={defineChart}\n categories={categories}\n xBand={xBand}\n leftAxis={leftAxis}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n top={top}\n />\n <mask id=\"myMask\">\n <rect {...maskSize} fill=\"white\" />\n </mask>\n <g id=\"marks\" mask=\"url('#myMask')\">\n <ChartComponent\n {...common}\n data={categories}\n defineChart={defineChart}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n />\n </g>\n </Root>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphBox: {\n transform: 'translate(60px, 35px)'\n },\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\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 },\n root: {\n overflow: 'hidden'\n },\n svg: {\n overflow: 'visible'\n },\n toolMenu: {\n minHeight: '36px'\n }\n});\n\nexport default withStyles(styles, { withTheme: true })(Chart);\n"],"file":"chart.js"}
@@ -1,70 +1,59 @@
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
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = exports.RawDragHandle = exports.DragHandle = exports.D = void 0;
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
- var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
13
 
14
- var _plot = require("@pie-lib/plot");
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
15
 
16
- var _index = require("@material-ui/core/styles/index");
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
17
 
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
19
 
20
- var _renderUi = require("@pie-lib/render-ui");
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
21
 
22
- var _styles = require("./styles");
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
23
 
24
- var _excluded = ["x", "y", "width", "graphProps", "classes", "className", "interactive", "correctness"];
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
-
28
- 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); }
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
25
 
30
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
-
32
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
26
+ var _react = _interopRequireDefault(require("react"));
33
27
 
34
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
28
+ var _classnames = _interopRequireDefault(require("classnames"));
35
29
 
36
- 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); } }
30
+ var _plot = require("@pie-lib/plot");
37
31
 
38
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
32
+ var _index = require("@material-ui/core/styles/index");
39
33
 
40
- 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); }
34
+ var _propTypes = _interopRequireDefault(require("prop-types"));
41
35
 
42
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
36
+ var _renderUi = require("@pie-lib/render-ui");
43
37
 
44
- 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); }; }
38
+ var _styles = require("./styles");
45
39
 
46
- 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); }
40
+ var _excluded = ["x", "y", "width", "graphProps", "classes", "className", "interactive", "correctness"];
47
41
 
48
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
42
+ 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); }; }
49
43
 
50
44
  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; } }
51
45
 
52
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
53
-
54
- 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; }
55
-
56
46
  var RawDragHandle = /*#__PURE__*/function (_React$Component) {
57
- _inherits(RawDragHandle, _React$Component);
47
+ (0, _inherits2["default"])(RawDragHandle, _React$Component);
58
48
 
59
49
  var _super = _createSuper(RawDragHandle);
60
50
 
61
51
  function RawDragHandle() {
62
- _classCallCheck(this, RawDragHandle);
63
-
52
+ (0, _classCallCheck2["default"])(this, RawDragHandle);
64
53
  return _super.apply(this, arguments);
65
54
  }
66
55
 
67
- _createClass(RawDragHandle, [{
56
+ (0, _createClass2["default"])(RawDragHandle, [{
68
57
  key: "render",
69
58
  value: function render() {
70
59
  var _this$props = this.props,
@@ -76,8 +65,7 @@ var RawDragHandle = /*#__PURE__*/function (_React$Component) {
76
65
  className = _this$props.className,
77
66
  interactive = _this$props.interactive,
78
67
  correctness = _this$props.correctness,
79
- rest = _objectWithoutProperties(_this$props, _excluded);
80
-
68
+ rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
81
69
  var scale = graphProps.scale;
82
70
  return /*#__PURE__*/_react["default"].createElement("svg", {
83
71
  x: x,
@@ -85,27 +73,25 @@ var RawDragHandle = /*#__PURE__*/function (_React$Component) {
85
73
  width: width,
86
74
  overflow: "visible",
87
75
  className: (0, _classnames["default"])(classes.handleContainer, className, !interactive && 'non-interactive', interactive && correctness && correctness.value)
88
- }, /*#__PURE__*/_react["default"].createElement("rect", _extends({
76
+ }, /*#__PURE__*/_react["default"].createElement("rect", (0, _extends2["default"])({
89
77
  y: -10,
90
78
  width: width,
91
79
  className: (0, _classnames["default"])(classes.transparentHandle, className)
92
- }, rest)), /*#__PURE__*/_react["default"].createElement("rect", _extends({
80
+ }, rest)), /*#__PURE__*/_react["default"].createElement("rect", (0, _extends2["default"])({
93
81
  width: width,
94
82
  className: (0, _classnames["default"])(classes.handle, 'handle', className, !interactive && 'non-interactive', interactive && correctness && correctness.value)
95
- }, rest)), /*#__PURE__*/_react["default"].createElement("rect", _extends({
83
+ }, rest)), /*#__PURE__*/_react["default"].createElement("rect", (0, _extends2["default"])({
96
84
  y: 10,
97
85
  width: width,
98
86
  className: (0, _classnames["default"])(classes.transparentHandle, className)
99
87
  }, rest)));
100
88
  }
101
89
  }]);
102
-
103
90
  return RawDragHandle;
104
91
  }(_react["default"].Component);
105
92
 
106
93
  exports.RawDragHandle = RawDragHandle;
107
-
108
- _defineProperty(RawDragHandle, "propTypes", {
94
+ (0, _defineProperty2["default"])(RawDragHandle, "propTypes", {
109
95
  x: _propTypes["default"].number.isRequired,
110
96
  y: _propTypes["default"].number.isRequired,
111
97
  width: _propTypes["default"].number,
@@ -118,7 +104,6 @@ _defineProperty(RawDragHandle, "propTypes", {
118
104
  label: _propTypes["default"].string
119
105
  })
120
106
  });
121
-
122
107
  var DragHandle = (0, _index.withStyles)(function (theme) {
123
108
  return {
124
109
  handle: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/drag-handle.jsx"],"names":["RawDragHandle","props","x","y","width","graphProps","classes","className","interactive","correctness","rest","scale","handleContainer","value","transparentHandle","handle","React","Component","PropTypes","number","isRequired","types","GraphPropsType","object","string","bool","shape","label","DragHandle","theme","height","fill","color","secondary","transition","secondaryDark","D","axis","fromDelta","delta","newPoint","utils","point","add","bounds","domain","range","area","left","top","bottom","right","anchorPoint"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,a;;;;;;;;;;;;;WAcX,kBAAS;AACP,wBAUI,KAAKC,KAVT;AAAA,UACEC,CADF,eACEA,CADF;AAAA,UAEEC,CAFF,eAEEA,CAFF;AAAA,UAGEC,KAHF,eAGEA,KAHF;AAAA,UAIEC,UAJF,eAIEA,UAJF;AAAA,UAKEC,OALF,eAKEA,OALF;AAAA,UAMEC,SANF,eAMEA,SANF;AAAA,UAOEC,WAPF,eAOEA,WAPF;AAAA,UAQEC,WARF,eAQEA,WARF;AAAA,UASKC,IATL;;AAWA,UAAQC,KAAR,GAAkBN,UAAlB,CAAQM,KAAR;AACA,0BACE;AACE,QAAA,CAAC,EAAET,CADL;AAEE,QAAA,CAAC,EAAES,KAAK,CAACR,CAAN,CAAQA,CAAR,IAAa,EAFlB;AAGE,QAAA,KAAK,EAAEC,KAHT;AAIE,QAAA,QAAQ,EAAC,SAJX;AAKE,QAAA,SAAS,EAAE,4BACTE,OAAO,CAACM,eADC,EAETL,SAFS,EAGT,CAACC,WAAD,IAAgB,iBAHP,EAITA,WAAW,IAAIC,WAAf,IAA8BA,WAAW,CAACI,KAJjC;AALb,sBAYE;AACE,QAAA,CAAC,EAAE,CAAC,EADN;AAEE,QAAA,KAAK,EAAET,KAFT;AAGE,QAAA,SAAS,EAAE,4BAAWE,OAAO,CAACQ,iBAAnB,EAAsCP,SAAtC;AAHb,SAIMG,IAJN,EAZF,eAkBE;AACE,QAAA,KAAK,EAAEN,KADT;AAEE,QAAA,SAAS,EAAE,4BACTE,OAAO,CAACS,MADC,EAET,QAFS,EAGTR,SAHS,EAIT,CAACC,WAAD,IAAgB,iBAJP,EAKTA,WAAW,IAAIC,WAAf,IAA8BA,WAAW,CAACI,KALjC;AAFb,SASMH,IATN,EAlBF,eA6BE;AACE,QAAA,CAAC,EAAE,EADL;AAEE,QAAA,KAAK,EAAEN,KAFT;AAGE,QAAA,SAAS,EAAE,4BAAWE,OAAO,CAACQ,iBAAnB,EAAsCP,SAAtC;AAHb,SAIMG,IAJN,EA7BF,CADF;AAsCD;;;;EAjEgCM,kBAAMC,S;;;;gBAA5BjB,a,eACQ;AACjBE,EAAAA,CAAC,EAAEgB,sBAAUC,MAAV,CAAiBC,UADH;AAEjBjB,EAAAA,CAAC,EAAEe,sBAAUC,MAAV,CAAiBC,UAFH;AAGjBhB,EAAAA,KAAK,EAAEc,sBAAUC,MAHA;AAIjBd,EAAAA,UAAU,EAAEgB,YAAMC,cAAN,CAAqBF,UAJhB;AAKjBd,EAAAA,OAAO,EAAEY,sBAAUK,MAAV,CAAiBH,UALT;AAMjBb,EAAAA,SAAS,EAAEW,sBAAUM,MANJ;AAOjBhB,EAAAA,WAAW,EAAEU,sBAAUO,IAPN;AAQjBhB,EAAAA,WAAW,EAAES,sBAAUQ,KAAV,CAAgB;AAC3Bb,IAAAA,KAAK,EAAEK,sBAAUM,MADU;AAE3BG,IAAAA,KAAK,EAAET,sBAAUM;AAFU,GAAhB;AARI,C;;AAmEd,IAAMI,UAAU,GAAG,uBAAW,UAAAC,KAAK;AAAA,SAAK;AAC7Cd,IAAAA,MAAM,EAAE;AACNe,MAAAA,MAAM,EAAE,MADF;AAENC,MAAAA,IAAI,EAAEC,gBAAMC,SAAN,EAFA;AAGNC,MAAAA,UAAU,EAAE,wCAHN;AAIN,mBAAa,qBAAQ,MAAR,CAJP;AAKN,qBAAe,uBAAU,MAAV,CALT;AAMN,2BAAqB,sBAAS,MAAT;AANf,KADqC;AAS7CpB,IAAAA,iBAAiB,EAAE;AACjBgB,MAAAA,MAAM,EAAE,MADS;AAEjBC,MAAAA,IAAI,EAAE;AAFW,KAT0B;AAa7CnB,IAAAA,eAAe,EAAE;AACfkB,MAAAA,MAAM,EAAE,EADO;AAEf,iBAAW;AACT,qBAAa;AACXC,UAAAA,IAAI,EAAEC,gBAAMG,aAAN,EADK;AAEXL,UAAAA,MAAM,EAAE;AAFG;AADJ,OAFI;AAQf,2BAAqB,sBAAS,MAAT,CARN;AASf,qBAAe,uBAAU,MAAV,CATA;AAUf,mBAAa,qBAAQ,MAAR;AAVE;AAb4B,GAAL;AAAA,CAAhB,EAyBtB9B,aAzBsB,CAAnB;;AA2BA,IAAMoC,CAAC,GAAG,yBAAc;AAC7BC,EAAAA,IAAI,EAAE,GADuB;AAE7BC,EAAAA,SAAS,EAAE,mBAACrC,KAAD,EAAQsC,KAAR,EAAkB;AAC3B;AACAA,IAAAA,KAAK,CAACrC,CAAN,GAAU,CAAV;;AACA,QAAMsC,QAAQ,GAAGC,YAAMC,KAAN,CAAYzC,KAAZ,EAAmB0C,GAAnB,CAAuBF,YAAMC,KAAN,CAAYH,KAAZ,CAAvB,CAAjB;;AACA,WAAOC,QAAQ,CAACrC,CAAhB;AACD,GAP4B;AAQ7ByC,EAAAA,MAAM,EAAE,gBAAC3C,KAAD,QAA8B;AAAA,QAApB4C,MAAoB,QAApBA,MAAoB;AAAA,QAAZC,KAAY,QAAZA,KAAY;AACpC,QAAMC,IAAI,GAAG;AAAEC,MAAAA,IAAI,EAAE,CAAR;AAAWC,MAAAA,GAAG,EAAEhD,KAAK,CAACE,CAAtB;AAAyB+C,MAAAA,MAAM,EAAEjD,KAAK,CAACE,CAAvC;AAA0CgD,MAAAA,KAAK,EAAE;AAAjD,KAAb;AACA,WAAOV,YAAMG,MAAN,CAAaG,IAAb,EAAmBF,MAAnB,EAA2BC,KAA3B,CAAP;AACD,GAX4B;AAY7BM,EAAAA,WAAW,EAAE,qBAAAnD,KAAK,EAAI;AACpB,WAAO;AAAEC,MAAAA,CAAC,EAAED,KAAK,CAACC,CAAX;AAAcC,MAAAA,CAAC,EAAEF,KAAK,CAACE;AAAvB,KAAP;AACD;AAd4B,CAAd,EAedyB,UAfc,CAAV;;eAiBQQ,C","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { gridDraggable, utils, types } from '@pie-lib/plot';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { correct, incorrect, disabled } from './styles';\n\nexport class RawDragHandle extends React.Component {\n static propTypes = {\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n width: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n };\n render() {\n const {\n x,\n y,\n width,\n graphProps,\n classes,\n className,\n interactive,\n correctness,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n return (\n <svg\n x={x}\n y={scale.y(y) - 10}\n width={width}\n overflow=\"visible\"\n className={classNames(\n classes.handleContainer,\n className,\n !interactive && 'non-interactive',\n interactive && correctness && correctness.value\n )}\n >\n <rect\n y={-10}\n width={width}\n className={classNames(classes.transparentHandle, className)}\n {...rest}\n />\n <rect\n width={width}\n className={classNames(\n classes.handle,\n 'handle',\n className,\n !interactive && 'non-interactive',\n interactive && correctness && correctness.value\n )}\n {...rest}\n />\n <rect\n y={10}\n width={width}\n className={classNames(classes.transparentHandle, className)}\n {...rest}\n />\n </svg>\n );\n }\n}\n\nexport const DragHandle = withStyles(theme => ({\n handle: {\n height: '10px',\n fill: color.secondary(),\n transition: 'fill 200ms linear, height 200ms linear',\n '&.correct': correct('fill'),\n '&.incorrect': incorrect('fill'),\n '&.non-interactive': disabled('fill')\n },\n transparentHandle: {\n height: '10px',\n fill: 'transparent'\n },\n handleContainer: {\n height: 30,\n '&:hover': {\n '& .handle': {\n fill: color.secondaryDark(),\n height: '16px'\n }\n },\n '&.non-interactive': disabled('fill'),\n '&.incorrect': incorrect('fill'),\n '&.correct': correct('fill')\n }\n}))(RawDragHandle);\n\nexport const D = gridDraggable({\n axis: 'y',\n fromDelta: (props, delta) => {\n //TODO: should be in grid-draggable, if axis is y delta.x should always be 0.\n delta.x = 0;\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint.y;\n },\n bounds: (props, { domain, range }) => {\n const area = { left: 0, top: props.y, bottom: props.y, right: 0 };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n return { x: props.x, y: props.y };\n }\n})(DragHandle);\n\nexport default D;\n"],"file":"drag-handle.js"}
1
+ {"version":3,"sources":["../../src/common/drag-handle.jsx"],"names":["RawDragHandle","props","x","y","width","graphProps","classes","className","interactive","correctness","rest","scale","handleContainer","value","transparentHandle","handle","React","Component","PropTypes","number","isRequired","types","GraphPropsType","object","string","bool","shape","label","DragHandle","theme","height","fill","color","secondary","transition","secondaryDark","D","axis","fromDelta","delta","newPoint","utils","point","add","bounds","domain","range","area","left","top","bottom","right","anchorPoint"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { gridDraggable, utils, types } from '@pie-lib/plot';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { correct, incorrect, disabled } from './styles';\n\nexport class RawDragHandle extends React.Component {\n static propTypes = {\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n width: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n };\n render() {\n const {\n x,\n y,\n width,\n graphProps,\n classes,\n className,\n interactive,\n correctness,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n return (\n <svg\n x={x}\n y={scale.y(y) - 10}\n width={width}\n overflow=\"visible\"\n className={classNames(\n classes.handleContainer,\n className,\n !interactive && 'non-interactive',\n interactive && correctness && correctness.value\n )}\n >\n <rect\n y={-10}\n width={width}\n className={classNames(classes.transparentHandle, className)}\n {...rest}\n />\n <rect\n width={width}\n className={classNames(\n classes.handle,\n 'handle',\n className,\n !interactive && 'non-interactive',\n interactive && correctness && correctness.value\n )}\n {...rest}\n />\n <rect\n y={10}\n width={width}\n className={classNames(classes.transparentHandle, className)}\n {...rest}\n />\n </svg>\n );\n }\n}\n\nexport const DragHandle = withStyles(theme => ({\n handle: {\n height: '10px',\n fill: color.secondary(),\n transition: 'fill 200ms linear, height 200ms linear',\n '&.correct': correct('fill'),\n '&.incorrect': incorrect('fill'),\n '&.non-interactive': disabled('fill')\n },\n transparentHandle: {\n height: '10px',\n fill: 'transparent'\n },\n handleContainer: {\n height: 30,\n '&:hover': {\n '& .handle': {\n fill: color.secondaryDark(),\n height: '16px'\n }\n },\n '&.non-interactive': disabled('fill'),\n '&.incorrect': incorrect('fill'),\n '&.correct': correct('fill')\n }\n}))(RawDragHandle);\n\nexport const D = gridDraggable({\n axis: 'y',\n fromDelta: (props, delta) => {\n //TODO: should be in grid-draggable, if axis is y delta.x should always be 0.\n delta.x = 0;\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint.y;\n },\n bounds: (props, { domain, range }) => {\n const area = { left: 0, top: props.y, bottom: props.y, right: 0 };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n return { x: props.x, y: props.y };\n }\n})(DragHandle);\n\nexport default D;\n"],"file":"drag-handle.js"}