@pie-lib/graphing-solution-set 2.17.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +13 -65
  2. package/package.json +9 -8
  3. package/src/axis/axes.jsx +1 -1
  4. package/src/coordinates-label.jsx +1 -1
  5. package/src/graph-with-controls.jsx +1 -1
  6. package/src/grid-setup.jsx +1 -1
  7. package/src/labels.jsx +1 -1
  8. package/src/mark-label.jsx +1 -1
  9. package/src/toggle-bar.jsx +1 -1
  10. package/src/tools/polygon/line.jsx +1 -1
  11. package/src/tools/polygon/polygon.jsx +1 -1
  12. package/src/tools/shared/arrow-head.jsx +1 -1
  13. package/src/tools/shared/line/index.jsx +1 -1
  14. package/src/tools/shared/line/line-path.jsx +1 -1
  15. package/src/tools/shared/point/base-point.jsx +1 -1
  16. package/src/tools/shared/point/index.jsx +1 -1
  17. package/src/tools/shared/styles.js +1 -1
  18. package/src/undo-redo.jsx +1 -1
  19. package/lib/axis/arrow.js +0 -115
  20. package/lib/axis/arrow.js.map +0 -1
  21. package/lib/axis/axes.js +0 -415
  22. package/lib/axis/axes.js.map +0 -1
  23. package/lib/axis/index.js +0 -26
  24. package/lib/axis/index.js.map +0 -1
  25. package/lib/bg.js +0 -139
  26. package/lib/bg.js.map +0 -1
  27. package/lib/container/actions.js +0 -24
  28. package/lib/container/actions.js.map +0 -1
  29. package/lib/container/index.js +0 -166
  30. package/lib/container/index.js.map +0 -1
  31. package/lib/container/marks.js +0 -27
  32. package/lib/container/marks.js.map +0 -1
  33. package/lib/container/middleware.js +0 -25
  34. package/lib/container/middleware.js.map +0 -1
  35. package/lib/container/reducer.js +0 -25
  36. package/lib/container/reducer.js.map +0 -1
  37. package/lib/coordinates-label.js +0 -109
  38. package/lib/coordinates-label.js.map +0 -1
  39. package/lib/graph-with-controls.js +0 -372
  40. package/lib/graph-with-controls.js.map +0 -1
  41. package/lib/graph.js +0 -419
  42. package/lib/graph.js.map +0 -1
  43. package/lib/grid-setup.js +0 -462
  44. package/lib/grid-setup.js.map +0 -1
  45. package/lib/grid.js +0 -176
  46. package/lib/grid.js.map +0 -1
  47. package/lib/index.js +0 -51
  48. package/lib/index.js.map +0 -1
  49. package/lib/labels.js +0 -299
  50. package/lib/labels.js.map +0 -1
  51. package/lib/mark-label.js +0 -208
  52. package/lib/mark-label.js.map +0 -1
  53. package/lib/shared/index.js +0 -136
  54. package/lib/toggle-bar.js +0 -336
  55. package/lib/toggle-bar.js.map +0 -1
  56. package/lib/tool-menu.js +0 -325
  57. package/lib/tool-menu.js.map +0 -1
  58. package/lib/tools/index.js +0 -29
  59. package/lib/tools/index.js.map +0 -1
  60. package/lib/tools/line/component.js +0 -106
  61. package/lib/tools/line/component.js.map +0 -1
  62. package/lib/tools/line/index.js +0 -16
  63. package/lib/tools/line/index.js.map +0 -1
  64. package/lib/tools/polygon/component.js +0 -457
  65. package/lib/tools/polygon/component.js.map +0 -1
  66. package/lib/tools/polygon/index.js +0 -106
  67. package/lib/tools/polygon/index.js.map +0 -1
  68. package/lib/tools/polygon/line.js +0 -151
  69. package/lib/tools/polygon/line.js.map +0 -1
  70. package/lib/tools/polygon/polygon.js +0 -171
  71. package/lib/tools/polygon/polygon.js.map +0 -1
  72. package/lib/tools/shared/arrow-head.js +0 -75
  73. package/lib/tools/shared/arrow-head.js.map +0 -1
  74. package/lib/tools/shared/line/index.js +0 -637
  75. package/lib/tools/shared/line/index.js.map +0 -1
  76. package/lib/tools/shared/line/line-path.js +0 -145
  77. package/lib/tools/shared/line/line-path.js.map +0 -1
  78. package/lib/tools/shared/line/with-root-edge.js +0 -155
  79. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  80. package/lib/tools/shared/point/arrow-point.js +0 -113
  81. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  82. package/lib/tools/shared/point/arrow.js +0 -96
  83. package/lib/tools/shared/point/arrow.js.map +0 -1
  84. package/lib/tools/shared/point/base-point.js +0 -151
  85. package/lib/tools/shared/point/base-point.js.map +0 -1
  86. package/lib/tools/shared/point/index.js +0 -94
  87. package/lib/tools/shared/point/index.js.map +0 -1
  88. package/lib/tools/shared/styles.js +0 -49
  89. package/lib/tools/shared/styles.js.map +0 -1
  90. package/lib/tools/shared/types.js +0 -19
  91. package/lib/tools/shared/types.js.map +0 -1
  92. package/lib/undo-redo.js +0 -107
  93. package/lib/undo-redo.js.map +0 -1
  94. package/lib/use-debounce.js +0 -32
  95. package/lib/use-debounce.js.map +0 -1
  96. package/lib/utils.js +0 -314
  97. package/lib/utils.js.map +0 -1
