@pie-lib/plot 2.1.10-next.266 → 2.1.10-next.540
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.
- package/CHANGELOG.md +22 -0
- package/lib/draggable.js +17 -26
- package/lib/draggable.js.map +1 -1
- package/lib/graph-props.js +4 -6
- package/lib/graph-props.js.map +1 -1
- package/lib/grid-draggable.js +42 -71
- package/lib/grid-draggable.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/root.js +64 -71
- package/lib/root.js.map +1 -1
- package/lib/trig.js +2 -2
- package/lib/trig.js.map +1 -1
- package/lib/types.js +2 -2
- package/lib/types.js.map +1 -1
- package/lib/utils.js +4 -4
- package/lib/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/graph-props.js +3 -6
- package/src/root.jsx +57 -30
- package/src/utils.js +2 -2
package/lib/root.js
CHANGED
|
@@ -1,92 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = exports.Root =
|
|
8
|
+
exports["default"] = exports.Root = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var _types = require("./types");
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
11
|
|
|
14
|
-
var
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
13
|
|
|
16
|
-
var
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
15
|
|
|
18
|
-
var
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
17
|
|
|
20
|
-
var
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
19
|
|
|
22
|
-
var
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
21
|
|
|
24
|
-
var
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
var _types = require("./types");
|
|
29
27
|
|
|
30
|
-
|
|
28
|
+
var _styles = require("@material-ui/core/styles");
|
|
31
29
|
|
|
32
|
-
|
|
30
|
+
var _d3Selection = require("d3-selection");
|
|
33
31
|
|
|
34
|
-
|
|
32
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
37
35
|
|
|
38
|
-
|
|
36
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
41
39
|
|
|
42
|
-
function
|
|
40
|
+
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
41
|
|
|
44
42
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
43
|
|
|
46
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
47
|
-
|
|
48
|
-
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; }
|
|
49
|
-
|
|
50
|
-
var GraphTitle = (0, _styles.withStyles)(function (theme) {
|
|
51
|
-
return {
|
|
52
|
-
title: {
|
|
53
|
-
color: _renderUi.color.text(),
|
|
54
|
-
textAlign: 'center',
|
|
55
|
-
paddingTop: theme.spacing.unit * 2,
|
|
56
|
-
fontSize: theme.typography.fontSize + 6
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
})(function (_ref) {
|
|
60
|
-
var value = _ref.value,
|
|
61
|
-
classes = _ref.classes;
|
|
62
|
-
return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
63
|
-
className: classes.title,
|
|
64
|
-
color: "primary",
|
|
65
|
-
variant: "h5",
|
|
66
|
-
dangerouslySetInnerHTML: {
|
|
67
|
-
__html: value
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
exports.GraphTitle = GraphTitle;
|
|
72
|
-
|
|
73
44
|
var Root = /*#__PURE__*/function (_React$Component) {
|
|
74
|
-
|
|
45
|
+
(0, _inherits2["default"])(Root, _React$Component);
|
|
75
46
|
|
|
76
47
|
var _super = _createSuper(Root);
|
|
77
48
|
|
|
78
49
|
function Root() {
|
|
79
50
|
var _this;
|
|
80
51
|
|
|
81
|
-
|
|
52
|
+
(0, _classCallCheck2["default"])(this, Root);
|
|
82
53
|
|
|
83
54
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
84
55
|
args[_key] = arguments[_key];
|
|
85
56
|
}
|
|
86
57
|
|
|
87
58
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
88
|
-
|
|
89
|
-
_defineProperty(_assertThisInitialized(_this), "mouseMove", function (g) {
|
|
59
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "mouseMove", function (g) {
|
|
90
60
|
var _this$props = _this.props,
|
|
91
61
|
graphProps = _this$props.graphProps,
|
|
92
62
|
onMouseMove = _this$props.onMouseMove;
|
|
@@ -106,11 +76,10 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
106
76
|
};
|
|
107
77
|
onMouseMove(snapped);
|
|
108
78
|
});
|
|
109
|
-
|
|
110
79
|
return _this;
|
|
111
80
|
}
|
|
112
81
|
|
|
113
|
-
|
|
82
|
+
(0, _createClass2["default"])(Root, [{
|
|
114
83
|
key: "componentDidMount",
|
|
115
84
|
value: function componentDidMount() {
|
|
116
85
|
var g = (0, _d3Selection.select)(this.g);
|
|
@@ -128,23 +97,40 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
128
97
|
var _this2 = this;
|
|
129
98
|
|
|
130
99
|
var _this$props2 = this.props,
|
|
100
|
+
disabledTitle = _this$props2.disabledTitle,
|
|
131
101
|
graphProps = _this$props2.graphProps,
|
|
132
102
|
children = _this$props2.children,
|
|
133
103
|
classes = _this$props2.classes,
|
|
104
|
+
onChangeTitle = _this$props2.onChangeTitle,
|
|
105
|
+
showTitle = _this$props2.showTitle,
|
|
134
106
|
title = _this$props2.title,
|
|
135
|
-
rootRef = _this$props2.rootRef
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
var
|
|
107
|
+
rootRef = _this$props2.rootRef;
|
|
108
|
+
var _graphProps$size = graphProps.size,
|
|
109
|
+
_graphProps$size$widt = _graphProps$size.width,
|
|
110
|
+
width = _graphProps$size$widt === void 0 ? 500 : _graphProps$size$widt,
|
|
111
|
+
_graphProps$size$heig = _graphProps$size.height,
|
|
112
|
+
height = _graphProps$size$heig === void 0 ? 500 : _graphProps$size$heig,
|
|
113
|
+
domain = graphProps.domain,
|
|
114
|
+
range = graphProps.range;
|
|
115
|
+
var topPadding = 50;
|
|
116
|
+
var leftPadding = topPadding + 10; // left side requires an extra padding of 10
|
|
117
|
+
|
|
118
|
+
var finalWidth = width + leftPadding * 2 + (domain.padding || 0) * 2;
|
|
119
|
+
var finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;
|
|
120
|
+
var activeTitlePlugins = ['bold', 'italic', 'underline', 'strikethrough' // 'languageCharacters'
|
|
121
|
+
];
|
|
144
122
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
145
123
|
className: classes.root
|
|
146
|
-
},
|
|
147
|
-
|
|
124
|
+
}, showTitle && /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
125
|
+
className: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.disabledTitle, disabledTitle), classes.graphTitle),
|
|
126
|
+
markup: title || '',
|
|
127
|
+
width: finalWidth,
|
|
128
|
+
onChange: onChangeTitle,
|
|
129
|
+
placeholder: !disabledTitle && 'Click here to add a title for this graph',
|
|
130
|
+
toolbarOpts: {
|
|
131
|
+
noBorder: true
|
|
132
|
+
},
|
|
133
|
+
activePlugins: activeTitlePlugins
|
|
148
134
|
}), /*#__PURE__*/_react["default"].createElement("svg", {
|
|
149
135
|
width: finalWidth,
|
|
150
136
|
height: finalHeight,
|
|
@@ -158,27 +144,25 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
158
144
|
}
|
|
159
145
|
},
|
|
160
146
|
className: classes.graphBox,
|
|
161
|
-
transform: "translate(".concat(
|
|
147
|
+
transform: "translate(".concat(leftPadding, ", ").concat(topPadding, ")")
|
|
162
148
|
}, children)));
|
|
163
149
|
}
|
|
164
150
|
}]);
|
|
165
|
-
|
|
166
151
|
return Root;
|
|
167
152
|
}(_react["default"].Component);
|
|
168
153
|
|
|
169
154
|
exports.Root = Root;
|
|
170
|
-
|
|
171
|
-
_defineProperty(Root, "propTypes", {
|
|
155
|
+
(0, _defineProperty2["default"])(Root, "propTypes", {
|
|
172
156
|
title: _propTypes["default"].string,
|
|
173
157
|
children: _types.ChildrenType,
|
|
174
158
|
graphProps: _types.GraphPropsType.isRequired,
|
|
175
159
|
onMouseMove: _propTypes["default"].func,
|
|
176
160
|
classes: _propTypes["default"].object.isRequired,
|
|
177
|
-
|
|
178
|
-
|
|
161
|
+
showTitle: _propTypes["default"].bool,
|
|
162
|
+
rootRef: _propTypes["default"].func
|
|
179
163
|
});
|
|
180
164
|
|
|
181
|
-
var styles = function styles() {
|
|
165
|
+
var styles = function styles(theme) {
|
|
182
166
|
return {
|
|
183
167
|
root: {
|
|
184
168
|
border: "solid 1px ".concat(_renderUi.color.primaryLight()),
|
|
@@ -189,6 +173,15 @@ var styles = function styles() {
|
|
|
189
173
|
graphBox: {
|
|
190
174
|
cursor: 'pointer',
|
|
191
175
|
userSelect: 'none'
|
|
176
|
+
},
|
|
177
|
+
graphTitle: {
|
|
178
|
+
color: _renderUi.color.text(),
|
|
179
|
+
fontSize: theme.typography.fontSize + 2,
|
|
180
|
+
padding: '8px 50px 0',
|
|
181
|
+
textAlign: 'center'
|
|
182
|
+
},
|
|
183
|
+
disabledTitle: {
|
|
184
|
+
pointerEvents: 'none'
|
|
192
185
|
}
|
|
193
186
|
};
|
|
194
187
|
};
|
package/lib/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"root.js","names":["Root","g","props","graphProps","onMouseMove","scale","snap","coords","mouse","_groups","x","invert","y","snapped","select","on","mouseMove","bind","disabledTitle","children","classes","onChangeTitle","showTitle","title","rootRef","size","width","height","domain","range","topPadding","leftPadding","finalWidth","padding","finalHeight","activeTitlePlugins","root","cn","graphTitle","noBorder","svg","r","graphBox","React","Component","PropTypes","string","ChildrenType","GraphPropsType","isRequired","func","object","bool","styles","theme","border","color","primaryLight","text","backgroundColor","background","cursor","userSelect","fontSize","typography","textAlign","pointerEvents","withStyles"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { ChildrenType } from './types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { select, mouse } from 'd3-selection';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { color } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\n\nexport class Root extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n graphProps: GraphPropsType.isRequired,\n onMouseMove: PropTypes.func,\n classes: PropTypes.object.isRequired,\n showTitle: PropTypes.bool,\n rootRef: PropTypes.func\n };\n\n mouseMove = g => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = mouse(g._groups[0][0]);\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y)\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n }\n\n render() {\n const {\n disabledTitle,\n graphProps,\n children,\n classes,\n onChangeTitle,\n showTitle,\n title,\n rootRef\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range\n } = graphProps;\n const topPadding = 50;\n const leftPadding = topPadding + 10; // left side requires an extra padding of 10\n const finalWidth = width + leftPadding * 2 + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.root}>\n {showTitle && (\n <EditableHtml\n className={cn(\n {\n [classes.disabledTitle]: disabledTitle\n },\n classes.graphTitle\n )}\n markup={title || ''}\n width={finalWidth}\n onChange={onChangeTitle}\n placeholder={!disabledTitle && 'Click here to add a title for this graph'}\n toolbarOpts={{ noBorder: true }}\n activePlugins={activeTitlePlugins}\n />\n )}\n <svg width={finalWidth} height={finalHeight} className={classes.svg}>\n <g\n ref={r => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n className={classes.graphBox}\n transform={`translate(${leftPadding}, ${topPadding})`}\n >\n {children}\n </g>\n </svg>\n </div>\n );\n }\n}\nconst styles = theme => ({\n root: {\n border: `solid 1px ${color.primaryLight()}`,\n color: color.text(),\n backgroundColor: color.background()\n },\n svg: {},\n graphBox: {\n cursor: 'pointer',\n userSelect: 'none'\n },\n graphTitle: {\n color: color.text(),\n fontSize: theme.typography.fontSize + 2,\n padding: '8px 50px 0',\n textAlign: 'center'\n },\n disabledTitle: {\n pointerEvents: 'none'\n }\n});\n\nexport default withStyles(styles)(Root);\n"],"mappings":"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"}
|
package/lib/trig.js
CHANGED
|
@@ -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
|
});
|
|
@@ -11,8 +13,6 @@ var _pointGeometry = _interopRequireDefault(require("@mapbox/point-geometry"));
|
|
|
11
13
|
|
|
12
14
|
var _debug = _interopRequireDefault(require("debug"));
|
|
13
15
|
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
|
|
16
16
|
var log = (0, _debug["default"])('pie-lib:plot:trig');
|
|
17
17
|
|
|
18
18
|
var toDegrees = function toDegrees(radians) {
|
package/lib/trig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/trig.js"],"names":["log","toDegrees","radians","Math","PI","toRadians","degrees","angle","a","b","vd","y","hd","x","atan2","NINETY","ONE_EIGHTY","TWO_SEVENTY","acuteXAngle","abs","acuteYAngle","hypotenuse","alpha","out","sin","edges","domain","range","destX","max","min","destY","aToB","diffEdge","dX","dY","bToA","getOpposingSide","hyp","getShortestSide","xh","yh","Number","isFinite","isNaN","Infinity","console","warn","bounds","l","enabled","bind","xRadians","yRadians","xSide","xH","ySide","yH","side","Error","point","Point","multiplier","multByPoint","normalized","add"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AACA,IAAMA,GAAG,GAAG,uBAAM,mBAAN,CAAZ;;AAEO,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,OAAO;AAAA,SAAIA,OAAO,IAAI,MAAMC,IAAI,CAACC,EAAf,CAAX;AAAA,CAAzB;;;;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,OAAO;AAAA,SAAIA,OAAO,IAAIH,IAAI,CAACC,EAAL,GAAU,GAAd,CAAX;AAAA,CAAzB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMG,KAAK,GAAG,SAARA,KAAQ,CAACC,CAAD,EAAIC,CAAJ,EAAU;AAC7B,MAAMC,EAAE,GAAGD,CAAC,CAACE,CAAF,GAAMH,CAAC,CAACG,CAAnB;AACA,MAAMC,EAAE,GAAGH,CAAC,CAACI,CAAF,GAAML,CAAC,CAACK,CAAnB;AACAb,EAAAA,GAAG,CAACQ,CAAD,EAAIC,CAAJ,EAAO,MAAP,EAAeC,EAAf,EAAmB,MAAnB,EAA2BE,EAA3B,CAAH;AACA,MAAMV,OAAO,GAAGC,IAAI,CAACW,KAAL,CAAWJ,EAAX,EAAeE,EAAf,CAAhB;AACA,SAAOV,OAAO,GAAG,CAAV,GAAcA,OAAO,GAAGC,IAAI,CAACC,EAAL,GAAU,CAAlC,GAAsCF,OAA7C;AACD,CANM;;;AAQP,IAAMa,MAAM,GAAGZ,IAAI,CAACC,EAAL,GAAU,CAAzB;AACA,IAAMY,UAAU,GAAGb,IAAI,CAACC,EAAxB;AACA,IAAMa,WAAW,GAAGD,UAAU,GAAGD,MAAjC;;AAEO,IAAMG,WAAW,GAAG,SAAdA,WAAc,CAAAV,CAAC,EAAI;AAC9BR,EAAAA,GAAG,CAACC,SAAS,CAACO,CAAD,CAAV,CAAH;;AAEA,MAAIA,CAAC,GAAGO,MAAR,EAAgB;AACd,WAAOP,CAAP;AACD;;AAED,MAAIA,CAAC,GAAGQ,UAAR,EAAoB;AAClB,WAAOb,IAAI,CAACgB,GAAL,CAASH,UAAU,GAAGR,CAAtB,CAAP;AACD;;AAED,MAAIA,CAAC,GAAGS,WAAR,EAAqB;AACnB,WAAOd,IAAI,CAACgB,GAAL,CAASH,UAAU,GAAGR,CAAtB,CAAP;AACD;;AAED,SAAOL,IAAI,CAACgB,GAAL,CAAShB,IAAI,CAACC,EAAL,GAAU,CAAV,GAAcI,CAAvB,CAAP;AACD,CAhBM;;;;AAkBA,IAAMY,WAAW,GAAG,SAAdA,WAAc,CAAAZ,CAAC;AAAA,SAAIO,MAAM,GAAGG,WAAW,CAACV,CAAD,CAAxB;AAAA,CAArB;;;;AAEA,IAAMa,UAAU,GAAG,SAAbA,UAAa,CAACb,CAAD,EAAIc,KAAJ,EAAc;AACtC,MAAMC,GAAG,GAAGpB,IAAI,CAACgB,GAAL,CAASX,CAAC,GAAGL,IAAI,CAACqB,GAAL,CAASF,KAAT,CAAb,CAAZ;AAEA,SAAOC,GAAP;AACD,CAJM;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAME,KAAK,GAAG,SAARA,KAAQ,CAACC,MAAD,EAASC,KAAT;AAAA,SAAmB,UAACnB,CAAD,EAAIC,CAAJ,EAAU;AAChD;AACA,QAAMmB,KAAK,GAAGpB,CAAC,CAACK,CAAF,GAAMJ,CAAC,CAACI,CAAR,GAAYa,MAAM,CAACG,GAAnB,GAAyBH,MAAM,CAACI,GAA9C;AACA,QAAMC,KAAK,GAAGvB,CAAC,CAACG,CAAF,GAAMF,CAAC,CAACE,CAAR,GAAYgB,KAAK,CAACE,GAAlB,GAAwBF,KAAK,CAACG,GAA5C;AACA,QAAME,IAAI,GAAGC,QAAQ,CAAC,eAAGL,KAAH,EAAUG,KAAV,CAAD,EAAmBvB,CAAnB,EAAsBC,CAAtB,CAArB;AAEA,QAAMyB,EAAE,GAAGzB,CAAC,CAACI,CAAF,GAAML,CAAC,CAACK,CAAR,GAAYa,MAAM,CAACG,GAAnB,GAAyBH,MAAM,CAACI,GAA3C;AACA,QAAMK,EAAE,GAAG1B,CAAC,CAACE,CAAF,GAAMH,CAAC,CAACG,CAAR,GAAYgB,KAAK,CAACE,GAAlB,GAAwBF,KAAK,CAACG,GAAzC;AACA,QAAMM,IAAI,GAAGH,QAAQ,CAAC,eAAGC,EAAH,EAAOC,EAAP,CAAD,EAAa1B,CAAb,EAAgBD,CAAhB,CAArB;AACA,WAAO,CAACwB,IAAD,EAAOI,IAAP,CAAP;AACD,GAVoB;AAAA,CAAd;AAYP;;;;;AACO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAAM/B,KAAN,EAAgB;AAC7CP,EAAAA,GAAG,CAAC,yBAAD,EAA4BsC,GAA5B,EAAiC,QAAjC,EAA2C/B,KAA3C,CAAH;AACA,SAAOJ,IAAI,CAACgB,GAAL,CAASmB,GAAG,GAAGnC,IAAI,CAACqB,GAAL,CAASjB,KAAT,CAAf,CAAP;AACD,CAHM;;;;AAKP,IAAMgC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,EAAD,EAAKC,EAAL,EAAY;AAClC,MAAIC,MAAM,CAACC,QAAP,CAAgBH,EAAhB,KAAuBE,MAAM,CAACC,QAAP,CAAgBF,EAAhB,CAA3B,EAAgD;AAC9C,QAAID,EAAE,KAAK,CAAP,IAAYC,EAAE,GAAG,CAArB,EAAwB;AACtB,aAAO,GAAP;AACD;;AACD,QAAIA,EAAE,KAAK,CAAP,IAAYD,EAAE,GAAG,CAArB,EAAwB;AACtB,aAAO,GAAP;AACD;;AACD,WAAOA,EAAE,GAAGC,EAAL,GAAU,GAAV,GAAgB,GAAvB;AACD;;AACD,MAAIG,KAAK,CAACJ,EAAD,CAAL,IAAa,CAACI,KAAK,CAACH,EAAD,CAAvB,EAA6B;AAC3B,WAAO,GAAP;AACD;;AACD,MAAI,CAACG,KAAK,CAACJ,EAAD,CAAN,IAAcI,KAAK,CAACH,EAAD,CAAvB,EAA6B;AAC3B,WAAO,GAAP;AACD;;AACD,MAAID,EAAE,KAAKK,QAAX,EAAqB;AACnB,WAAO,GAAP;AACD;;AACD,MAAIJ,EAAE,KAAKI,QAAX,EAAqB;AACnB,WAAO,GAAP;AACD,GArBiC,CAuBlC;;;AACAC,EAAAA,OAAO,CAACC,IAAR,CAAa,mCAAb,EAAkDP,EAAlD,EAAsD,IAAtD,EAA4DC,EAA5D;AACD,CAzBD;AA0BA;AACA;AACA;AACA;;;AACO,IAAMR,QAAQ,GAAG,SAAXA,QAAW,CAACe,MAAD,EAASxC,CAAT,EAAYC,CAAZ,EAAkB;AACxC,MAAIwC,CAAC,GAAGjD,GAAG,CAACkD,OAAJ,GAAclD,GAAG,CAACmD,IAAJ,CAASnD,GAAT,uBAA4BQ,CAAC,CAACK,CAA9B,cAAmCL,CAAC,CAACG,CAArC,iBAA6CF,CAAC,CAACI,CAA/C,cAAoDJ,CAAC,CAACE,CAAtD,OAAd,GAA4E,YAAM,CAAE,CAA5F;AACA,MAAMyC,QAAQ,GAAG7C,KAAK,CAACC,CAAD,EAAIC,CAAJ,CAAtB;AACAwC,EAAAA,CAAC,CAAC,SAAD,EAAYhD,SAAS,CAACmD,QAAD,CAArB,CAAD;AACA,MAAMC,QAAQ,GAAGlD,IAAI,CAACgB,GAAL,CAASiC,QAAQ,GAAG/C,SAAS,CAAC,EAAD,CAA7B,CAAjB;AACA4C,EAAAA,CAAC,CAAC,SAAD,EAAYhD,SAAS,CAACoD,QAAD,CAArB,CAAD;AACA,MAAMC,KAAK,GAAGnD,IAAI,CAACgB,GAAL,CAASX,CAAC,CAACK,CAAF,GAAMmC,MAAM,CAACnC,CAAtB,CAAd;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;;AACE,MAAM0C,EAAE,GAAGlC,UAAU,CAACiC,KAAD,EAAQD,QAAR,CAArB;AAEA,MAAMG,KAAK,GAAGrD,IAAI,CAACgB,GAAL,CAASX,CAAC,CAACG,CAAF,GAAMqC,MAAM,CAACrC,CAAtB,CAAd;AACA,MAAM8C,EAAE,GAAGpC,UAAU,CAACmC,KAAD,EAAQJ,QAAR,CAArB;AAEAH,EAAAA,CAAC,CAAC,SAAD,EAAYK,KAAZ,EAAmB,IAAnB,EAAyBC,EAAzB,CAAD;AACAN,EAAAA,CAAC,CAAC,SAAD,EAAYO,KAAZ,EAAmB,IAAnB,EAAyBC,EAAzB,CAAD;AACA,MAAMC,IAAI,GAAGnB,eAAe,CAACgB,EAAD,EAAKE,EAAL,CAA5B;;AAEA,MAAIC,IAAI,KAAK,GAAT,IAAgBA,IAAI,KAAK,GAA7B,EAAkC;AAChC,UAAM,IAAIC,KAAJ,CAAU,qCAAV,CAAN;AACD;;AACD,MAAMC,KAAK,GACTF,IAAI,KAAK,GAAT,GACI,IAAIG,yBAAJ,CAAUP,KAAV,EAAiBjB,eAAe,CAACkB,EAAD,EAAKH,QAAL,CAAhC,CADJ,GAEI,IAAIS,yBAAJ,CAAUxB,eAAe,CAACoB,EAAD,EAAKJ,QAAL,CAAzB,EAAyCG,KAAzC,CAHN;AAKAP,EAAAA,CAAC,CAAC,QAAD,EAAWW,KAAX,CAAD;AACA,MAAME,UAAU,GAAG,IAAID,yBAAJ,CAAUpD,CAAC,CAACI,CAAF,GAAML,CAAC,CAACK,CAAR,GAAY,CAAC,CAAb,GAAiB,CAA3B,EAA8BJ,CAAC,CAACE,CAAF,GAAMH,CAAC,CAACG,CAAR,GAAY,CAAC,CAAb,GAAiB,CAA/C,CAAnB;AACAsC,EAAAA,CAAC,CAAC,aAAD,EAAgBa,UAAhB,CAAD;AACA,MAAMvC,GAAG,GAAGqC,KAAK,CAACG,WAAN,CAAkBD,UAAlB,CAAZ;AACAb,EAAAA,CAAC,CAAC,MAAD,EAAS1B,GAAT,CAAD;AACA,MAAMyC,UAAU,GAAGzC,GAAG,CAAC0C,GAAJ,CAAQ,IAAIJ,yBAAJ,CAAUrD,CAAC,CAACK,CAAZ,EAAeL,CAAC,CAACG,CAAjB,CAAR,CAAnB;AACAsC,EAAAA,CAAC,CAAC,aAAD,EAAgBe,UAAhB,CAAD;AACA,SAAOA,UAAP;AACD,CAxCM","sourcesContent":["import { xy } from '../lib/utils';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nconst log = debug('pie-lib:plot:trig');\n\nexport const toDegrees = radians => radians * (180 / Math.PI);\nexport const toRadians = degrees => degrees * (Math.PI / 180);\n/**\n * return angle in radians between 2 points using counting degrees counter clockwise\n *\n * 0,0 + 1,1 = 45 in radians\n * 1,1 + 0,0 = 45?\n * @param {Point} a\n * @param {Point} b\n */\nexport const angle = (a, b) => {\n const vd = b.y - a.y;\n const hd = b.x - a.x;\n log(a, b, 'vd: ', vd, 'hd: ', hd);\n const radians = Math.atan2(vd, hd);\n return radians < 0 ? radians + Math.PI * 2 : radians;\n};\n\nconst NINETY = Math.PI / 2;\nconst ONE_EIGHTY = Math.PI;\nconst TWO_SEVENTY = ONE_EIGHTY + NINETY;\n\nexport const acuteXAngle = a => {\n log(toDegrees(a));\n\n if (a < NINETY) {\n return a;\n }\n\n if (a < ONE_EIGHTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n if (a < TWO_SEVENTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n return Math.abs(Math.PI * 2 - a);\n};\n\nexport const acuteYAngle = a => NINETY - acuteXAngle(a);\n\nexport const hypotenuse = (a, alpha) => {\n const out = Math.abs(a / Math.sin(alpha));\n\n return out;\n};\n\n/**\n * return 2 edge points for a,b within domain + range.\n * - one edge is from following a -> b to the bounds\n * - one edge is from following b -> a to the bounds\n * @param {{min: number, max: number}} domain\n * @param {{min: number, max: number}} range\n * @param {{x: number, y: number}} a\n * @param {{x: number, y: number}} b\n * @returns [{x: number, y: number}, {x: number, y: number}]\n */\nexport const edges = (domain, range) => (a, b) => {\n // const xDest =\n const destX = a.x < b.x ? domain.max : domain.min;\n const destY = a.y < b.y ? range.max : range.min;\n const aToB = diffEdge(xy(destX, destY), a, b);\n\n const dX = b.x < a.x ? domain.max : domain.min;\n const dY = b.y < a.y ? range.max : range.min;\n const bToA = diffEdge(xy(dX, dY), b, a);\n return [aToB, bToA];\n};\n\n/** get length of side A of a triangle from H and angle Alpha */\nexport const getOpposingSide = (hyp, angle) => {\n log('[getOpposingSide] hyp: ', hyp, 'angle:', angle);\n return Math.abs(hyp * Math.sin(angle));\n};\n\nconst getShortestSide = (xh, yh) => {\n if (Number.isFinite(xh) && Number.isFinite(yh)) {\n if (xh === 0 && yh > 0) {\n return 'y';\n }\n if (yh === 0 && xh > 0) {\n return 'x';\n }\n return xh < yh ? 'x' : 'y';\n }\n if (isNaN(xh) && !isNaN(yh)) {\n return 'y';\n }\n if (!isNaN(xh) && isNaN(yh)) {\n return 'x';\n }\n if (xh === Infinity) {\n return 'y';\n }\n if (yh === Infinity) {\n return 'x';\n }\n\n // eslint-disable-next-line no-console\n console.warn('hypotenuse - which is shorter? x:', xh, 'y:', yh);\n};\n/**\n * return the difference between bounds and a as a Point\n * @param {*} bounds\n */\nexport const diffEdge = (bounds, a, b) => {\n let l = log.enabled ? log.bind(log, `diffEdge: [${a.x},${a.y} -> ${b.x},${b.y}]`) : () => {};\n const xRadians = angle(a, b);\n l('x angle', toDegrees(xRadians));\n const yRadians = Math.abs(xRadians - toRadians(90));\n l('y angle', toDegrees(yRadians));\n const xSide = Math.abs(a.x - bounds.x);\n\n /**\n * Draw 2 triangles:\n * 1 with a horizontal line from a to the graph x edge\n * 1 with a vertical line from a to the graph y edge\n * Calculate the hypotenuse for both, whichever is shorter\n * indicates that we should use that triangle to get the edge point.\n */\n const xH = hypotenuse(xSide, yRadians);\n\n const ySide = Math.abs(a.y - bounds.y);\n const yH = hypotenuse(ySide, xRadians);\n\n l('x: side', xSide, 'h:', xH);\n l('y: side', ySide, 'h:', yH);\n const side = getShortestSide(xH, yH);\n\n if (side !== 'x' && side !== 'y') {\n throw new Error('Cant decide which hypotenuse to use');\n }\n const point =\n side === 'x'\n ? new Point(xSide, getOpposingSide(xH, xRadians))\n : new Point(getOpposingSide(yH, yRadians), ySide);\n\n l('point:', point);\n const multiplier = new Point(b.x < a.x ? -1 : 1, b.y < a.y ? -1 : 1);\n l('multiplier:', multiplier);\n const out = point.multByPoint(multiplier);\n l('out:', out);\n const normalized = out.add(new Point(a.x, a.y));\n l('normalized:', normalized);\n return normalized;\n};\n"],"file":"trig.js"}
|
|
1
|
+
{"version":3,"file":"trig.js","names":["log","debug","toDegrees","radians","Math","PI","toRadians","degrees","angle","a","b","vd","y","hd","x","atan2","NINETY","ONE_EIGHTY","TWO_SEVENTY","acuteXAngle","abs","acuteYAngle","hypotenuse","alpha","out","sin","edges","domain","range","destX","max","min","destY","aToB","diffEdge","xy","dX","dY","bToA","getOpposingSide","hyp","getShortestSide","xh","yh","Number","isFinite","isNaN","Infinity","console","warn","bounds","l","enabled","bind","xRadians","yRadians","xSide","xH","ySide","yH","side","Error","point","Point","multiplier","multByPoint","normalized","add"],"sources":["../src/trig.js"],"sourcesContent":["import { xy } from '../lib/utils';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nconst log = debug('pie-lib:plot:trig');\n\nexport const toDegrees = radians => radians * (180 / Math.PI);\nexport const toRadians = degrees => degrees * (Math.PI / 180);\n/**\n * return angle in radians between 2 points using counting degrees counter clockwise\n *\n * 0,0 + 1,1 = 45 in radians\n * 1,1 + 0,0 = 45?\n * @param {Point} a\n * @param {Point} b\n */\nexport const angle = (a, b) => {\n const vd = b.y - a.y;\n const hd = b.x - a.x;\n log(a, b, 'vd: ', vd, 'hd: ', hd);\n const radians = Math.atan2(vd, hd);\n return radians < 0 ? radians + Math.PI * 2 : radians;\n};\n\nconst NINETY = Math.PI / 2;\nconst ONE_EIGHTY = Math.PI;\nconst TWO_SEVENTY = ONE_EIGHTY + NINETY;\n\nexport const acuteXAngle = a => {\n log(toDegrees(a));\n\n if (a < NINETY) {\n return a;\n }\n\n if (a < ONE_EIGHTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n if (a < TWO_SEVENTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n return Math.abs(Math.PI * 2 - a);\n};\n\nexport const acuteYAngle = a => NINETY - acuteXAngle(a);\n\nexport const hypotenuse = (a, alpha) => {\n const out = Math.abs(a / Math.sin(alpha));\n\n return out;\n};\n\n/**\n * return 2 edge points for a,b within domain + range.\n * - one edge is from following a -> b to the bounds\n * - one edge is from following b -> a to the bounds\n * @param {{min: number, max: number}} domain\n * @param {{min: number, max: number}} range\n * @param {{x: number, y: number}} a\n * @param {{x: number, y: number}} b\n * @returns [{x: number, y: number}, {x: number, y: number}]\n */\nexport const edges = (domain, range) => (a, b) => {\n // const xDest =\n const destX = a.x < b.x ? domain.max : domain.min;\n const destY = a.y < b.y ? range.max : range.min;\n const aToB = diffEdge(xy(destX, destY), a, b);\n\n const dX = b.x < a.x ? domain.max : domain.min;\n const dY = b.y < a.y ? range.max : range.min;\n const bToA = diffEdge(xy(dX, dY), b, a);\n return [aToB, bToA];\n};\n\n/** get length of side A of a triangle from H and angle Alpha */\nexport const getOpposingSide = (hyp, angle) => {\n log('[getOpposingSide] hyp: ', hyp, 'angle:', angle);\n return Math.abs(hyp * Math.sin(angle));\n};\n\nconst getShortestSide = (xh, yh) => {\n if (Number.isFinite(xh) && Number.isFinite(yh)) {\n if (xh === 0 && yh > 0) {\n return 'y';\n }\n if (yh === 0 && xh > 0) {\n return 'x';\n }\n return xh < yh ? 'x' : 'y';\n }\n if (isNaN(xh) && !isNaN(yh)) {\n return 'y';\n }\n if (!isNaN(xh) && isNaN(yh)) {\n return 'x';\n }\n if (xh === Infinity) {\n return 'y';\n }\n if (yh === Infinity) {\n return 'x';\n }\n\n // eslint-disable-next-line no-console\n console.warn('hypotenuse - which is shorter? x:', xh, 'y:', yh);\n};\n/**\n * return the difference between bounds and a as a Point\n * @param {*} bounds\n */\nexport const diffEdge = (bounds, a, b) => {\n let l = log.enabled ? log.bind(log, `diffEdge: [${a.x},${a.y} -> ${b.x},${b.y}]`) : () => {};\n const xRadians = angle(a, b);\n l('x angle', toDegrees(xRadians));\n const yRadians = Math.abs(xRadians - toRadians(90));\n l('y angle', toDegrees(yRadians));\n const xSide = Math.abs(a.x - bounds.x);\n\n /**\n * Draw 2 triangles:\n * 1 with a horizontal line from a to the graph x edge\n * 1 with a vertical line from a to the graph y edge\n * Calculate the hypotenuse for both, whichever is shorter\n * indicates that we should use that triangle to get the edge point.\n */\n const xH = hypotenuse(xSide, yRadians);\n\n const ySide = Math.abs(a.y - bounds.y);\n const yH = hypotenuse(ySide, xRadians);\n\n l('x: side', xSide, 'h:', xH);\n l('y: side', ySide, 'h:', yH);\n const side = getShortestSide(xH, yH);\n\n if (side !== 'x' && side !== 'y') {\n throw new Error('Cant decide which hypotenuse to use');\n }\n const point =\n side === 'x'\n ? new Point(xSide, getOpposingSide(xH, xRadians))\n : new Point(getOpposingSide(yH, yRadians), ySide);\n\n l('point:', point);\n const multiplier = new Point(b.x < a.x ? -1 : 1, b.y < a.y ? -1 : 1);\n l('multiplier:', multiplier);\n const out = point.multByPoint(multiplier);\n l('out:', out);\n const normalized = out.add(new Point(a.x, a.y));\n l('normalized:', normalized);\n return normalized;\n};\n"],"mappings":"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"}
|
package/lib/types.js
CHANGED
|
@@ -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
|
});
|
|
@@ -7,8 +9,6 @@ exports.SnapType = exports.SizeType = exports.ScaleType = exports.RangeType = ex
|
|
|
7
9
|
|
|
8
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
11
|
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
12
|
var BaseDomainRangeType = {
|
|
13
13
|
min: _propTypes["default"].number.isRequired,
|
|
14
14
|
max: _propTypes["default"].number.isRequired,
|
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"types.js","names":["BaseDomainRangeType","min","PropTypes","number","isRequired","max","step","DomainType","shape","RangeType","SizeType","width","height","PointType","x","y","ChildrenType","oneOfType","arrayOf","node","ScaleType","func","SnapType","GraphPropsType","scale","snap","domain","range","size"],"sources":["../src/types.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport const BaseDomainRangeType = {\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n step: PropTypes.number\n};\n\nexport const DomainType = PropTypes.shape(BaseDomainRangeType);\n\nexport const RangeType = PropTypes.shape(BaseDomainRangeType);\n\nexport const SizeType = PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired\n});\n\nexport const PointType = PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n});\n\nexport const ChildrenType = PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n .isRequired;\n\nexport const ScaleType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired\n});\n\nexport const SnapType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired\n});\n\nexport const GraphPropsType = PropTypes.shape({\n scale: ScaleType.isRequired,\n snap: SnapType.isRequired,\n domain: DomainType.isRequired,\n range: RangeType.isRequired,\n size: SizeType.isRequired\n});\n"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,mBAAmB,GAAG;EACjCC,GAAG,EAAEC,qBAAA,CAAUC,MAAV,CAAiBC,UADW;EAEjCC,GAAG,EAAEH,qBAAA,CAAUC,MAAV,CAAiBC,UAFW;EAGjCE,IAAI,EAAEJ,qBAAA,CAAUC;AAHiB,CAA5B;;;AAMA,IAAMI,UAAU,GAAGL,qBAAA,CAAUM,KAAV,CAAgBR,mBAAhB,CAAnB;;;;AAEA,IAAMS,SAAS,GAAGP,qBAAA,CAAUM,KAAV,CAAgBR,mBAAhB,CAAlB;;;;AAEA,IAAMU,QAAQ,GAAGR,qBAAA,CAAUM,KAAV,CAAgB;EACtCG,KAAK,EAAET,qBAAA,CAAUC,MAAV,CAAiBC,UADc;EAEtCQ,MAAM,EAAEV,qBAAA,CAAUC,MAAV,CAAiBC;AAFa,CAAhB,CAAjB;;;;AAKA,IAAMS,SAAS,GAAGX,qBAAA,CAAUM,KAAV,CAAgB;EACvCM,CAAC,EAAEZ,qBAAA,CAAUC,MAAV,CAAiBC,UADmB;EAEvCW,CAAC,EAAEb,qBAAA,CAAUC,MAAV,CAAiBC;AAFmB,CAAhB,CAAlB;;;;AAKA,IAAMY,YAAY,GAAGd,qBAAA,CAAUe,SAAV,CAAoB,CAACf,qBAAA,CAAUgB,OAAV,CAAkBhB,qBAAA,CAAUiB,IAA5B,CAAD,EAAoCjB,qBAAA,CAAUiB,IAA9C,CAApB,EACzBf,UADI;;;;AAGA,IAAMgB,SAAS,GAAGlB,qBAAA,CAAUM,KAAV,CAAgB;EACvCM,CAAC,EAAEZ,qBAAA,CAAUmB,IAAV,CAAejB,UADqB;EAEvCW,CAAC,EAAEb,qBAAA,CAAUmB,IAAV,CAAejB;AAFqB,CAAhB,CAAlB;;;;AAKA,IAAMkB,QAAQ,GAAGpB,qBAAA,CAAUM,KAAV,CAAgB;EACtCM,CAAC,EAAEZ,qBAAA,CAAUmB,IAAV,CAAejB,UADoB;EAEtCW,CAAC,EAAEb,qBAAA,CAAUmB,IAAV,CAAejB;AAFoB,CAAhB,CAAjB;;;;AAKA,IAAMmB,cAAc,GAAGrB,qBAAA,CAAUM,KAAV,CAAgB;EAC5CgB,KAAK,EAAEJ,SAAS,CAAChB,UAD2B;EAE5CqB,IAAI,EAAEH,QAAQ,CAAClB,UAF6B;EAG5CsB,MAAM,EAAEnB,UAAU,CAACH,UAHyB;EAI5CuB,KAAK,EAAElB,SAAS,CAACL,UAJ2B;EAK5CwB,IAAI,EAAElB,QAAQ,CAACN;AAL6B,CAAhB,CAAvB"}
|
package/lib/utils.js
CHANGED
|
@@ -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
|
});
|
|
@@ -23,8 +25,6 @@ var _tail = _interopRequireDefault(require("lodash/tail"));
|
|
|
23
25
|
|
|
24
26
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
25
27
|
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
27
|
-
|
|
28
28
|
var xy = function xy(x, y) {
|
|
29
29
|
return {
|
|
30
30
|
x: x,
|
|
@@ -183,7 +183,7 @@ exports.bandKey = bandKey;
|
|
|
183
183
|
|
|
184
184
|
var isDomainRangeEqual = function isDomainRangeEqual(graphProps, nextGraphProps) {
|
|
185
185
|
return (0, _isEqual["default"])(graphProps.domain, nextGraphProps.domain) && (0, _isEqual["default"])(graphProps.range, nextGraphProps.range);
|
|
186
|
-
}; // findLongestWord is also used in
|
|
186
|
+
}; // findLongestWord is also used in graphing
|
|
187
187
|
|
|
188
188
|
|
|
189
189
|
exports.isDomainRangeEqual = isDomainRangeEqual;
|
|
@@ -193,7 +193,7 @@ var findLongestWord = function findLongestWord(label) {
|
|
|
193
193
|
return b.length - a.length;
|
|
194
194
|
});
|
|
195
195
|
return longestWord[0].length;
|
|
196
|
-
}; // amountToIncreaseWidth is also used in
|
|
196
|
+
}; // amountToIncreaseWidth is also used in graphing
|
|
197
197
|
|
|
198
198
|
|
|
199
199
|
exports.findLongestWord = findLongestWord;
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.js"],"names":["xy","x","y","buildSizeArray","size","padding","Number","isFinite","Math","max","half","round","tickCount","min","step","abs","getInterval","domain","ticks","major","minor","Error","distance","minorTicks","normalizedMajor","isNaN","divider","raw","parseFloat","toFixed","mkRange","interval","splice","length","snapTo","value","rng","filter","v","reduce","prev","curr","currentDistance","previousDistance","buildTickModel","scaleFn","map","r","index","isMajor","polygonToArea","points","h","area","left","top","bottom","right","a","p","lineToArea","from","to","bounds","range","point","o","Point","getDelta","sub","bandKey","d","label","isDomainRangeEqual","graphProps","nextGraphProps","findLongestWord","longestWord","replace","split","sort","b","amountToIncreaseWidth"],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport range from 'lodash/range';\nimport Point from '@mapbox/point-geometry';\nimport head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport isEqual from 'lodash/isEqual';\n\nexport const xy = (x, y) => ({ x, y });\n\nexport const buildSizeArray = (size, padding) => {\n padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;\n invariant(padding < size, 'padding must be less than size');\n const half = Math.round(padding * 0.5);\n return [half, size - half];\n};\n\nexport const tickCount = (min, max, step) => {\n invariant(min < max, 'min must be less than max');\n const size = Math.abs(min - max);\n return Math.round(size / step);\n};\n\nexport function getInterval(domain, ticks) {\n const { min, max } = domain;\n const { major, minor } = ticks;\n\n if (min >= max) {\n throw new Error(`min is > max: ${min} > ${max}`);\n }\n\n const distance = max - min;\n const minorTicks = minor > 0 ? minor + 1 : 1;\n const normalizedMajor = major - 1;\n\n if (isNaN(normalizedMajor)) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n if (normalizedMajor <= 0) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n const divider = normalizedMajor * minorTicks;\n const raw = distance / divider;\n return parseFloat(Number(raw).toFixed(4));\n}\n\nconst mkRange = (min, max, interval) => {\n const raw = range(min, max, interval);\n /* Fix the last step due to rounding errors */\n raw.splice(raw.length, 1, max);\n return raw;\n};\n\nexport function snapTo(min, max, interval, value) {\n if (value >= max) {\n return max;\n }\n\n if (value <= min) {\n return min;\n }\n\n let rng = mkRange(min, max, interval);\n\n rng = rng.filter(v => {\n return Math.abs(value - v) <= interval;\n });\n\n return (\n rng.length &&\n rng.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n}\n\nexport function buildTickModel(domain, ticks, interval, scaleFn) {\n const rng = mkRange(domain.min, domain.max, interval);\n\n return rng.map((r, index) => {\n const isMajor = index % (ticks.minor + 1) === 0;\n\n return {\n value: r,\n major: isMajor,\n x: scaleFn(r)\n };\n });\n}\n\nexport const polygonToArea = points => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => {\n const left = Math.min(from.x, to.x);\n const top = Math.max(from.y, to.y);\n const bottom = Math.min(from.y, to.y);\n const right = Math.max(from.x, to.x);\n return { left, top, bottom, right };\n};\n\nexport const bounds = (area, domain, range) => {\n return {\n left: domain.min - area.left,\n right: Math.abs(area.right - domain.max),\n top: Math.abs(area.top - range.max),\n bottom: range.min - area.bottom\n };\n};\n\nexport const point = o => new Point(o.x, o.y);\nexport const getDelta = (from, to) => {\n return point(to).sub(point(from));\n};\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return (\n isEqual(graphProps.domain, nextGraphProps.domain) &&\n isEqual(graphProps.range, nextGraphProps.range)\n );\n};\n\n// findLongestWord is also used in grapghing\nexport const findLongestWord = label => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in grapghing\nexport const amountToIncreaseWidth = longestWord => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 20;\n};\n"],"file":"utils.js"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["xy","x","y","buildSizeArray","size","padding","Number","isFinite","Math","max","invariant","half","round","tickCount","min","step","abs","getInterval","domain","ticks","major","minor","Error","distance","minorTicks","normalizedMajor","isNaN","divider","raw","parseFloat","toFixed","mkRange","interval","range","splice","length","snapTo","value","rng","filter","v","reduce","prev","curr","currentDistance","previousDistance","buildTickModel","scaleFn","map","r","index","isMajor","polygonToArea","points","h","head","area","left","top","bottom","right","tail","a","p","lineToArea","from","to","bounds","point","o","Point","getDelta","sub","bandKey","d","label","isDomainRangeEqual","graphProps","nextGraphProps","isEqual","findLongestWord","longestWord","replace","split","sort","b","amountToIncreaseWidth"],"sources":["../src/utils.js"],"sourcesContent":["import invariant from 'invariant';\nimport range from 'lodash/range';\nimport Point from '@mapbox/point-geometry';\nimport head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport isEqual from 'lodash/isEqual';\n\nexport const xy = (x, y) => ({ x, y });\n\nexport const buildSizeArray = (size, padding) => {\n padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;\n invariant(padding < size, 'padding must be less than size');\n const half = Math.round(padding * 0.5);\n return [half, size - half];\n};\n\nexport const tickCount = (min, max, step) => {\n invariant(min < max, 'min must be less than max');\n const size = Math.abs(min - max);\n return Math.round(size / step);\n};\n\nexport function getInterval(domain, ticks) {\n const { min, max } = domain;\n const { major, minor } = ticks;\n\n if (min >= max) {\n throw new Error(`min is > max: ${min} > ${max}`);\n }\n\n const distance = max - min;\n const minorTicks = minor > 0 ? minor + 1 : 1;\n const normalizedMajor = major - 1;\n\n if (isNaN(normalizedMajor)) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n if (normalizedMajor <= 0) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n const divider = normalizedMajor * minorTicks;\n const raw = distance / divider;\n return parseFloat(Number(raw).toFixed(4));\n}\n\nconst mkRange = (min, max, interval) => {\n const raw = range(min, max, interval);\n /* Fix the last step due to rounding errors */\n raw.splice(raw.length, 1, max);\n return raw;\n};\n\nexport function snapTo(min, max, interval, value) {\n if (value >= max) {\n return max;\n }\n\n if (value <= min) {\n return min;\n }\n\n let rng = mkRange(min, max, interval);\n\n rng = rng.filter(v => {\n return Math.abs(value - v) <= interval;\n });\n\n return (\n rng.length &&\n rng.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n}\n\nexport function buildTickModel(domain, ticks, interval, scaleFn) {\n const rng = mkRange(domain.min, domain.max, interval);\n\n return rng.map((r, index) => {\n const isMajor = index % (ticks.minor + 1) === 0;\n\n return {\n value: r,\n major: isMajor,\n x: scaleFn(r)\n };\n });\n}\n\nexport const polygonToArea = points => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => {\n const left = Math.min(from.x, to.x);\n const top = Math.max(from.y, to.y);\n const bottom = Math.min(from.y, to.y);\n const right = Math.max(from.x, to.x);\n return { left, top, bottom, right };\n};\n\nexport const bounds = (area, domain, range) => {\n return {\n left: domain.min - area.left,\n right: Math.abs(area.right - domain.max),\n top: Math.abs(area.top - range.max),\n bottom: range.min - area.bottom\n };\n};\n\nexport const point = o => new Point(o.x, o.y);\nexport const getDelta = (from, to) => {\n return point(to).sub(point(from));\n};\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return (\n isEqual(graphProps.domain, nextGraphProps.domain) &&\n isEqual(graphProps.range, nextGraphProps.range)\n );\n};\n\n// findLongestWord is also used in graphing\nexport const findLongestWord = label => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in graphing\nexport const amountToIncreaseWidth = longestWord => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 20;\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.1.10-next.
|
|
6
|
+
"version": "2.1.10-next.540+3582f0a3",
|
|
7
7
|
"description": "Some underlying components for building charts/graphs",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -38,6 +38,6 @@
|
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "^16.8.1"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "3582f0a3ad0634e12ed01ff8a0653ea00cd86cbe",
|
|
42
42
|
"scripts": {}
|
|
43
43
|
}
|
package/src/graph-props.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import invariant from 'invariant';
|
|
2
|
-
import {
|
|
2
|
+
import { snapTo } from './utils';
|
|
3
3
|
import { scaleLinear } from 'd3-scale';
|
|
4
4
|
|
|
5
5
|
const createSnapMinAndMax = ({ min, max, step }) => {
|
|
@@ -16,19 +16,16 @@ export const create = (domain, range, size, getRootNode) => {
|
|
|
16
16
|
invariant(domain.min < domain.max, 'domain: min must be less than max');
|
|
17
17
|
invariant(range.min < range.max, 'range: min must be less than max');
|
|
18
18
|
|
|
19
|
-
const widthArray = buildSizeArray(size.width, domain.padding);
|
|
20
|
-
const heightArray = buildSizeArray(size.height, range.padding);
|
|
21
|
-
|
|
22
19
|
const domainMinMax = createSnapMinAndMax(domain);
|
|
23
20
|
const rangeMinMax = createSnapMinAndMax(range);
|
|
24
21
|
|
|
25
22
|
const scale = {
|
|
26
23
|
x: scaleLinear()
|
|
27
24
|
.domain([domain.min, domain.max])
|
|
28
|
-
.range(
|
|
25
|
+
.range([0, size.width]),
|
|
29
26
|
y: scaleLinear()
|
|
30
27
|
.domain([range.max, range.min])
|
|
31
|
-
.range(
|
|
28
|
+
.range([0, size.height])
|
|
32
29
|
};
|
|
33
30
|
|
|
34
31
|
const snap = {
|