@pie-lib/tools 0.9.22 → 0.9.25
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 +51 -238
- package/lib/anchor-utils.js +3 -3
- package/lib/anchor-utils.js.map +1 -1
- package/lib/anchor.js +3 -3
- package/lib/anchor.js.map +1 -1
- package/lib/index.js +10 -6
- package/lib/index.js.map +1 -1
- package/lib/protractor/graphic.js +37 -44
- package/lib/protractor/graphic.js.map +1 -1
- package/lib/protractor/index.js +28 -36
- package/lib/protractor/index.js.map +1 -1
- package/lib/rotatable.js +42 -60
- package/lib/rotatable.js.map +1 -1
- package/lib/ruler/graphic.js +29 -36
- package/lib/ruler/graphic.js.map +1 -1
- package/lib/ruler/index.js +29 -37
- package/lib/ruler/index.js.map +1 -1
- package/lib/ruler/unit-type.js +8 -8
- package/lib/ruler/unit-type.js.map +1 -1
- package/lib/ruler/unit.js +32 -39
- package/lib/ruler/unit.js.map +1 -1
- package/lib/style-utils.js +2 -1
- package/lib/style-utils.js.map +1 -1
- package/lib/transform-origin.js.map +1 -1
- package/package.json +3 -3
- package/src/anchor-utils.js +7 -7
- package/src/anchor.jsx +4 -4
- package/src/protractor/graphic.jsx +20 -39
- package/src/protractor/index.jsx +9 -9
- package/src/rotatable.jsx +34 -34
- package/src/ruler/graphic.jsx +8 -17
- package/src/ruler/index.jsx +12 -22
- package/src/ruler/unit-type.jsx +5 -5
- package/src/ruler/unit.jsx +12 -12
- package/src/style-utils.js +2 -2
- package/src/transform-origin.jsx +3 -3
package/lib/rotatable.js
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
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
|
});
|
|
6
8
|
exports["default"] = exports.Rotatable = void 0;
|
|
7
9
|
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
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
|
+
|
|
8
24
|
var _react = _interopRequireDefault(require("react"));
|
|
9
25
|
|
|
10
26
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -21,27 +37,9 @@ var _transformOrigin = require("./transform-origin");
|
|
|
21
37
|
|
|
22
38
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
39
|
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
27
|
-
|
|
28
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
29
|
-
|
|
30
|
-
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); } }
|
|
31
|
-
|
|
32
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
33
|
-
|
|
34
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
35
|
-
|
|
36
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
37
|
-
|
|
38
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
39
|
-
|
|
40
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
41
|
-
|
|
42
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
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
|
-
function
|
|
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
44
|
var Anchor = (0, _styles.withStyles)({
|
|
47
45
|
anchor: {
|
|
@@ -58,13 +56,13 @@ var Anchor = (0, _styles.withStyles)({
|
|
|
58
56
|
fill = _ref.fill;
|
|
59
57
|
color = color || 'green';
|
|
60
58
|
fill = fill || 'white';
|
|
61
|
-
return _react["default"].createElement(_reactPortal.Portal, null, _react["default"].createElement("svg", {
|
|
59
|
+
return /*#__PURE__*/_react["default"].createElement(_reactPortal.Portal, null, /*#__PURE__*/_react["default"].createElement("svg", {
|
|
62
60
|
className: classes.anchor,
|
|
63
61
|
style: {
|
|
64
62
|
left: left - 10,
|
|
65
63
|
top: top - 10
|
|
66
64
|
}
|
|
67
|
-
}, _react["default"].createElement("circle", {
|
|
65
|
+
}, /*#__PURE__*/_react["default"].createElement("circle", {
|
|
68
66
|
cx: 10,
|
|
69
67
|
cy: 10,
|
|
70
68
|
r: 8,
|
|
@@ -78,19 +76,17 @@ var Anchor = (0, _styles.withStyles)({
|
|
|
78
76
|
* https://bl.ocks.org/joyrexus/7207044
|
|
79
77
|
*/
|
|
80
78
|
|
|
81
|
-
var Rotatable =
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
var Rotatable = /*#__PURE__*/function (_React$Component) {
|
|
80
|
+
(0, _inherits2["default"])(Rotatable, _React$Component);
|
|
81
|
+
|
|
82
|
+
var _super = _createSuper(Rotatable);
|
|
85
83
|
|
|
86
84
|
function Rotatable(props) {
|
|
87
85
|
var _this;
|
|
88
86
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
_defineProperty(_assertThisInitialized(_this), "initHandles", function () {
|
|
87
|
+
(0, _classCallCheck2["default"])(this, Rotatable);
|
|
88
|
+
_this = _super.call(this, props);
|
|
89
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "initHandles", function () {
|
|
94
90
|
var handle = _this.props.handle;
|
|
95
91
|
|
|
96
92
|
if (Array.isArray(handle)) {
|
|
@@ -112,12 +108,10 @@ function (_React$Component) {
|
|
|
112
108
|
});
|
|
113
109
|
}
|
|
114
110
|
});
|
|
115
|
-
|
|
116
|
-
_defineProperty(_assertThisInitialized(_this), "addMouseUpHandler", function () {
|
|
111
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addMouseUpHandler", function () {
|
|
117
112
|
document.addEventListener('mouseup', _this.rotateStop);
|
|
118
113
|
});
|
|
119
|
-
|
|
120
|
-
_defineProperty(_assertThisInitialized(_this), "originToXY", function (origin) {
|
|
114
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "originToXY", function (origin) {
|
|
121
115
|
var _this$rotatable = _this.rotatable,
|
|
122
116
|
width = _this$rotatable.clientWidth,
|
|
123
117
|
height = _this$rotatable.clientHeight;
|
|
@@ -126,8 +120,7 @@ function (_React$Component) {
|
|
|
126
120
|
height: height
|
|
127
121
|
}, origin);
|
|
128
122
|
});
|
|
129
|
-
|
|
130
|
-
_defineProperty(_assertThisInitialized(_this), "getAnchor", function (origin) {
|
|
123
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getAnchor", function (origin) {
|
|
131
124
|
var rotation = _this.state.rotation;
|
|
132
125
|
var _this$rotatable2 = _this.rotatable,
|
|
133
126
|
clientWidth = _this$rotatable2.clientWidth,
|
|
@@ -151,8 +144,7 @@ function (_React$Component) {
|
|
|
151
144
|
left: left + anchorLeft
|
|
152
145
|
};
|
|
153
146
|
});
|
|
154
|
-
|
|
155
|
-
_defineProperty(_assertThisInitialized(_this), "rotateStart", function (origin) {
|
|
147
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rotateStart", function (origin) {
|
|
156
148
|
return function (e) {
|
|
157
149
|
var isRotating = _this.state.isRotating;
|
|
158
150
|
|
|
@@ -198,8 +190,7 @@ function (_React$Component) {
|
|
|
198
190
|
});
|
|
199
191
|
};
|
|
200
192
|
});
|
|
201
|
-
|
|
202
|
-
_defineProperty(_assertThisInitialized(_this), "rotateStop", function (e) {
|
|
193
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rotateStop", function (e) {
|
|
203
194
|
var isRotating = _this.state.isRotating;
|
|
204
195
|
|
|
205
196
|
if (!isRotating) {
|
|
@@ -218,8 +209,7 @@ function (_React$Component) {
|
|
|
218
209
|
document.removeEventListener('mousemove', _this.drag);
|
|
219
210
|
});
|
|
220
211
|
});
|
|
221
|
-
|
|
222
|
-
_defineProperty(_assertThisInitialized(_this), "rotate", function (e) {
|
|
212
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rotate", function (e) {
|
|
223
213
|
var isRotating = _this.state.isRotating;
|
|
224
214
|
|
|
225
215
|
if (!isRotating) {
|
|
@@ -251,8 +241,7 @@ function (_React$Component) {
|
|
|
251
241
|
computedAnchor: computedAnchor
|
|
252
242
|
});
|
|
253
243
|
});
|
|
254
|
-
|
|
255
|
-
_defineProperty(_assertThisInitialized(_this), "mouseDown", function (e) {
|
|
244
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "mouseDown", function (e) {
|
|
256
245
|
var handle = _this.handles.find(function (h) {
|
|
257
246
|
return h.el === e.target;
|
|
258
247
|
});
|
|
@@ -261,8 +250,7 @@ function (_React$Component) {
|
|
|
261
250
|
_this.dragStart(e);
|
|
262
251
|
}
|
|
263
252
|
});
|
|
264
|
-
|
|
265
|
-
_defineProperty(_assertThisInitialized(_this), "dragStart", function (e) {
|
|
253
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragStart", function (e) {
|
|
266
254
|
var dragPoint = new _pointGeometry["default"](e.pageX, e.pageY);
|
|
267
255
|
|
|
268
256
|
_this.setState({
|
|
@@ -271,8 +259,7 @@ function (_React$Component) {
|
|
|
271
259
|
document.addEventListener('mousemove', _this.drag);
|
|
272
260
|
});
|
|
273
261
|
});
|
|
274
|
-
|
|
275
|
-
_defineProperty(_assertThisInitialized(_this), "drag", function (e) {
|
|
262
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "drag", function (e) {
|
|
276
263
|
e.preventDefault();
|
|
277
264
|
var current = new _pointGeometry["default"](e.pageX, e.pageY);
|
|
278
265
|
var translate = current.sub(_this.state.dragPoint);
|
|
@@ -281,8 +268,7 @@ function (_React$Component) {
|
|
|
281
268
|
translate: translate
|
|
282
269
|
});
|
|
283
270
|
});
|
|
284
|
-
|
|
285
|
-
_defineProperty(_assertThisInitialized(_this), "mouseUp", function () {
|
|
271
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "mouseUp", function () {
|
|
286
272
|
if (!_this.state.translate) {
|
|
287
273
|
return;
|
|
288
274
|
}
|
|
@@ -302,7 +288,6 @@ function (_React$Component) {
|
|
|
302
288
|
translate: null
|
|
303
289
|
});
|
|
304
290
|
});
|
|
305
|
-
|
|
306
291
|
_this.state = {
|
|
307
292
|
isRotating: false,
|
|
308
293
|
rotation: 0,
|
|
@@ -316,7 +301,7 @@ function (_React$Component) {
|
|
|
316
301
|
return _this;
|
|
317
302
|
}
|
|
318
303
|
|
|
319
|
-
|
|
304
|
+
(0, _createClass2["default"])(Rotatable, [{
|
|
320
305
|
key: "componentWillUnmount",
|
|
321
306
|
value: function componentWillUnmount() {
|
|
322
307
|
var _this2 = this;
|
|
@@ -369,7 +354,7 @@ function (_React$Component) {
|
|
|
369
354
|
transformOrigin: origin,
|
|
370
355
|
transform: "".concat(t, " rotate(").concat(rotation, "deg)")
|
|
371
356
|
};
|
|
372
|
-
return _react["default"].createElement("div", {
|
|
357
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
373
358
|
className: (0, _classnames["default"])(classes.rotatable, className),
|
|
374
359
|
style: style,
|
|
375
360
|
ref: function ref(r) {
|
|
@@ -377,16 +362,14 @@ function (_React$Component) {
|
|
|
377
362
|
},
|
|
378
363
|
onMouseDown: this.mouseDown,
|
|
379
364
|
onMouseUp: this.mouseUp
|
|
380
|
-
}, anchor && showAnchor && _react["default"].createElement(Anchor, anchor), children);
|
|
365
|
+
}, anchor && showAnchor && /*#__PURE__*/_react["default"].createElement(Anchor, anchor), children);
|
|
381
366
|
}
|
|
382
367
|
}]);
|
|
383
|
-
|
|
384
368
|
return Rotatable;
|
|
385
369
|
}(_react["default"].Component);
|
|
386
370
|
|
|
387
371
|
exports.Rotatable = Rotatable;
|
|
388
|
-
|
|
389
|
-
_defineProperty(Rotatable, "propTypes", {
|
|
372
|
+
(0, _defineProperty2["default"])(Rotatable, "propTypes", {
|
|
390
373
|
classes: _propTypes["default"].object.isRequired,
|
|
391
374
|
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
|
|
392
375
|
showAnchor: _propTypes["default"].bool,
|
|
@@ -400,8 +383,7 @@ _defineProperty(Rotatable, "propTypes", {
|
|
|
400
383
|
top: _propTypes["default"].number
|
|
401
384
|
})
|
|
402
385
|
});
|
|
403
|
-
|
|
404
|
-
_defineProperty(Rotatable, "defaultProps", {
|
|
386
|
+
(0, _defineProperty2["default"])(Rotatable, "defaultProps", {
|
|
405
387
|
showAnchor: false,
|
|
406
388
|
startPosition: {
|
|
407
389
|
left: 0,
|
package/lib/rotatable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rotatable.jsx"],"names":["Anchor","anchor","position","zIndex","width","height","classes","left","top","color","fill","Rotatable","props","handle","Array","isArray","handles","forEach","h","el","rotatable","querySelector","mousedownHandler","rotateStart","origin","addEventListener","rotateStop","push","document","clientWidth","clientHeight","rotation","state","getBoundingClientRect","xy","originToXY","anchorTop","anchorLeft","e","isRotating","preventDefault","getAnchor","getAngle","startAngle","angle","diff","x","y","setState","rotate","current","removeEventListener","drag","computedAnchor","find","target","dragStart","dragPoint","Point","pageX","pageY","translate","sub","lastPosition","startPosition","addMouseUpHandler","initHandles","clientX","clientY","children","showAnchor","className","t","style","transformOrigin","transform","r","mouseDown","mouseUp","React","Component","PropTypes","object","isRequired","oneOfType","arrayOf","node","bool","shape","string","number","display","cursor"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getAnchor as calcAnchor, distanceBetween, arctangent } from './anchor-utils';\nimport { Portal } from 'react-portal';\nimport Point from '@mapbox/point-geometry';\nimport { parse as parseOrigin } from './transform-origin';\nimport classNames from 'classnames';\n\nconst Anchor = withStyles({\n anchor: {\n position: 'absolute',\n zIndex: 100,\n width: '200px',\n height: '80px'\n }\n})(({ classes, left, top, color, fill }) => {\n color = color || 'green';\n fill = fill || 'white';\n return (\n <Portal>\n <svg\n className={classes.anchor}\n style={{\n left: left - 10,\n top: top - 10\n }}\n >\n <circle cx={10} cy={10} r={8} strokeWidth={1} stroke={color} fill={fill} />\n </svg>\n </Portal>\n );\n});\n\n/**\n * Tip o' the hat to:\n * https://bl.ocks.org/joyrexus/7207044\n */\nexport class Rotatable extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n showAnchor: PropTypes.bool,\n handle: PropTypes.arrayOf(\n PropTypes.shape({\n class: PropTypes.string.isRequired,\n origin: PropTypes.string\n })\n ),\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number,\n top: PropTypes.number\n })\n };\n\n static defaultProps = {\n showAnchor: false,\n startPosition: { left: 0, top: 0 }\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isRotating: false,\n rotation: 0,\n startAngle: 0,\n angle: 0,\n position: {\n left: props.startPosition.left,\n top: props.startPosition.top\n }\n };\n }\n\n componentWillUnmount() {\n document.removeEventListener('mouseup', this.rotateStop);\n document.removeEventListener('mousemove', this.drag);\n document.removeEventListener('mousemove', this.rotate);\n\n this.handles.forEach(h => {\n h.el.removeEventListener('mousedown', h.mousedownHandler);\n h.el.removeEventListener('mouseup', this.rotateStop);\n });\n }\n\n componentDidMount() {\n this.addMouseUpHandler();\n this.initHandles();\n }\n\n initHandles = () => {\n const { handle } = this.props;\n\n if (Array.isArray(handle)) {\n this.handles = [];\n handle.forEach(h => {\n const el = this.rotatable.querySelector(`.${h.class}`);\n\n if (el) {\n const mousedownHandler = this.rotateStart(h.origin);\n el.addEventListener('mousedown', mousedownHandler);\n el.addEventListener('mouseup', this.rotateStop);\n this.handles.push({ el, mousedownHandler });\n }\n });\n }\n };\n\n addMouseUpHandler = () => {\n document.addEventListener('mouseup', this.rotateStop);\n };\n\n originToXY = origin => {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n return parseOrigin({ width, height }, origin);\n };\n\n /**\n * Get the anchor point for the given element, origin and rotation.\n * @returns {{left:number, top: number}} - the co-ordinates of the anchor point relative to the whole page.\n */\n getAnchor = origin => {\n const { rotation } = this.state;\n const { clientWidth, clientHeight } = this.rotatable;\n const { top, left } = this.rotatable.getBoundingClientRect();\n const xy = this.originToXY(origin);\n const { top: anchorTop, left: anchorLeft } = calcAnchor(\n {\n width: clientWidth,\n height: clientHeight\n },\n xy,\n rotation\n );\n\n return {\n top: top + anchorTop,\n left: left + anchorLeft\n };\n };\n\n rotateStart = origin => e => {\n const { isRotating } = this.state;\n if (isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const anchor = this.getAnchor(origin);\n const { rotation } = this.state;\n const { angle: startAngle } = this.getAngle(anchor, e);\n\n let diff = { x: 0, y: 0 };\n if (origin !== this.state.origin) {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n diff = distanceBetween({ width, height }, rotation, this.state.origin, origin);\n }\n\n this.setState(\n {\n origin,\n isRotating: true,\n startAngle,\n anchor,\n position: {\n left: this.state.position.left + diff.x,\n top: this.state.position.top + diff.y\n }\n },\n () => {\n document.addEventListener('mousemove', this.rotate);\n }\n );\n };\n\n rotateStop = e => {\n const { isRotating } = this.state;\n\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n this.setState(\n {\n isRotating: false,\n angle: this.state.rotation,\n anchor: null,\n current: null\n },\n () => {\n document.removeEventListener('mousemove', this.rotate);\n document.removeEventListener('mousemove', this.drag);\n }\n );\n };\n\n getAngle(anchor, e) {\n const x = e.clientX - anchor.left;\n const y = (e.clientY - anchor.top) * -1;\n return { angle: arctangent(x, y), x, y };\n }\n\n rotate = e => {\n const { isRotating } = this.state;\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const { startAngle, angle, anchor } = this.state;\n const { angle: current, x, y } = this.getAngle(anchor, e);\n const computedAnchor = { x, y };\n const diff = current - startAngle;\n const rotation = angle + diff;\n this.setState({ rotation, diff, current, computedAnchor });\n };\n\n mouseDown = e => {\n const handle = this.handles.find(h => h.el === e.target);\n\n if (!handle) {\n this.dragStart(e);\n }\n };\n\n dragStart = e => {\n const dragPoint = new Point(e.pageX, e.pageY);\n this.setState({ dragPoint }, () => {\n document.addEventListener('mousemove', this.drag);\n });\n };\n\n drag = e => {\n e.preventDefault();\n const current = new Point(e.pageX, e.pageY);\n const translate = current.sub(this.state.dragPoint);\n this.setState({ translate });\n };\n\n mouseUp = () => {\n if (!this.state.translate) {\n return;\n }\n\n const { position: lastPosition, translate } = this.state;\n\n const position = {\n left: lastPosition.left + translate.x,\n top: lastPosition.top + translate.y\n };\n\n document.removeEventListener('mousemove', this.drag);\n this.setState({ position, dragPoint: null, translate: null });\n };\n\n render() {\n const { children, classes, showAnchor, className } = this.props;\n const { rotation, anchor, origin, translate, position } = this.state;\n\n const t = translate ? `translate(${translate.x}px, ${translate.y}px)` : '';\n\n const style = {\n left: position.left,\n top: position.top,\n transformOrigin: origin,\n transform: `${t} rotate(${rotation}deg)`\n };\n\n return (\n <div\n className={classNames(classes.rotatable, className)}\n style={style}\n ref={r => (this.rotatable = r)}\n onMouseDown={this.mouseDown}\n onMouseUp={this.mouseUp}\n >\n {anchor && showAnchor && <Anchor {...anchor} />}\n {children}\n </div>\n );\n }\n}\n\nexport default withStyles({\n rotatable: {\n position: 'relative',\n display: 'inline-block',\n cursor: 'move'\n }\n})(Rotatable);\n"],"file":"rotatable.js"}
|
|
1
|
+
{"version":3,"sources":["../src/rotatable.jsx"],"names":["Anchor","anchor","position","zIndex","width","height","classes","left","top","color","fill","Rotatable","props","handle","Array","isArray","handles","forEach","h","el","rotatable","querySelector","mousedownHandler","rotateStart","origin","addEventListener","rotateStop","push","document","clientWidth","clientHeight","rotation","state","getBoundingClientRect","xy","originToXY","anchorTop","anchorLeft","e","isRotating","preventDefault","getAnchor","getAngle","startAngle","angle","diff","x","y","setState","rotate","current","removeEventListener","drag","computedAnchor","find","target","dragStart","dragPoint","Point","pageX","pageY","translate","sub","lastPosition","startPosition","addMouseUpHandler","initHandles","clientX","clientY","children","showAnchor","className","t","style","transformOrigin","transform","r","mouseDown","mouseUp","React","Component","PropTypes","object","isRequired","oneOfType","arrayOf","node","bool","shape","string","number","display","cursor"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getAnchor as calcAnchor, distanceBetween, arctangent } from './anchor-utils';\nimport { Portal } from 'react-portal';\nimport Point from '@mapbox/point-geometry';\nimport { parse as parseOrigin } from './transform-origin';\nimport classNames from 'classnames';\n\nconst Anchor = withStyles({\n anchor: {\n position: 'absolute',\n zIndex: 100,\n width: '200px',\n height: '80px',\n },\n})(({ classes, left, top, color, fill }) => {\n color = color || 'green';\n fill = fill || 'white';\n return (\n <Portal>\n <svg\n className={classes.anchor}\n style={{\n left: left - 10,\n top: top - 10,\n }}\n >\n <circle cx={10} cy={10} r={8} strokeWidth={1} stroke={color} fill={fill} />\n </svg>\n </Portal>\n );\n});\n\n/**\n * Tip o' the hat to:\n * https://bl.ocks.org/joyrexus/7207044\n */\nexport class Rotatable extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n showAnchor: PropTypes.bool,\n handle: PropTypes.arrayOf(\n PropTypes.shape({\n class: PropTypes.string.isRequired,\n origin: PropTypes.string,\n }),\n ),\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number,\n top: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n showAnchor: false,\n startPosition: { left: 0, top: 0 },\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isRotating: false,\n rotation: 0,\n startAngle: 0,\n angle: 0,\n position: {\n left: props.startPosition.left,\n top: props.startPosition.top,\n },\n };\n }\n\n componentWillUnmount() {\n document.removeEventListener('mouseup', this.rotateStop);\n document.removeEventListener('mousemove', this.drag);\n document.removeEventListener('mousemove', this.rotate);\n\n this.handles.forEach((h) => {\n h.el.removeEventListener('mousedown', h.mousedownHandler);\n h.el.removeEventListener('mouseup', this.rotateStop);\n });\n }\n\n componentDidMount() {\n this.addMouseUpHandler();\n this.initHandles();\n }\n\n initHandles = () => {\n const { handle } = this.props;\n\n if (Array.isArray(handle)) {\n this.handles = [];\n handle.forEach((h) => {\n const el = this.rotatable.querySelector(`.${h.class}`);\n\n if (el) {\n const mousedownHandler = this.rotateStart(h.origin);\n el.addEventListener('mousedown', mousedownHandler);\n el.addEventListener('mouseup', this.rotateStop);\n this.handles.push({ el, mousedownHandler });\n }\n });\n }\n };\n\n addMouseUpHandler = () => {\n document.addEventListener('mouseup', this.rotateStop);\n };\n\n originToXY = (origin) => {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n return parseOrigin({ width, height }, origin);\n };\n\n /**\n * Get the anchor point for the given element, origin and rotation.\n * @returns {{left:number, top: number}} - the co-ordinates of the anchor point relative to the whole page.\n */\n getAnchor = (origin) => {\n const { rotation } = this.state;\n const { clientWidth, clientHeight } = this.rotatable;\n const { top, left } = this.rotatable.getBoundingClientRect();\n const xy = this.originToXY(origin);\n const { top: anchorTop, left: anchorLeft } = calcAnchor(\n {\n width: clientWidth,\n height: clientHeight,\n },\n xy,\n rotation,\n );\n\n return {\n top: top + anchorTop,\n left: left + anchorLeft,\n };\n };\n\n rotateStart = (origin) => (e) => {\n const { isRotating } = this.state;\n if (isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const anchor = this.getAnchor(origin);\n const { rotation } = this.state;\n const { angle: startAngle } = this.getAngle(anchor, e);\n\n let diff = { x: 0, y: 0 };\n if (origin !== this.state.origin) {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n diff = distanceBetween({ width, height }, rotation, this.state.origin, origin);\n }\n\n this.setState(\n {\n origin,\n isRotating: true,\n startAngle,\n anchor,\n position: {\n left: this.state.position.left + diff.x,\n top: this.state.position.top + diff.y,\n },\n },\n () => {\n document.addEventListener('mousemove', this.rotate);\n },\n );\n };\n\n rotateStop = (e) => {\n const { isRotating } = this.state;\n\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n this.setState(\n {\n isRotating: false,\n angle: this.state.rotation,\n anchor: null,\n current: null,\n },\n () => {\n document.removeEventListener('mousemove', this.rotate);\n document.removeEventListener('mousemove', this.drag);\n },\n );\n };\n\n getAngle(anchor, e) {\n const x = e.clientX - anchor.left;\n const y = (e.clientY - anchor.top) * -1;\n return { angle: arctangent(x, y), x, y };\n }\n\n rotate = (e) => {\n const { isRotating } = this.state;\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const { startAngle, angle, anchor } = this.state;\n const { angle: current, x, y } = this.getAngle(anchor, e);\n const computedAnchor = { x, y };\n const diff = current - startAngle;\n const rotation = angle + diff;\n this.setState({ rotation, diff, current, computedAnchor });\n };\n\n mouseDown = (e) => {\n const handle = this.handles.find((h) => h.el === e.target);\n\n if (!handle) {\n this.dragStart(e);\n }\n };\n\n dragStart = (e) => {\n const dragPoint = new Point(e.pageX, e.pageY);\n this.setState({ dragPoint }, () => {\n document.addEventListener('mousemove', this.drag);\n });\n };\n\n drag = (e) => {\n e.preventDefault();\n const current = new Point(e.pageX, e.pageY);\n const translate = current.sub(this.state.dragPoint);\n this.setState({ translate });\n };\n\n mouseUp = () => {\n if (!this.state.translate) {\n return;\n }\n\n const { position: lastPosition, translate } = this.state;\n\n const position = {\n left: lastPosition.left + translate.x,\n top: lastPosition.top + translate.y,\n };\n\n document.removeEventListener('mousemove', this.drag);\n this.setState({ position, dragPoint: null, translate: null });\n };\n\n render() {\n const { children, classes, showAnchor, className } = this.props;\n const { rotation, anchor, origin, translate, position } = this.state;\n\n const t = translate ? `translate(${translate.x}px, ${translate.y}px)` : '';\n\n const style = {\n left: position.left,\n top: position.top,\n transformOrigin: origin,\n transform: `${t} rotate(${rotation}deg)`,\n };\n\n return (\n <div\n className={classNames(classes.rotatable, className)}\n style={style}\n ref={(r) => (this.rotatable = r)}\n onMouseDown={this.mouseDown}\n onMouseUp={this.mouseUp}\n >\n {anchor && showAnchor && <Anchor {...anchor} />}\n {children}\n </div>\n );\n }\n}\n\nexport default withStyles({\n rotatable: {\n position: 'relative',\n display: 'inline-block',\n cursor: 'move',\n },\n})(Rotatable);\n"],"file":"rotatable.js"}
|
package/lib/ruler/graphic.js
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
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
|
});
|
|
6
8
|
exports["default"] = exports.Graphic = void 0;
|
|
7
9
|
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
|
|
8
22
|
var _react = _interopRequireDefault(require("react"));
|
|
9
23
|
|
|
10
24
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -19,33 +33,15 @@ var _unit = _interopRequireDefault(require("./unit"));
|
|
|
19
33
|
|
|
20
34
|
var _styleUtils = require("../style-utils");
|
|
21
35
|
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
25
|
-
|
|
26
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
27
|
-
|
|
28
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
36
|
+
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); }; }
|
|
29
37
|
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
33
|
-
|
|
34
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
35
|
-
|
|
36
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
37
|
-
|
|
38
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
39
|
-
|
|
40
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
41
|
-
|
|
42
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
38
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
39
|
|
|
44
40
|
var Bg = function Bg(_ref) {
|
|
45
41
|
var width = _ref.width,
|
|
46
42
|
height = _ref.height,
|
|
47
43
|
className = _ref.className;
|
|
48
|
-
return _react["default"].createElement("rect", {
|
|
44
|
+
return /*#__PURE__*/_react["default"].createElement("rect", {
|
|
49
45
|
width: width,
|
|
50
46
|
height: height,
|
|
51
47
|
cx: 0,
|
|
@@ -60,18 +56,17 @@ Bg.propTypes = {
|
|
|
60
56
|
className: _propTypes["default"].string.isRequired
|
|
61
57
|
};
|
|
62
58
|
|
|
63
|
-
var Graphic =
|
|
64
|
-
|
|
65
|
-
function (_React$PureComponent) {
|
|
66
|
-
_inherits(Graphic, _React$PureComponent);
|
|
59
|
+
var Graphic = /*#__PURE__*/function (_React$PureComponent) {
|
|
60
|
+
(0, _inherits2["default"])(Graphic, _React$PureComponent);
|
|
67
61
|
|
|
68
|
-
|
|
69
|
-
_classCallCheck(this, Graphic);
|
|
62
|
+
var _super = _createSuper(Graphic);
|
|
70
63
|
|
|
71
|
-
|
|
64
|
+
function Graphic() {
|
|
65
|
+
(0, _classCallCheck2["default"])(this, Graphic);
|
|
66
|
+
return _super.apply(this, arguments);
|
|
72
67
|
}
|
|
73
68
|
|
|
74
|
-
|
|
69
|
+
(0, _createClass2["default"])(Graphic, [{
|
|
75
70
|
key: "render",
|
|
76
71
|
value: function render() {
|
|
77
72
|
var _this$props = this.props,
|
|
@@ -83,16 +78,16 @@ function (_React$PureComponent) {
|
|
|
83
78
|
var viewBox = "0 0 ".concat(width, " ").concat(height);
|
|
84
79
|
var unitWidth = width / units;
|
|
85
80
|
var unitHeight = height;
|
|
86
|
-
return _react["default"].createElement("svg", {
|
|
81
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
87
82
|
viewBox: viewBox
|
|
88
|
-
}, _react["default"].createElement(Bg, {
|
|
83
|
+
}, /*#__PURE__*/_react["default"].createElement(Bg, {
|
|
89
84
|
width: width,
|
|
90
85
|
height: height,
|
|
91
86
|
className: classes.bg
|
|
92
|
-
}), _react["default"].createElement(_unitType["default"], {
|
|
87
|
+
}), /*#__PURE__*/_react["default"].createElement(_unitType["default"], {
|
|
93
88
|
label: unit.type
|
|
94
89
|
}), (0, _range["default"])(1, units + 1).map(function (r) {
|
|
95
|
-
return _react["default"].createElement(_unit["default"], {
|
|
90
|
+
return /*#__PURE__*/_react["default"].createElement(_unit["default"], {
|
|
96
91
|
width: unitWidth,
|
|
97
92
|
height: unitHeight,
|
|
98
93
|
key: r,
|
|
@@ -103,13 +98,11 @@ function (_React$PureComponent) {
|
|
|
103
98
|
}));
|
|
104
99
|
}
|
|
105
100
|
}]);
|
|
106
|
-
|
|
107
101
|
return Graphic;
|
|
108
102
|
}(_react["default"].PureComponent);
|
|
109
103
|
|
|
110
104
|
exports.Graphic = Graphic;
|
|
111
|
-
|
|
112
|
-
_defineProperty(Graphic, "propTypes", {
|
|
105
|
+
(0, _defineProperty2["default"])(Graphic, "propTypes", {
|
|
113
106
|
width: _propTypes["default"].number.isRequired,
|
|
114
107
|
height: _propTypes["default"].number.isRequired,
|
|
115
108
|
units: _propTypes["default"].number.isRequired,
|
package/lib/ruler/graphic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ruler/graphic.jsx"],"names":["Bg","width","height","className","propTypes","PropTypes","number","isRequired","string","Graphic","props","classes","units","unit","viewBox","unitWidth","unitHeight","bg","type","map","r","React","PureComponent","object","styles","theme","stroke","strokeWidth","fill"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/ruler/graphic.jsx"],"names":["Bg","width","height","className","propTypes","PropTypes","number","isRequired","string","Graphic","props","classes","units","unit","viewBox","unitWidth","unitHeight","bg","type","map","r","React","PureComponent","object","styles","theme","stroke","strokeWidth","fill"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,EAAE,GAAG,SAALA,EAAK;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,MAAUC,MAAV,QAAUA,MAAV;AAAA,MAAkBC,SAAlB,QAAkBA,SAAlB;AAAA,sBAAkC;AAAM,IAAA,KAAK,EAAEF,KAAb;AAAoB,IAAA,MAAM,EAAEC,MAA5B;AAAoC,IAAA,EAAE,EAAE,CAAxC;AAA2C,IAAA,EAAE,EAAE,CAA/C;AAAkD,IAAA,SAAS,EAAEC;AAA7D,IAAlC;AAAA,CAAX;;AAEAH,EAAE,CAACI,SAAH,GAAe;AACbH,EAAAA,KAAK,EAAEI,sBAAUC,MAAV,CAAiBC,UADX;AAEbL,EAAAA,MAAM,EAAEG,sBAAUC,MAAV,CAAiBC,UAFZ;AAGbJ,EAAAA,SAAS,EAAEE,sBAAUG,MAAV,CAAiBD;AAHf,CAAf;;IAMaE,O;;;;;;;;;;;;WASX,kBAAS;AACP,wBAAgD,KAAKC,KAArD;AAAA,UAAQT,KAAR,eAAQA,KAAR;AAAA,UAAeC,MAAf,eAAeA,MAAf;AAAA,UAAuBS,OAAvB,eAAuBA,OAAvB;AAAA,UAAgCC,KAAhC,eAAgCA,KAAhC;AAAA,UAAuCC,IAAvC,eAAuCA,IAAvC;AACA,UAAMC,OAAO,iBAAUb,KAAV,cAAmBC,MAAnB,CAAb;AACA,UAAMa,SAAS,GAAGd,KAAK,GAAGW,KAA1B;AACA,UAAMI,UAAU,GAAGd,MAAnB;AAEA,0BACE;AAAK,QAAA,OAAO,EAAEY;AAAd,sBACE,gCAAC,EAAD;AAAI,QAAA,KAAK,EAAEb,KAAX;AAAkB,QAAA,MAAM,EAAEC,MAA1B;AAAkC,QAAA,SAAS,EAAES,OAAO,CAACM;AAArD,QADF,eAEE,gCAAC,oBAAD;AAAU,QAAA,KAAK,EAAEJ,IAAI,CAACK;AAAtB,QAFF,EAGG,uBAAM,CAAN,EAASN,KAAK,GAAG,CAAjB,EAAoBO,GAApB,CAAwB,UAACC,CAAD;AAAA,4BACvB,gCAAC,gBAAD;AAAM,UAAA,KAAK,EAAEL,SAAb;AAAwB,UAAA,MAAM,EAAEC,UAAhC;AAA4C,UAAA,GAAG,EAAEI,CAAjD;AAAoD,UAAA,KAAK,EAAEA,CAA3D;AAA8D,UAAA,MAAM,EAAEP,IAAtE;AAA4E,UAAA,IAAI,EAAEO,CAAC,KAAKR;AAAxF,UADuB;AAAA,OAAxB,CAHH,CADF;AASD;;;EAxB0BS,kBAAMC,a;;;iCAAtBb,O,eACQ;AACjBR,EAAAA,KAAK,EAAEI,sBAAUC,MAAV,CAAiBC,UADP;AAEjBL,EAAAA,MAAM,EAAEG,sBAAUC,MAAV,CAAiBC,UAFR;AAGjBK,EAAAA,KAAK,EAAEP,sBAAUC,MAAV,CAAiBC,UAHP;AAIjBM,EAAAA,IAAI,EAAER,sBAAUkB,MAAV,CAAiBhB,UAJN;AAKjBI,EAAAA,OAAO,EAAEN,sBAAUkB,MAAV,CAAiBhB;AALT,C;;AAyBrB,IAAMiB,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBR,IAAAA,EAAE,EAAE;AACFS,MAAAA,MAAM,EAAE,6BAAYD,KAAZ,CADN;AAEFE,MAAAA,WAAW,EAAE,KAFX;AAGFC,MAAAA,IAAI,EAAE,2BAAUH,KAAV;AAHJ;AADqB,GAAZ;AAAA,CAAf;;eAQe,wBAAWD,MAAX,EAAmBf,OAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport UnitType from './unit-type';\nimport range from 'lodash/range';\nimport Unit from './unit';\nimport { strokeColor, fillColor } from '../style-utils';\n\nconst Bg = ({ width, height, className }) => <rect width={width} height={height} cx={0} cy={0} className={className} />;\n\nBg.propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n className: PropTypes.string.isRequired,\n};\n\nexport class Graphic extends React.PureComponent {\n static propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n units: PropTypes.number.isRequired,\n unit: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { width, height, classes, units, unit } = this.props;\n const viewBox = `0 0 ${width} ${height}`;\n const unitWidth = width / units;\n const unitHeight = height;\n\n return (\n <svg viewBox={viewBox}>\n <Bg width={width} height={height} className={classes.bg} />\n <UnitType label={unit.type} />\n {range(1, units + 1).map((r) => (\n <Unit width={unitWidth} height={unitHeight} key={r} index={r} config={unit} last={r === units} />\n ))}\n </svg>\n );\n }\n}\nconst styles = (theme) => ({\n bg: {\n stroke: strokeColor(theme),\n strokeWidth: '2px',\n fill: fillColor(theme),\n },\n});\n\nexport default withStyles(styles)(Graphic);\n"],"file":"graphic.js"}
|
package/lib/ruler/index.js
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
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
|
});
|
|
6
8
|
exports["default"] = exports.Ruler = void 0;
|
|
7
9
|
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
|
|
8
22
|
var _react = _interopRequireDefault(require("react"));
|
|
9
23
|
|
|
10
24
|
var _styles = require("@material-ui/core/styles");
|
|
@@ -19,40 +33,21 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
19
33
|
|
|
20
34
|
var _anchor = _interopRequireDefault(require("../anchor"));
|
|
21
35
|
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
25
|
-
|
|
26
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
27
|
-
|
|
28
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
36
|
+
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); }; }
|
|
29
37
|
|
|
30
|
-
function
|
|
38
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
39
|
|
|
32
|
-
|
|
40
|
+
var Ruler = /*#__PURE__*/function (_React$Component) {
|
|
41
|
+
(0, _inherits2["default"])(Ruler, _React$Component);
|
|
33
42
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
37
|
-
|
|
38
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
39
|
-
|
|
40
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
41
|
-
|
|
42
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
43
|
-
|
|
44
|
-
var Ruler =
|
|
45
|
-
/*#__PURE__*/
|
|
46
|
-
function (_React$Component) {
|
|
47
|
-
_inherits(Ruler, _React$Component);
|
|
43
|
+
var _super = _createSuper(Ruler);
|
|
48
44
|
|
|
49
45
|
function Ruler() {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return _possibleConstructorReturn(this, _getPrototypeOf(Ruler).apply(this, arguments));
|
|
46
|
+
(0, _classCallCheck2["default"])(this, Ruler);
|
|
47
|
+
return _super.apply(this, arguments);
|
|
53
48
|
}
|
|
54
49
|
|
|
55
|
-
|
|
50
|
+
(0, _createClass2["default"])(Ruler, [{
|
|
56
51
|
key: "render",
|
|
57
52
|
value: function render() {
|
|
58
53
|
var _this$props = this.props,
|
|
@@ -72,7 +67,7 @@ function (_React$Component) {
|
|
|
72
67
|
type: label,
|
|
73
68
|
ticks: 10
|
|
74
69
|
};
|
|
75
|
-
return _react["default"].createElement(_rotatable["default"], {
|
|
70
|
+
return /*#__PURE__*/_react["default"].createElement(_rotatable["default"], {
|
|
76
71
|
className: className,
|
|
77
72
|
startPosition: startPosition,
|
|
78
73
|
handle: [{
|
|
@@ -82,31 +77,29 @@ function (_React$Component) {
|
|
|
82
77
|
"class": 'rightAnchor',
|
|
83
78
|
origin: 'bottom left'
|
|
84
79
|
}]
|
|
85
|
-
}, _react["default"].createElement("div", {
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
86
81
|
className: classes.ruler,
|
|
87
82
|
style: {
|
|
88
83
|
width: "".concat(width, "px"),
|
|
89
84
|
height: "".concat(height, "px")
|
|
90
85
|
}
|
|
91
|
-
}, _react["default"].createElement(_graphic["default"], {
|
|
86
|
+
}, /*#__PURE__*/_react["default"].createElement(_graphic["default"], {
|
|
92
87
|
width: width,
|
|
93
88
|
height: height,
|
|
94
89
|
units: units,
|
|
95
90
|
unit: unit
|
|
96
|
-
}), _react["default"].createElement(_anchor["default"], {
|
|
91
|
+
}), /*#__PURE__*/_react["default"].createElement(_anchor["default"], {
|
|
97
92
|
className: (0, _classnames["default"])('leftAnchor', classes.leftAnchor)
|
|
98
|
-
}), _react["default"].createElement(_anchor["default"], {
|
|
93
|
+
}), /*#__PURE__*/_react["default"].createElement(_anchor["default"], {
|
|
99
94
|
className: (0, _classnames["default"])('rightAnchor', classes.rightAnchor)
|
|
100
95
|
})));
|
|
101
96
|
}
|
|
102
97
|
}]);
|
|
103
|
-
|
|
104
98
|
return Ruler;
|
|
105
99
|
}(_react["default"].Component);
|
|
106
100
|
|
|
107
101
|
exports.Ruler = Ruler;
|
|
108
|
-
|
|
109
|
-
_defineProperty(Ruler, "propTypes", {
|
|
102
|
+
(0, _defineProperty2["default"])(Ruler, "propTypes", {
|
|
110
103
|
width: _propTypes["default"].number,
|
|
111
104
|
height: _propTypes["default"].number,
|
|
112
105
|
units: _propTypes["default"].number.isRequired,
|
|
@@ -120,8 +113,7 @@ _defineProperty(Ruler, "propTypes", {
|
|
|
120
113
|
label: _propTypes["default"].string,
|
|
121
114
|
tickCount: _propTypes["default"].number
|
|
122
115
|
});
|
|
123
|
-
|
|
124
|
-
_defineProperty(Ruler, "defaultProps", {
|
|
116
|
+
(0, _defineProperty2["default"])(Ruler, "defaultProps", {
|
|
125
117
|
width: 480,
|
|
126
118
|
height: 60,
|
|
127
119
|
measure: 'imperial',
|