package/lib/grid.js DELETED
@@ -1,176 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = exports.Grid = void 0;
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
-
28
- var _react = _interopRequireDefault(require("react"));
29
-
30
- var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
- var vx = _interopRequireWildcard(require("@vx/grid"));
33
-
34
- var _plot = require("@pie-lib/plot");
35
-
36
- var _styles = require("@material-ui/core/styles");
37
-
38
- var _utils = require("./utils");
39
-
40
- 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); }
41
-
42
- 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; }
43
-
44
- 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; }
45
-
46
- 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; }
47
-
48
- 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
-
50
- 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
-
52
- var Grid = /*#__PURE__*/function (_React$Component) {
53
- (0, _inherits2["default"])(Grid, _React$Component);
54
-
55
- var _super = _createSuper(Grid);
56
-
57
- function Grid() {
58
- var _this;
59
-
60
- (0, _classCallCheck2["default"])(this, Grid);
61
-
62
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
63
- args[_key] = arguments[_key];
64
- }
65
-
66
- _this = _super.call.apply(_super, [this].concat(args));
67
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getAdditionalGridProps", function (rowTickValues, columnTickValues) {
68
- var _this$props$graphProp = _this.props.graphProps,
69
- scale = _this$props$graphProp.scale,
70
- _this$props$graphProp2 = _this$props$graphProp.size,
71
- width = _this$props$graphProp2.width,
72
- height = _this$props$graphProp2.height,
73
- domain = _this$props$graphProp.domain,
74
- range = _this$props$graphProp.range;
75
- var rowTickLabelValues = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, range), {}, {
76
- step: range.labelStep
77
- })).filter(function (value) {
78
- return rowTickValues.includes(value);
79
- });
80
- var columnTickLabelValues = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, domain), {}, {
81
- step: domain.labelStep
82
- })).filter(function (value) {
83
- return columnTickValues.includes(value);
84
- });
85
- var minValueLength = rowTickLabelValues.length && Math.min.apply(Math, (0, _toConsumableArray2["default"])(rowTickLabelValues)).toString().replace(/[.-]/g, '').length || 1;
86
- var maxValueLength = rowTickLabelValues.length && Math.max.apply(Math, (0, _toConsumableArray2["default"])(rowTickLabelValues)).toString().replace(/[.-]/g, '').length || 1;
87
- var rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;
88
- var horizontalDistanceToZero = scale.x(0);
89
- var verticalDistanceToZero = scale.y(0);
90
- var columnLabelLength = 28;
91
- var rowStrokeDasharray = "".concat(horizontalDistanceToZero - rowLabelLength, " ").concat(rowLabelLength, " ").concat(width);
92
- var columnStrokeDasharray = "".concat(verticalDistanceToZero, " ").concat(columnLabelLength, " ").concat(height);
93
- var displayAdditionalGrid = domain.labelStep > 0 && range.labelStep > 0 && rowTickLabelValues && columnTickLabelValues && rowTickLabelValues.length > 1 && columnTickLabelValues.length > 1 && (rowTickLabelValues.length !== rowTickValues.length || columnTickLabelValues.length !== columnTickValues.length);
94
- var filteredColumnValues = columnTickLabelValues.filter(function (value) {
95
- return value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength;
96
- });
97
- var filteredRowValues = rowTickLabelValues.filter(function (value) {
98
- return value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength;
99
- });
100
- return {
101
- rowTickLabelValues: filteredRowValues,
102
- columnTickLabelValues: filteredColumnValues,
103
- rowStrokeDasharray: rowStrokeDasharray,
104
- columnStrokeDasharray: columnStrokeDasharray,
105
- displayAdditionalGrid: displayAdditionalGrid
106
- };
107
- });
108
- return _this;
109
- }
110
-
111
- (0, _createClass2["default"])(Grid, [{
112
- key: "render",
113
- value: function render() {
114
- var _this2 = this;
115
-
116
- var graphProps = this.props.graphProps;
117
- var scale = graphProps.scale,
118
- _graphProps$size = graphProps.size,
119
- height = _graphProps$size.height,
120
- width = _graphProps$size.width,
121
- domain = graphProps.domain,
122
- range = graphProps.range;
123
- var rowTickValues = (0, _utils.getTickValues)(range);
124
- var columnTickValues = (0, _utils.getTickValues)(domain);
125
-
126
- var _this$getAdditionalGr = this.getAdditionalGridProps(rowTickValues, columnTickValues),
127
- rowTickLabelValues = _this$getAdditionalGr.rowTickLabelValues,
128
- columnTickLabelValues = _this$getAdditionalGr.columnTickLabelValues,
129
- rowStrokeDasharray = _this$getAdditionalGr.rowStrokeDasharray,
130
- columnStrokeDasharray = _this$getAdditionalGr.columnStrokeDasharray,
131
- displayAdditionalGrid = _this$getAdditionalGr.displayAdditionalGrid;
132
-
133
- var additionalGridStroke = domain.labelStep * 2 === domain.step || range.labelStep * 2 === range.step ? '#9FA8DA' : '#7985CB';
134
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(vx.Grid, {
135
- innerRef: function innerRef(r) {
136
- return _this2.grid = r;
137
- },
138
- xScale: scale.x,
139
- yScale: scale.y,
140
- width: width,
141
- height: height,
142
- stroke: "#D3D3D3",
143
- rowTickValues: rowTickValues,
144
- columnTickValues: columnTickValues
145
- }), displayAdditionalGrid && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(vx.GridRows, {
146
- scale: scale.y,
147
- width: width,
148
- tickValues: rowTickLabelValues,
149
- stroke: additionalGridStroke,
150
- strokeDasharray: rowStrokeDasharray
151
- }), /*#__PURE__*/_react["default"].createElement(vx.GridColumns, {
152
- scale: scale.x,
153
- height: height,
154
- tickValues: columnTickLabelValues,
155
- stroke: additionalGridStroke,
156
- strokeDasharray: columnStrokeDasharray
157
- })));
158
- }
159
- }]);
160
- return Grid;
161
- }(_react["default"].Component);
162
-
163
- exports.Grid = Grid;
164
- (0, _defineProperty2["default"])(Grid, "propTypes", {
165
- disabled: _propTypes["default"].bool,
166
- disabledAdditionalGrid: _propTypes["default"].bool,
167
- classes: _propTypes["default"].object.isRequired,
168
- graphProps: _plot.types.GraphPropsType.isRequired
169
- });
170
-
171
- var _default = (0, _styles.withStyles)(function () {
172
- return {};
173
- })(Grid);
174
-
175
- exports["default"] = _default;
176
- //# sourceMappingURL=grid.js.map
package/lib/grid.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/grid.jsx"],"names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","getAdditionalGridProps","additionalGridStroke","r","grid","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","classes","object","isRequired","types","GraphPropsType"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types } from '@pie-lib/plot';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getTickValues } from './utils';\n\nexport class Grid extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n disabledAdditionalGrid: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n getAdditionalGridProps = (rowTickValues, columnTickValues) => {\n const {\n graphProps: {\n scale,\n size: { width, height },\n domain,\n range,\n },\n } = this.props;\n const rowTickLabelValues = getTickValues({\n ...range,\n step: range.labelStep,\n }).filter((value) => rowTickValues.includes(value));\n const columnTickLabelValues = getTickValues({\n ...domain,\n step: domain.labelStep,\n }).filter((value) => columnTickValues.includes(value));\n\n const minValueLength =\n (rowTickLabelValues.length &&\n Math.min(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n const maxValueLength =\n (rowTickLabelValues.length &&\n Math.max(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n\n const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;\n const horizontalDistanceToZero = scale.x(0);\n const verticalDistanceToZero = scale.y(0);\n const columnLabelLength = 28;\n const rowStrokeDasharray = `${horizontalDistanceToZero - rowLabelLength} ${rowLabelLength} ${width}`;\n const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;\n\n const displayAdditionalGrid =\n domain.labelStep > 0 &&\n range.labelStep > 0 &&\n rowTickLabelValues &&\n columnTickLabelValues &&\n rowTickLabelValues.length > 1 &&\n columnTickLabelValues.length > 1 &&\n (rowTickLabelValues.length !== rowTickValues.length || columnTickLabelValues.length !== columnTickValues.length);\n\n const filteredColumnValues = columnTickLabelValues.filter(\n (value) => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength,\n );\n const filteredRowValues = rowTickLabelValues.filter(\n (value) => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength,\n );\n\n return {\n rowTickLabelValues: filteredRowValues,\n columnTickLabelValues: filteredColumnValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid,\n };\n };\n\n render() {\n const { graphProps } = this.props;\n const {\n scale,\n size: { height, width },\n domain,\n range,\n } = graphProps;\n const rowTickValues = getTickValues(range);\n const columnTickValues = getTickValues(domain);\n const {\n rowTickLabelValues,\n columnTickLabelValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid,\n } = this.getAdditionalGridProps(rowTickValues, columnTickValues);\n\n const additionalGridStroke =\n domain.labelStep * 2 === domain.step || range.labelStep * 2 === range.step ? '#9FA8DA' : '#7985CB';\n\n return (\n <>\n <vx.Grid\n innerRef={(r) => (this.grid = r)}\n xScale={scale.x}\n yScale={scale.y}\n width={width}\n height={height}\n stroke=\"#D3D3D3\"\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n {displayAdditionalGrid && (\n <>\n <vx.GridRows\n scale={scale.y}\n width={width}\n tickValues={rowTickLabelValues}\n stroke={additionalGridStroke}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={additionalGridStroke}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({}))(Grid);\n"],"file":"grid.js"}
package/lib/index.js DELETED
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- Object.defineProperty(exports, "Graph", {
11
- enumerable: true,
12
- get: function get() {
13
- return _graph["default"];
14
- }
15
- });
16
- Object.defineProperty(exports, "GraphContainer", {
17
- enumerable: true,
18
- get: function get() {
19
- return _container["default"];
20
- }
21
- });
22
- Object.defineProperty(exports, "GridSetup", {
23
- enumerable: true,
24
- get: function get() {
25
- return _gridSetup["default"];
26
- }
27
- });
28
- Object.defineProperty(exports, "ToolMenu", {
29
- enumerable: true,
30
- get: function get() {
31
- return _toolMenu["default"];
32
- }
33
- });
34
- exports.tools = void 0;
35
-
36
- var _graph = _interopRequireDefault(require("./graph"));
37
-
38
- var _container = _interopRequireDefault(require("./container"));
39
-
40
- var _gridSetup = _interopRequireDefault(require("./grid-setup"));
41
-
42
- var tools = _interopRequireWildcard(require("./tools"));
43
-
44
- exports.tools = tools;
45
-
46
- var _toolMenu = _interopRequireDefault(require("./tool-menu"));
47
-
48
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
-
50
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA","sourcesContent":["import Graph from './graph';\nimport GraphContainer from './container';\nimport GridSetup from './grid-setup';\nimport * as tools from './tools';\nimport ToolMenu from './tool-menu';\n\nexport { Graph, GraphContainer, GridSetup, ToolMenu, tools };\n"],"file":"index.js"}
package/lib/labels.js DELETED
@@ -1,299 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getTransform = exports["default"] = exports.Labels = exports.LabelType = void 0;
9
-
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
30
- var _plot = require("@pie-lib/plot");
31
-
32
- var _index = require("./shared/index");
33
-
34
- var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
35
-
36
- var _classnames = _interopRequireDefault(require("classnames"));
37
-
38
- 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; }
39
-
40
- 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; }
41
-
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); }; }
43
-
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; } }
45
-
46
- var rotations = {
47
- left: -90,
48
- top: 0,
49
- bottom: 0,
50
- right: 90
51
- };
52
-
53
- var getTransform = function getTransform(side, width, height) {
54
- var t = function t(x, y, rotate) {
55
- return "translate(".concat(x, ", ").concat(y, "), rotate(").concat(rotate, ")");
56
- };
57
-
58
- if (side === 'left') {
59
- return t(-20, height / 2, rotations[side]);
60
- }
61
-
62
- if (side === 'right') {
63
- return t(width + 30, height / 2, rotations[side]);
64
- }
65
-
66
- if (side === 'top') {
67
- return t(width / 2, -20, rotations[side]);
68
- }
69
-
70
- if (side === 'bottom') {
71
- return t(width / 2, height + 30, rotations[side]);
72
- }
73
- };
74
-
75
- exports.getTransform = getTransform;
76
-
77
- var getY = function getY(side, height) {
78
- switch (side) {
79
- case 'left':
80
- return -height;
81
-
82
- case 'top':
83
- return -height;
84
-
85
- case 'right':
86
- return -height - 10;
87
-
88
- default:
89
- return -height + 10;
90
- }
91
- };
92
-
93
- var RawLabel = /*#__PURE__*/function (_React$Component) {
94
- (0, _inherits2["default"])(RawLabel, _React$Component);
95
-
96
- var _super = _createSuper(RawLabel);
97
-
98
- function RawLabel() {
99
- (0, _classCallCheck2["default"])(this, RawLabel);
100
- return _super.apply(this, arguments);
101
- }
102
-
103
- (0, _createClass2["default"])(RawLabel, [{
104
- key: "render",
105
- value: function render() {
106
- var _cn;
107
-
108
- var _this$props = this.props,
109
- disabledLabel = _this$props.disabledLabel,
110
- placeholder = _this$props.placeholder,
111
- text = _this$props.text,
112
- side = _this$props.side,
113
- graphProps = _this$props.graphProps,
114
- classes = _this$props.classes,
115
- onChange = _this$props.onChange,
116
- _this$props$mathMlOpt = _this$props.mathMlOptions,
117
- mathMlOptions = _this$props$mathMlOpt === void 0 ? {} : _this$props$mathMlOpt;
118
- var size = graphProps.size,
119
- domain = graphProps.domain,
120
- range = graphProps.range;
121
- var totalHeight = (size.height || 500) + (range.padding || 0) * 2;
122
- var totalWidth = (size.width || 500) + (domain.padding || 0) * 2;
123
- var transform = getTransform(side, totalWidth, totalHeight);
124
- var width = side === 'left' || side === 'right' ? totalHeight : totalWidth;
125
- var height = 36;
126
- var y = getY(side, height);
127
- var finalHeight = side === 'bottom' ? height + 22 : height + 18;
128
- var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math' // 'languageCharacters'
129
- ];
130
- return /*#__PURE__*/_react["default"].createElement("foreignObject", {
131
- x: -(width / 2),
132
- y: y,
133
- width: width,
134
- height: finalHeight,
135
- transform: transform,
136
- textAnchor: "middle"
137
- }, /*#__PURE__*/_react["default"].createElement(_index.Readable, {
138
- "false": true
139
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
140
- className: (0, _classnames["default"])((_cn = {}, (0, _defineProperty2["default"])(_cn, classes.bottomLabel, side === 'bottom'), (0, _defineProperty2["default"])(_cn, classes.disabledAxisLabel, disabledLabel), _cn), classes.axisLabel),
141
- markup: text || '',
142
- onChange: onChange,
143
- placeholder: !disabledLabel && placeholder,
144
- toolbarOpts: {
145
- position: side === 'bottom' ? 'top' : 'bottom',
146
- noPadding: true,
147
- noBorder: true
148
- },
149
- activePlugins: activePlugins,
150
- mathMlOptions: mathMlOptions
151
- })));
152
- }
153
- }]);
154
- return RawLabel;
155
- }(_react["default"].Component);
156
-
157
- (0, _defineProperty2["default"])(RawLabel, "propTypes", {
158
- text: _propTypes["default"].string,
159
- side: _propTypes["default"].string,
160
- classes: _propTypes["default"].object,
161
- disabledLabel: _propTypes["default"].bool,
162
- placeholder: _propTypes["default"].string,
163
- graphProps: _plot.types.GraphPropsType.isRequired,
164
- onChange: _propTypes["default"].func
165
- });
166
- (0, _defineProperty2["default"])(RawLabel, "defaultProps", {
167
- onChange: function onChange() {}
168
- });
169
- var Label = (0, _styles.withStyles)(function (theme) {
170
- return {
171
- label: {
172
- fill: _index.color.defaults.SECONDARY
173
- },
174
- axisLabel: {
175
- fontSize: theme.typography.fontSize - 2,
176
- textAlign: 'center',
177
- padding: '0 4px'
178
- },
179
- disabledAxisLabel: {
180
- pointerEvents: 'none'
181
- },
182
- bottomLabel: {
183
- marginTop: '44px'
184
- }
185
- };
186
- })(RawLabel);
187
- var LabelType = {
188
- left: _propTypes["default"].string,
189
- top: _propTypes["default"].string,
190
- bottom: _propTypes["default"].string,
191
- right: _propTypes["default"].string
192
- };
193
- exports.LabelType = LabelType;
194
-
195
- var Labels = /*#__PURE__*/function (_React$Component2) {
196
- (0, _inherits2["default"])(Labels, _React$Component2);
197
-
198
- var _super2 = _createSuper(Labels);
199
-
200
- function Labels() {
201
- var _this;
202
-
203
- (0, _classCallCheck2["default"])(this, Labels);
204
-
205
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
206
- args[_key] = arguments[_key];
207
- }
208
-
209
- _this = _super2.call.apply(_super2, [this].concat(args));
210
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeLabel", function (newValue, side) {
211
- var _this$props2 = _this.props,
212
- value = _this$props2.value,
213
- onChange = _this$props2.onChange;
214
-
215
- var labels = _objectSpread(_objectSpread({}, value), {}, (0, _defineProperty2["default"])({}, side, newValue));
216
-
217
- onChange(labels);
218
- });
219
- return _this;
220
- }
221
-
222
- (0, _createClass2["default"])(Labels, [{
223
- key: "render",
224
- value: function render() {
225
- var _this2 = this;
226
-
227
- var _this$props3 = this.props,
228
- disabledLabels = _this$props3.disabledLabels,
229
- _this$props3$placehol = _this$props3.placeholders,
230
- placeholders = _this$props3$placehol === void 0 ? {} : _this$props3$placehol,
231
- _this$props3$value = _this$props3.value,
232
- value = _this$props3$value === void 0 ? {} : _this$props3$value,
233
- graphProps = _this$props3.graphProps,
234
- _this$props3$mathMlOp = _this$props3.mathMlOptions,
235
- mathMlOptions = _this$props3$mathMlOp === void 0 ? {} : _this$props3$mathMlOp;
236
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Label, {
237
- key: "left",
238
- side: "left",
239
- text: value.left,
240
- disabledLabel: disabledLabels,
241
- placeholder: placeholders.left,
242
- graphProps: graphProps,
243
- onChange: function onChange(value) {
244
- return _this2.onChangeLabel(value, 'left');
245
- },
246
- mathMlOptions: mathMlOptions
247
- }), /*#__PURE__*/_react["default"].createElement(Label, {
248
- key: "top",
249
- side: "top",
250
- text: value.top,
251
- disabledLabel: disabledLabels,
252
- placeholder: placeholders.top,
253
- graphProps: graphProps,
254
- onChange: function onChange(value) {
255
- return _this2.onChangeLabel(value, 'top');
256
- },
257
- mathMlOptions: mathMlOptions
258
- }), /*#__PURE__*/_react["default"].createElement(Label, {
259
- key: "bottom",
260
- side: "bottom",
261
- text: value.bottom,
262
- disabledLabel: disabledLabels,
263
- placeholder: placeholders.bottom,
264
- graphProps: graphProps,
265
- onChange: function onChange(value) {
266
- return _this2.onChangeLabel(value, 'bottom');
267
- },
268
- mathMlOptions: mathMlOptions
269
- }), /*#__PURE__*/_react["default"].createElement(Label, {
270
- key: "right",
271
- side: "right",
272
- text: value.right,
273
- disabledLabel: disabledLabels,
274
- placeholder: placeholders.right,
275
- graphProps: graphProps,
276
- onChange: function onChange(value) {
277
- return _this2.onChangeLabel(value, 'right');
278
- },
279
- mathMlOptions: mathMlOptions
280
- }));
281
- }
282
- }]);
283
- return Labels;
284
- }(_react["default"].Component);
285
-
286
- exports.Labels = Labels;
287
- (0, _defineProperty2["default"])(Labels, "propTypes", {
288
- classes: _propTypes["default"].object,
289
- className: _propTypes["default"].string,
290
- disabledLabels: _propTypes["default"].bool,
291
- placeholders: _propTypes["default"].object,
292
- value: _propTypes["default"].shape(LabelType),
293
- graphProps: _propTypes["default"].object,
294
- onChange: _propTypes["default"].object
295
- });
296
- (0, _defineProperty2["default"])(Labels, "defaultProps", {});
297
- var _default = Labels;
298
- exports["default"] = _default;
299
- //# sourceMappingURL=labels.js.map
package/lib/labels.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/labels.jsx"],"names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","disabledLabel","placeholder","text","graphProps","classes","onChange","mathMlOptions","size","domain","range","totalHeight","padding","totalWidth","transform","finalHeight","activePlugins","bottomLabel","disabledAxisLabel","axisLabel","position","noPadding","noBorder","React","Component","PropTypes","string","object","bool","types","GraphPropsType","isRequired","func","Label","theme","label","fill","color","defaults","SECONDARY","fontSize","typography","textAlign","pointerEvents","marginTop","LabelType","Labels","newValue","value","labels","disabledLabels","placeholders","onChangeLabel","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 '../../render-ui/src/index';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\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;\n case 'right':\n return -height - 10;\n default:\n return -height + 10;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n disabledLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {\n onChange: () => {},\n };\n\n render() {\n const { disabledLabel, placeholder, text, side, graphProps, classes, onChange, mathMlOptions = {} } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n const finalHeight = side === 'bottom' ? height + 22 : height + 18;\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={finalHeight}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <EditableHtml\n className={cn(\n {\n [classes.bottomLabel]: side === 'bottom',\n [classes.disabledAxisLabel]: disabledLabel,\n },\n classes.axisLabel,\n )}\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n activePlugins={activePlugins}\n mathMlOptions={mathMlOptions}\n />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles((theme) => ({\n label: {\n fill: color.defaults.SECONDARY,\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n padding: '0 4px',\n },\n disabledAxisLabel: {\n pointerEvents: 'none',\n },\n bottomLabel: {\n marginTop: '44px',\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 disabledLabels: PropTypes.bool,\n placeholders: PropTypes.object,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object,\n onChange: PropTypes.object,\n };\n\n static defaultProps = {};\n\n onChangeLabel = (newValue, side) => {\n const { value, onChange } = this.props;\n const labels = {\n ...value,\n [side]: newValue,\n };\n\n onChange(labels);\n };\n\n render() {\n const { disabledLabels, placeholders = {}, value = {}, graphProps, mathMlOptions = {} } = this.props;\n\n return (\n <React.Fragment>\n <Label\n key=\"left\"\n side=\"left\"\n text={value.left}\n disabledLabel={disabledLabels}\n placeholder={placeholders.left}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n />\n <Label\n key=\"top\"\n side=\"top\"\n text={value.top}\n disabledLabel={disabledLabels}\n placeholder={placeholders.top}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n />\n <Label\n key=\"bottom\"\n side=\"bottom\"\n text={value.bottom}\n disabledLabel={disabledLabels}\n placeholder={placeholders.bottom}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n />\n <Label\n key=\"right\"\n side=\"right\"\n text={value.right}\n disabledLabel={disabledLabels}\n placeholder={placeholders.right}\n graphProps={graphProps}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n />\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"file":"labels.js"}