@pie-lib/tools 0.29.2-next.0 → 0.29.2-next.164

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +7 -70
  2. package/esm/index.css +847 -0
  3. package/esm/index.js +13155 -0
  4. package/esm/index.js.map +1 -0
  5. package/esm/package.json +3 -0
  6. package/lib/anchor-utils.js +18 -74
  7. package/lib/anchor-utils.js.map +1 -1
  8. package/lib/anchor.js +20 -28
  9. package/lib/anchor.js.map +1 -1
  10. package/lib/index.js +1 -11
  11. package/lib/index.js.map +1 -1
  12. package/lib/protractor/graphic.js +68 -105
  13. package/lib/protractor/graphic.js.map +1 -1
  14. package/lib/protractor/index.js +35 -65
  15. package/lib/protractor/index.js.map +1 -1
  16. package/lib/rotatable.js +73 -141
  17. package/lib/rotatable.js.map +1 -1
  18. package/lib/ruler/graphic.js +29 -66
  19. package/lib/ruler/graphic.js.map +1 -1
  20. package/lib/ruler/index.js +43 -75
  21. package/lib/ruler/index.js.map +1 -1
  22. package/lib/ruler/unit-type.js +19 -36
  23. package/lib/ruler/unit-type.js.map +1 -1
  24. package/lib/ruler/unit.js +51 -88
  25. package/lib/ruler/unit.js.map +1 -1
  26. package/lib/style-utils.js +2 -9
  27. package/lib/style-utils.js.map +1 -1
  28. package/lib/transform-origin.js +2 -13
  29. package/lib/transform-origin.js.map +1 -1
  30. package/package.json +20 -10
  31. package/src/__tests__/rotatable.test.jsx +84 -41
  32. package/src/anchor.jsx +15 -16
  33. package/src/protractor/__tests__/graphic.test.jsx +57 -6
  34. package/src/protractor/__tests__/index.test.jsx +58 -6
  35. package/src/protractor/graphic.jsx +49 -54
  36. package/src/protractor/index.jsx +24 -22
  37. package/src/rotatable.jsx +23 -28
  38. package/src/ruler/__tests__/graphic.test.jsx +57 -16
  39. package/src/ruler/__tests__/index.test.jsx +70 -12
  40. package/src/ruler/__tests__/unit-type.test.jsx +59 -6
  41. package/src/ruler/__tests__/unit.test.jsx +61 -8
  42. package/src/ruler/graphic.jsx +11 -14
  43. package/src/ruler/index.jsx +25 -28
  44. package/src/ruler/unit-type.jsx +10 -9
  45. package/src/ruler/unit.jsx +25 -29
  46. package/src/__tests__/__snapshots__/rotatable.test.jsx.snap +0 -37
  47. package/src/protractor/__tests__/__snapshots__/graphic.test.jsx.snap +0 -1234
  48. package/src/protractor/__tests__/__snapshots__/index.test.jsx.snap +0 -40
  49. package/src/ruler/__tests__/__snapshots__/graphic.test.jsx.snap +0 -160
  50. package/src/ruler/__tests__/__snapshots__/index.test.jsx.snap +0 -45
  51. package/src/ruler/__tests__/__snapshots__/unit-type.test.jsx.snap +0 -12
  52. package/src/ruler/__tests__/__snapshots__/unit.test.jsx.snap +0 -30
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -1,50 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.toRadians = exports.toPoint = exports.toDegrees = exports.normalizeAngle = exports.getXAndY = exports.getTop = exports.getLeft = exports.getAngleAndHypotenuse = exports.getAnchor = exports.distanceBetween = exports.arctangent = void 0;
9
-
10
8
  var _trigonometryCalculator = require("trigonometry-calculator");
11
-
12
9
  var _pointGeometry = _interopRequireDefault(require("@mapbox/point-geometry"));
13
-
14
10
  var _debug = _interopRequireDefault(require("debug"));
15
-
16
11
  var _transformOrigin = require("./transform-origin");
17
-
18
12
  var log = (0, _debug["default"])('@pie-lib:tools:anchor-utils');
19
-
20
- var toDegrees = function toDegrees(radians) {
13
+ var toDegrees = exports.toDegrees = function toDegrees(radians) {
21
14
  return radians * (180 / Math.PI);
22
15
  };
23
-
24
- exports.toDegrees = toDegrees;
25
-
26
- var toRadians = function toRadians(degrees) {
16
+ var toRadians = exports.toRadians = function toRadians(degrees) {
27
17
  return degrees * (Math.PI / 180);
28
18
  };
29
-
30
- exports.toRadians = toRadians;
31
-
32
- var normalizeAngle = function normalizeAngle(a) {
19
+ var normalizeAngle = exports.normalizeAngle = function normalizeAngle(a) {
33
20
  if (a > 360) {
34
21
  return a % 360;
35
22
  } else if (a < 0) {
36
23
  return 360 + a % 360;
37
24
  }
38
-
39
25
  return a;
40
26
  };
41
-
42
- exports.normalizeAngle = normalizeAngle;
43
-
44
- var toPoint = function toPoint(rect, edge) {
27
+ var toPoint = exports.toPoint = function toPoint(rect, edge) {
45
28
  var out = (0, _transformOrigin.parse)(rect, edge);
46
29
  return new _pointGeometry["default"](out.x, out.y);
47
30
  };
31
+
48
32
  /**
49
33
  * Get the distance between to anchor points in a rect.
50
34
  * @param {{width: number, height: number}} rect - the rect
@@ -53,11 +37,7 @@ var toPoint = function toPoint(rect, edge) {
53
37
  * @param {string} to - to anchor
54
38
  * @returns {Point} point - the distance as a Point
55
39
  */
56
-
57
-
58
- exports.toPoint = toPoint;
59
-
60
- var distanceBetween = function distanceBetween(rect, degrees, from, to) {
40
+ var distanceBetween = exports.distanceBetween = function distanceBetween(rect, degrees, from, to) {
61
41
  var center = new _pointGeometry["default"](rect.width / 2, rect.height / 2);
62
42
  var radians = toRadians(degrees);
63
43
  var fromCenter = center.rotateAround(radians, toPoint(rect, from));
@@ -65,6 +45,7 @@ var distanceBetween = function distanceBetween(rect, degrees, from, to) {
65
45
  var diff = fromCenter.sub(toCenter);
66
46
  return diff;
67
47
  };
48
+
68
49
  /**
69
50
  * For a corner string, a point and a rect, return a relative x,y from that point to a corner.
70
51
  * Note that the y value descends as it goes down (unlike for a screen's y value), so this is only really useful for math functions.
@@ -76,11 +57,7 @@ var distanceBetween = function distanceBetween(rect, degrees, from, to) {
76
57
  * @param {*} rect
77
58
  * @param {*} point
78
59
  */
79
-
80
-
81
- exports.distanceBetween = distanceBetween;
82
-
83
- var getXAndY = function getXAndY(corner, rect, point) {
60
+ var getXAndY = exports.getXAndY = function getXAndY(corner, rect, point) {
84
61
  if (corner === 'top-left') {
85
62
  var x = point.x * -1;
86
63
  var y = point.y;
@@ -90,16 +67,13 @@ var getXAndY = function getXAndY(corner, rect, point) {
90
67
  };
91
68
  } else if (corner === 'bottom-left') {
92
69
  var _x = point.x * -1;
93
-
94
70
  var _y = point.y - rect.height;
95
-
96
71
  return {
97
72
  x: _x,
98
73
  y: _y
99
74
  };
100
75
  } else if (corner === 'top-right') {
101
76
  var _x2 = rect.width - point.x;
102
-
103
77
  var _y2 = point.y;
104
78
  return {
105
79
  x: _x2,
@@ -107,29 +81,20 @@ var getXAndY = function getXAndY(corner, rect, point) {
107
81
  };
108
82
  } else if (corner === 'bottom-right') {
109
83
  var _x3 = rect.width - point.x;
110
-
111
84
  var _y3 = point.y - rect.height;
112
-
113
85
  return {
114
86
  x: _x3,
115
87
  y: _y3
116
88
  };
117
89
  }
118
90
  };
119
-
120
- exports.getXAndY = getXAndY;
121
-
122
- var arctangent = function arctangent(x, y) {
91
+ var arctangent = exports.arctangent = function arctangent(x, y) {
123
92
  return toDegrees(Math.atan2(x, y));
124
93
  };
125
-
126
- exports.arctangent = arctangent;
127
-
128
- var getAngleAndHypotenuse = function getAngleAndHypotenuse(corner, rect, point) {
94
+ var getAngleAndHypotenuse = exports.getAngleAndHypotenuse = function getAngleAndHypotenuse(corner, rect, point) {
129
95
  var _getXAndY = getXAndY(corner, rect, point),
130
- x = _getXAndY.x,
131
- y = _getXAndY.y;
132
-
96
+ x = _getXAndY.x,
97
+ y = _getXAndY.y;
133
98
  var degrees = arctangent(x, y);
134
99
  var hypotenuse = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
135
100
  return {
@@ -139,27 +104,19 @@ var getAngleAndHypotenuse = function getAngleAndHypotenuse(corner, rect, point)
139
104
  hypotenuse: hypotenuse
140
105
  };
141
106
  };
142
-
143
- exports.getAngleAndHypotenuse = getAngleAndHypotenuse;
144
-
145
107
  var getPosition = function getPosition(side, rect, point, angle, calcAngle) {
146
108
  if (angle === 0) {
147
109
  return side === 'left' ? point.x : point.y;
148
110
  }
149
-
150
111
  var points = anglePoints(angle);
151
112
  var key = points[side];
152
-
153
113
  var _getAngleAndHypotenus = getAngleAndHypotenuse(key, rect, point),
154
- degrees = _getAngleAndHypotenus.degrees,
155
- hypotenuse = _getAngleAndHypotenus.hypotenuse;
156
-
114
+ degrees = _getAngleAndHypotenus.degrees,
115
+ hypotenuse = _getAngleAndHypotenus.hypotenuse;
157
116
  var ra = calcAngle(degrees);
158
-
159
117
  if (ra === 0) {
160
118
  return hypotenuse;
161
119
  }
162
-
163
120
  var t = {
164
121
  angles: {
165
122
  0: ra,
@@ -172,20 +129,17 @@ var getPosition = function getPosition(side, rect, point, angle, calcAngle) {
172
129
  var out = (0, _trigonometryCalculator.trigCalculator)(t);
173
130
  return out.sides[2];
174
131
  };
175
-
176
- var getTop = function getTop(rect, point, angle) {
132
+ var getTop = exports.getTop = function getTop(rect, point, angle) {
177
133
  return getPosition('top', rect, point, angle, function (degrees) {
178
134
  return Math.abs(angle + degrees);
179
135
  });
180
136
  };
181
-
182
- exports.getTop = getTop;
183
-
184
- var getLeft = function getLeft(rect, point, angle) {
137
+ var getLeft = exports.getLeft = function getLeft(rect, point, angle) {
185
138
  return getPosition('left', rect, point, angle, function (degrees) {
186
139
  return Math.abs(angle + degrees + 90);
187
140
  });
188
141
  };
142
+
189
143
  /**
190
144
  * Calculate the position of an anchor within a bounding rect, if the source rect has been rotated by an angle.
191
145
  * It does this by finding the appropriate corner of the src rect, that touches the bounding rect, calculates
@@ -196,21 +150,14 @@ var getLeft = function getLeft(rect, point, angle) {
196
150
  * @param {number} angle - the angle in degrees that the rect has rotated.
197
151
  * @returns {{left: number, top: number}} position
198
152
  */
199
-
200
-
201
- exports.getLeft = getLeft;
202
-
203
- var getAnchor = function getAnchor(rect, point, angle) {
153
+ var getAnchor = exports.getAnchor = function getAnchor(rect, point, angle) {
204
154
  log('[getAnchor] rect: ', rect, 'point:', point, 'angle: ', angle);
205
-
206
155
  if (point.x > rect.width) {
207
156
  throw new Error("x: ".concat(point.x, " cannot be greater than width: ").concat(rect.width));
208
157
  }
209
-
210
158
  if (point.y > rect.height) {
211
159
  throw new Error("y: ".concat(point.y, " cannot be greater than height: ").concat(rect.height));
212
160
  }
213
-
214
161
  var a = normalizeAngle(angle);
215
162
  var top = getTop(rect, point, a);
216
163
  var left = getLeft(rect, point, a);
@@ -220,9 +167,6 @@ var getAnchor = function getAnchor(rect, point, angle) {
220
167
  left: left
221
168
  };
222
169
  };
223
-
224
- exports.getAnchor = getAnchor;
225
-
226
170
  var anglePoints = function anglePoints(angle) {
227
171
  if (angle <= 90) {
228
172
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/anchor-utils.js"],"names":["log","toDegrees","radians","Math","PI","toRadians","degrees","normalizeAngle","a","toPoint","rect","edge","out","Point","x","y","distanceBetween","from","to","center","width","height","fromCenter","rotateAround","toCenter","diff","sub","getXAndY","corner","point","arctangent","atan2","getAngleAndHypotenuse","hypotenuse","sqrt","pow","getPosition","side","angle","calcAngle","points","anglePoints","key","ra","t","angles","sides","getTop","abs","getLeft","getAnchor","Error","top","left"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA,IAAMA,GAAG,GAAG,uBAAM,6BAAN,CAAZ;;AAEO,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD;AAAA,SAAaA,OAAO,IAAI,MAAMC,IAAI,CAACC,EAAf,CAApB;AAAA,CAAlB;;;;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD;AAAA,SAAaA,OAAO,IAAIH,IAAI,CAACC,EAAL,GAAU,GAAd,CAApB;AAAA,CAAlB;;;;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB,CAACC,CAAD,EAAO;AACnC,MAAIA,CAAC,GAAG,GAAR,EAAa;AACX,WAAOA,CAAC,GAAG,GAAX;AACD,GAFD,MAEO,IAAIA,CAAC,GAAG,CAAR,EAAW;AAChB,WAAO,MAAOA,CAAC,GAAG,GAAlB;AACD;;AACD,SAAOA,CAAP;AACD,CAPM;;;;AASA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,EAAOC,IAAP,EAAgB;AACrC,MAAMC,GAAG,GAAG,4BAAYF,IAAZ,EAAkBC,IAAlB,CAAZ;AACA,SAAO,IAAIE,yBAAJ,CAAUD,GAAG,CAACE,CAAd,EAAiBF,GAAG,CAACG,CAArB,CAAP;AACD,CAHM;AAKP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACN,IAAD,EAAOJ,OAAP,EAAgBW,IAAhB,EAAsBC,EAAtB,EAA6B;AAC1D,MAAMC,MAAM,GAAG,IAAIN,yBAAJ,CAAUH,IAAI,CAACU,KAAL,GAAa,CAAvB,EAA0BV,IAAI,CAACW,MAAL,GAAc,CAAxC,CAAf;AACA,MAAMnB,OAAO,GAAGG,SAAS,CAACC,OAAD,CAAzB;AACA,MAAMgB,UAAU,GAAGH,MAAM,CAACI,YAAP,CAAoBrB,OAApB,EAA6BO,OAAO,CAACC,IAAD,EAAOO,IAAP,CAApC,CAAnB;AACA,MAAMO,QAAQ,GAAGL,MAAM,CAACI,YAAP,CAAoBrB,OAApB,EAA6BO,OAAO,CAACC,IAAD,EAAOQ,EAAP,CAApC,CAAjB;AACA,MAAMO,IAAI,GAAGH,UAAU,CAACI,GAAX,CAAeF,QAAf,CAAb;AACA,SAAOC,IAAP;AACD,CAPM;AASP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAME,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAASlB,IAAT,EAAemB,KAAf,EAAyB;AAC/C,MAAID,MAAM,KAAK,UAAf,EAA2B;AACzB,QAAMd,CAAC,GAAGe,KAAK,CAACf,CAAN,GAAU,CAAC,CAArB;AACA,QAAMC,CAAC,GAAGc,KAAK,CAACd,CAAhB;AACA,WAAO;AAAED,MAAAA,CAAC,EAADA,CAAF;AAAKC,MAAAA,CAAC,EAADA;AAAL,KAAP;AACD,GAJD,MAIO,IAAIa,MAAM,KAAK,aAAf,EAA8B;AACnC,QAAMd,EAAC,GAAGe,KAAK,CAACf,CAAN,GAAU,CAAC,CAArB;;AACA,QAAMC,EAAC,GAAGc,KAAK,CAACd,CAAN,GAAUL,IAAI,CAACW,MAAzB;;AACA,WAAO;AAAEP,MAAAA,CAAC,EAADA,EAAF;AAAKC,MAAAA,CAAC,EAADA;AAAL,KAAP;AACD,GAJM,MAIA,IAAIa,MAAM,KAAK,WAAf,EAA4B;AACjC,QAAMd,GAAC,GAAGJ,IAAI,CAACU,KAAL,GAAaS,KAAK,CAACf,CAA7B;;AACA,QAAMC,GAAC,GAAGc,KAAK,CAACd,CAAhB;AACA,WAAO;AAAED,MAAAA,CAAC,EAADA,GAAF;AAAKC,MAAAA,CAAC,EAADA;AAAL,KAAP;AACD,GAJM,MAIA,IAAIa,MAAM,KAAK,cAAf,EAA+B;AACpC,QAAMd,GAAC,GAAGJ,IAAI,CAACU,KAAL,GAAaS,KAAK,CAACf,CAA7B;;AACA,QAAMC,GAAC,GAAGc,KAAK,CAACd,CAAN,GAAUL,IAAI,CAACW,MAAzB;;AACA,WAAO;AAAEP,MAAAA,CAAC,EAADA,GAAF;AAAKC,MAAAA,CAAC,EAADA;AAAL,KAAP;AACD;AACF,CAlBM;;;;AAoBA,IAAMe,UAAU,GAAG,SAAbA,UAAa,CAAChB,CAAD,EAAIC,CAAJ;AAAA,SAAUd,SAAS,CAACE,IAAI,CAAC4B,KAAL,CAAWjB,CAAX,EAAcC,CAAd,CAAD,CAAnB;AAAA,CAAnB;;;;AAEA,IAAMiB,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACJ,MAAD,EAASlB,IAAT,EAAemB,KAAf,EAAyB;AAC5D,kBAAiBF,QAAQ,CAACC,MAAD,EAASlB,IAAT,EAAemB,KAAf,CAAzB;AAAA,MAAQf,CAAR,aAAQA,CAAR;AAAA,MAAWC,CAAX,aAAWA,CAAX;;AACA,MAAMT,OAAO,GAAGwB,UAAU,CAAChB,CAAD,EAAIC,CAAJ,CAA1B;AACA,MAAMkB,UAAU,GAAG9B,IAAI,CAAC+B,IAAL,CAAU/B,IAAI,CAACgC,GAAL,CAASrB,CAAT,EAAY,CAAZ,IAAiBX,IAAI,CAACgC,GAAL,CAASpB,CAAT,EAAY,CAAZ,CAA3B,CAAnB;AACA,SAAO;AAAED,IAAAA,CAAC,EAADA,CAAF;AAAKC,IAAAA,CAAC,EAADA,CAAL;AAAQT,IAAAA,OAAO,EAAPA,OAAR;AAAiB2B,IAAAA,UAAU,EAAVA;AAAjB,GAAP;AACD,CALM;;;;AAOP,IAAMG,WAAW,GAAG,SAAdA,WAAc,CAACC,IAAD,EAAO3B,IAAP,EAAamB,KAAb,EAAoBS,KAApB,EAA2BC,SAA3B,EAAyC;AAC3D,MAAID,KAAK,KAAK,CAAd,EAAiB;AACf,WAAOD,IAAI,KAAK,MAAT,GAAkBR,KAAK,CAACf,CAAxB,GAA4Be,KAAK,CAACd,CAAzC;AACD;;AACD,MAAMyB,MAAM,GAAGC,WAAW,CAACH,KAAD,CAA1B;AACA,MAAMI,GAAG,GAAGF,MAAM,CAACH,IAAD,CAAlB;;AAEA,8BAAgCL,qBAAqB,CAACU,GAAD,EAAMhC,IAAN,EAAYmB,KAAZ,CAArD;AAAA,MAAQvB,OAAR,yBAAQA,OAAR;AAAA,MAAiB2B,UAAjB,yBAAiBA,UAAjB;;AAEA,MAAMU,EAAE,GAAGJ,SAAS,CAACjC,OAAD,CAApB;;AAEA,MAAIqC,EAAE,KAAK,CAAX,EAAc;AACZ,WAAOV,UAAP;AACD;;AAED,MAAMW,CAAC,GAAG;AACRC,IAAAA,MAAM,EAAE;AAAE,SAAGF,EAAL;AAAS,SAAG;AAAZ,KADA;AAERG,IAAAA,KAAK,EAAE;AAAE,SAAGb;AAAL;AAFC,GAAV;AAIA,MAAMrB,GAAG,GAAG,4CAAegC,CAAf,CAAZ;AACA,SAAOhC,GAAG,CAACkC,KAAJ,CAAU,CAAV,CAAP;AACD,CArBD;;AAuBO,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACrC,IAAD,EAAOmB,KAAP,EAAcS,KAAd,EAAwB;AAC5C,SAAOF,WAAW,CAAC,KAAD,EAAQ1B,IAAR,EAAcmB,KAAd,EAAqBS,KAArB,EAA4B,UAAChC,OAAD,EAAa;AACzD,WAAOH,IAAI,CAAC6C,GAAL,CAASV,KAAK,GAAGhC,OAAjB,CAAP;AACD,GAFiB,CAAlB;AAGD,CAJM;;;;AAMA,IAAM2C,OAAO,GAAG,SAAVA,OAAU,CAACvC,IAAD,EAAOmB,KAAP,EAAcS,KAAd,EAAwB;AAC7C,SAAOF,WAAW,CAAC,MAAD,EAAS1B,IAAT,EAAemB,KAAf,EAAsBS,KAAtB,EAA6B,UAAChC,OAAD,EAAa;AAC1D,WAAOH,IAAI,CAAC6C,GAAL,CAASV,KAAK,GAAGhC,OAAR,GAAkB,EAA3B,CAAP;AACD,GAFiB,CAAlB;AAGD,CAJM;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAM4C,SAAS,GAAG,SAAZA,SAAY,CAACxC,IAAD,EAAOmB,KAAP,EAAcS,KAAd,EAAwB;AAC/CtC,EAAAA,GAAG,CAAC,oBAAD,EAAuBU,IAAvB,EAA6B,QAA7B,EAAuCmB,KAAvC,EAA8C,SAA9C,EAAyDS,KAAzD,CAAH;;AACA,MAAIT,KAAK,CAACf,CAAN,GAAUJ,IAAI,CAACU,KAAnB,EAA0B;AACxB,UAAM,IAAI+B,KAAJ,cAAgBtB,KAAK,CAACf,CAAtB,4CAAyDJ,IAAI,CAACU,KAA9D,EAAN;AACD;;AACD,MAAIS,KAAK,CAACd,CAAN,GAAUL,IAAI,CAACW,MAAnB,EAA2B;AACzB,UAAM,IAAI8B,KAAJ,cAAgBtB,KAAK,CAACd,CAAtB,6CAA0DL,IAAI,CAACW,MAA/D,EAAN;AACD;;AACD,MAAMb,CAAC,GAAGD,cAAc,CAAC+B,KAAD,CAAxB;AACA,MAAMc,GAAG,GAAGL,MAAM,CAACrC,IAAD,EAAOmB,KAAP,EAAcrB,CAAd,CAAlB;AACA,MAAM6C,IAAI,GAAGJ,OAAO,CAACvC,IAAD,EAAOmB,KAAP,EAAcrB,CAAd,CAApB;AAEAR,EAAAA,GAAG,CAAC,mBAAD,EAAsBoD,GAAtB,EAA2B,QAA3B,EAAqCC,IAArC,CAAH;AACA,SAAO;AAAED,IAAAA,GAAG,EAAHA,GAAF;AAAOC,IAAAA,IAAI,EAAJA;AAAP,GAAP;AACD,CAdM;;;;AAgBP,IAAMZ,WAAW,GAAG,SAAdA,WAAc,CAACH,KAAD,EAAW;AAC7B,MAAIA,KAAK,IAAI,EAAb,EAAiB;AACf,WAAO;AAAEc,MAAAA,GAAG,EAAE,UAAP;AAAmBC,MAAAA,IAAI,EAAE;AAAzB,KAAP;AACD,GAFD,MAEO,IAAIf,KAAK,GAAG,EAAR,IAAcA,KAAK,IAAI,GAA3B,EAAgC;AACrC,WAAO;AAAEc,MAAAA,GAAG,EAAE,aAAP;AAAsBC,MAAAA,IAAI,EAAE;AAA5B,KAAP;AACD,GAFM,MAEA,IAAIf,KAAK,GAAG,GAAR,IAAeA,KAAK,IAAI,GAA5B,EAAiC;AACtC,WAAO;AAAEc,MAAAA,GAAG,EAAE,cAAP;AAAuBC,MAAAA,IAAI,EAAE;AAA7B,KAAP;AACD,GAFM,MAEA,IAAIf,KAAK,GAAG,GAAR,IAAeA,KAAK,GAAG,GAA3B,EAAgC;AACrC,WAAO;AAAEc,MAAAA,GAAG,EAAE,WAAP;AAAoBC,MAAAA,IAAI,EAAE;AAA1B,KAAP;AACD;AACF,CAVD","sourcesContent":["import { trigCalculator } from 'trigonometry-calculator';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nimport { parse as parseOrigin } from './transform-origin';\nconst log = debug('@pie-lib:tools:anchor-utils');\n\nexport const toDegrees = (radians) => radians * (180 / Math.PI);\nexport const toRadians = (degrees) => degrees * (Math.PI / 180);\n\nexport const normalizeAngle = (a) => {\n if (a > 360) {\n return a % 360;\n } else if (a < 0) {\n return 360 + (a % 360);\n }\n return a;\n};\n\nexport const toPoint = (rect, edge) => {\n const out = parseOrigin(rect, edge);\n return new Point(out.x, out.y);\n};\n\n/**\n * Get the distance between to anchor points in a rect.\n * @param {{width: number, height: number}} rect - the rect\n * @param {number} degrees - the degrees\n * @param {string} from - from anchor\n * @param {string} to - to anchor\n * @returns {Point} point - the distance as a Point\n */\nexport const distanceBetween = (rect, degrees, from, to) => {\n const center = new Point(rect.width / 2, rect.height / 2);\n const radians = toRadians(degrees);\n const fromCenter = center.rotateAround(radians, toPoint(rect, from));\n const toCenter = center.rotateAround(radians, toPoint(rect, to));\n const diff = fromCenter.sub(toCenter);\n return diff;\n};\n\n/**\n * For a corner string, a point and a rect, return a relative x,y from that point to a corner.\n * Note that the y value descends as it goes down (unlike for a screen's y value), so this is only really useful for math functions.\n * @example\n * ```\n * getXAndY('top-left', {width: 100, height: 100}, 10, 10) //=> {x:10, y: -90}\n * ```\n * @param {*} corner\n * @param {*} rect\n * @param {*} point\n */\nexport const getXAndY = (corner, rect, point) => {\n if (corner === 'top-left') {\n const x = point.x * -1;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-left') {\n const x = point.x * -1;\n const y = point.y - rect.height;\n return { x, y };\n } else if (corner === 'top-right') {\n const x = rect.width - point.x;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-right') {\n const x = rect.width - point.x;\n const y = point.y - rect.height;\n return { x, y };\n }\n};\n\nexport const arctangent = (x, y) => toDegrees(Math.atan2(x, y));\n\nexport const getAngleAndHypotenuse = (corner, rect, point) => {\n const { x, y } = getXAndY(corner, rect, point);\n const degrees = arctangent(x, y);\n const hypotenuse = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n return { x, y, degrees, hypotenuse };\n};\n\nconst getPosition = (side, rect, point, angle, calcAngle) => {\n if (angle === 0) {\n return side === 'left' ? point.x : point.y;\n }\n const points = anglePoints(angle);\n const key = points[side];\n\n const { degrees, hypotenuse } = getAngleAndHypotenuse(key, rect, point);\n\n const ra = calcAngle(degrees);\n\n if (ra === 0) {\n return hypotenuse;\n }\n\n const t = {\n angles: { 0: ra, 1: 90 },\n sides: { 1: hypotenuse },\n };\n const out = trigCalculator(t);\n return out.sides[2];\n};\n\nexport const getTop = (rect, point, angle) => {\n return getPosition('top', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees);\n });\n};\n\nexport const getLeft = (rect, point, angle) => {\n return getPosition('left', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees + 90);\n });\n};\n\n/**\n * Calculate the position of an anchor within a bounding rect, if the source rect has been rotated by an angle.\n * It does this by finding the appropriate corner of the src rect, that touches the bounding rect, calculates\n * the hypotenuse (h) of that anchor to that point. Then using that plus the rotation it calculates\n * the sides of the triangle and returns the length of the side that touches the bounding rect.\n * @param {{width: number, height: number}} rect - the rect which contains the point\n * @param {{x:number, y: number}} point - the point within the rect\n * @param {number} angle - the angle in degrees that the rect has rotated.\n * @returns {{left: number, top: number}} position\n */\nexport const getAnchor = (rect, point, angle) => {\n log('[getAnchor] rect: ', rect, 'point:', point, 'angle: ', angle);\n if (point.x > rect.width) {\n throw new Error(`x: ${point.x} cannot be greater than width: ${rect.width}`);\n }\n if (point.y > rect.height) {\n throw new Error(`y: ${point.y} cannot be greater than height: ${rect.height}`);\n }\n const a = normalizeAngle(angle);\n const top = getTop(rect, point, a);\n const left = getLeft(rect, point, a);\n\n log('[getAnchor] top: ', top, 'left: ', left);\n return { top, left };\n};\n\nconst anglePoints = (angle) => {\n if (angle <= 90) {\n return { top: 'top-left', left: 'bottom-left' };\n } else if (angle > 90 && angle <= 180) {\n return { top: 'bottom-left', left: 'bottom-right' };\n } else if (angle > 180 && angle <= 270) {\n return { top: 'bottom-right', left: 'top-right' };\n } else if (angle > 270 && angle < 360) {\n return { top: 'top-right', left: 'top-left' };\n }\n};\n"],"file":"anchor-utils.js"}
1
+ {"version":3,"file":"anchor-utils.js","names":["_trigonometryCalculator","require","_pointGeometry","_interopRequireDefault","_debug","_transformOrigin","log","debug","toDegrees","exports","radians","Math","PI","toRadians","degrees","normalizeAngle","a","toPoint","rect","edge","out","parseOrigin","Point","x","y","distanceBetween","from","to","center","width","height","fromCenter","rotateAround","toCenter","diff","sub","getXAndY","corner","point","arctangent","atan2","getAngleAndHypotenuse","_getXAndY","hypotenuse","sqrt","pow","getPosition","side","angle","calcAngle","points","anglePoints","key","_getAngleAndHypotenus","ra","t","angles","sides","trigCalculator","getTop","abs","getLeft","getAnchor","Error","concat","top","left"],"sources":["../src/anchor-utils.js"],"sourcesContent":["import { trigCalculator } from 'trigonometry-calculator';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nimport { parse as parseOrigin } from './transform-origin';\nconst log = debug('@pie-lib:tools:anchor-utils');\n\nexport const toDegrees = (radians) => radians * (180 / Math.PI);\nexport const toRadians = (degrees) => degrees * (Math.PI / 180);\n\nexport const normalizeAngle = (a) => {\n if (a > 360) {\n return a % 360;\n } else if (a < 0) {\n return 360 + (a % 360);\n }\n return a;\n};\n\nexport const toPoint = (rect, edge) => {\n const out = parseOrigin(rect, edge);\n return new Point(out.x, out.y);\n};\n\n/**\n * Get the distance between to anchor points in a rect.\n * @param {{width: number, height: number}} rect - the rect\n * @param {number} degrees - the degrees\n * @param {string} from - from anchor\n * @param {string} to - to anchor\n * @returns {Point} point - the distance as a Point\n */\nexport const distanceBetween = (rect, degrees, from, to) => {\n const center = new Point(rect.width / 2, rect.height / 2);\n const radians = toRadians(degrees);\n const fromCenter = center.rotateAround(radians, toPoint(rect, from));\n const toCenter = center.rotateAround(radians, toPoint(rect, to));\n const diff = fromCenter.sub(toCenter);\n return diff;\n};\n\n/**\n * For a corner string, a point and a rect, return a relative x,y from that point to a corner.\n * Note that the y value descends as it goes down (unlike for a screen's y value), so this is only really useful for math functions.\n * @example\n * ```\n * getXAndY('top-left', {width: 100, height: 100}, 10, 10) //=> {x:10, y: -90}\n * ```\n * @param {*} corner\n * @param {*} rect\n * @param {*} point\n */\nexport const getXAndY = (corner, rect, point) => {\n if (corner === 'top-left') {\n const x = point.x * -1;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-left') {\n const x = point.x * -1;\n const y = point.y - rect.height;\n return { x, y };\n } else if (corner === 'top-right') {\n const x = rect.width - point.x;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-right') {\n const x = rect.width - point.x;\n const y = point.y - rect.height;\n return { x, y };\n }\n};\n\nexport const arctangent = (x, y) => toDegrees(Math.atan2(x, y));\n\nexport const getAngleAndHypotenuse = (corner, rect, point) => {\n const { x, y } = getXAndY(corner, rect, point);\n const degrees = arctangent(x, y);\n const hypotenuse = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n return { x, y, degrees, hypotenuse };\n};\n\nconst getPosition = (side, rect, point, angle, calcAngle) => {\n if (angle === 0) {\n return side === 'left' ? point.x : point.y;\n }\n const points = anglePoints(angle);\n const key = points[side];\n\n const { degrees, hypotenuse } = getAngleAndHypotenuse(key, rect, point);\n\n const ra = calcAngle(degrees);\n\n if (ra === 0) {\n return hypotenuse;\n }\n\n const t = {\n angles: { 0: ra, 1: 90 },\n sides: { 1: hypotenuse },\n };\n const out = trigCalculator(t);\n return out.sides[2];\n};\n\nexport const getTop = (rect, point, angle) => {\n return getPosition('top', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees);\n });\n};\n\nexport const getLeft = (rect, point, angle) => {\n return getPosition('left', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees + 90);\n });\n};\n\n/**\n * Calculate the position of an anchor within a bounding rect, if the source rect has been rotated by an angle.\n * It does this by finding the appropriate corner of the src rect, that touches the bounding rect, calculates\n * the hypotenuse (h) of that anchor to that point. Then using that plus the rotation it calculates\n * the sides of the triangle and returns the length of the side that touches the bounding rect.\n * @param {{width: number, height: number}} rect - the rect which contains the point\n * @param {{x:number, y: number}} point - the point within the rect\n * @param {number} angle - the angle in degrees that the rect has rotated.\n * @returns {{left: number, top: number}} position\n */\nexport const getAnchor = (rect, point, angle) => {\n log('[getAnchor] rect: ', rect, 'point:', point, 'angle: ', angle);\n if (point.x > rect.width) {\n throw new Error(`x: ${point.x} cannot be greater than width: ${rect.width}`);\n }\n if (point.y > rect.height) {\n throw new Error(`y: ${point.y} cannot be greater than height: ${rect.height}`);\n }\n const a = normalizeAngle(angle);\n const top = getTop(rect, point, a);\n const left = getLeft(rect, point, a);\n\n log('[getAnchor] top: ', top, 'left: ', left);\n return { top, left };\n};\n\nconst anglePoints = (angle) => {\n if (angle <= 90) {\n return { top: 'top-left', left: 'bottom-left' };\n } else if (angle > 90 && angle <= 180) {\n return { top: 'bottom-left', left: 'bottom-right' };\n } else if (angle > 180 && angle <= 270) {\n return { top: 'bottom-right', left: 'top-right' };\n } else if (angle > 270 && angle < 360) {\n return { top: 'top-right', left: 'top-left' };\n }\n};\n"],"mappings":"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","ignoreList":[]}
package/lib/anchor.js CHANGED
@@ -1,41 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
8
+ var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
-
12
- var _styles = require("@material-ui/core/styles");
13
-
14
- var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
- var Anchor = (0, _styles.withStyles)(function (theme) {
11
+ var _styles = require("@mui/material/styles");
12
+ var StyledAnchor = (0, _styles.styled)('div')(function (_ref) {
13
+ var theme = _ref.theme;
17
14
  return {
18
- anchor: {
19
- cursor: 'pointer',
20
- width: '20px',
21
- height: '20px',
22
- position: 'absolute',
23
- borderRadius: '10px',
24
- backgroundColor: "var(--ruler-bg, ".concat(theme.palette.primary.contrastText, ")"),
25
- transition: 'background-color 200ms ease-in',
26
- border: "solid 1px var(--ruler-stroke, ".concat(theme.palette.primary.dark, ")"),
27
- '&:hover': {
28
- backgroundColor: "var(--ruler-bg-hover, ".concat(theme.palette.primary.light, ")")
29
- }
15
+ cursor: 'pointer',
16
+ width: '20px',
17
+ height: '20px',
18
+ position: 'absolute',
19
+ borderRadius: '10px',
20
+ backgroundColor: "var(--ruler-bg, ".concat(theme.palette.primary.contrastText, ")"),
21
+ transition: 'background-color 200ms ease-in',
22
+ border: "solid 1px var(--ruler-stroke, ".concat(theme.palette.primary.dark, ")"),
23
+ '&:hover': {
24
+ backgroundColor: "var(--ruler-bg-hover, ".concat(theme.palette.primary.light, ")")
30
25
  }
31
26
  };
32
- })(function (_ref) {
33
- var classes = _ref.classes,
34
- className = _ref.className;
35
- return /*#__PURE__*/_react["default"].createElement("div", {
36
- className: (0, _classnames["default"])(classes.anchor, className)
37
- });
38
27
  });
39
- var _default = Anchor;
40
- exports["default"] = _default;
28
+ var Anchor = function Anchor(_ref2) {
29
+ var props = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref2), _ref2));
30
+ return /*#__PURE__*/_react["default"].createElement(StyledAnchor, props);
31
+ };
32
+ var _default = exports["default"] = Anchor;
41
33
  //# sourceMappingURL=anchor.js.map
package/lib/anchor.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/anchor.jsx"],"names":["Anchor","theme","anchor","cursor","width","height","position","borderRadius","backgroundColor","palette","primary","contrastText","transition","border","dark","light","classes","className"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,MAAM,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AACpCC,IAAAA,MAAM,EAAE;AACNC,MAAAA,MAAM,EAAE,SADF;AAENC,MAAAA,KAAK,EAAE,MAFD;AAGNC,MAAAA,MAAM,EAAE,MAHF;AAINC,MAAAA,QAAQ,EAAE,UAJJ;AAKNC,MAAAA,YAAY,EAAE,MALR;AAMNC,MAAAA,eAAe,4BAAqBP,KAAK,CAACQ,OAAN,CAAcC,OAAd,CAAsBC,YAA3C,MANT;AAONC,MAAAA,UAAU,EAAE,gCAPN;AAQNC,MAAAA,MAAM,0CAAmCZ,KAAK,CAACQ,OAAN,CAAcC,OAAd,CAAsBI,IAAzD,MARA;AASN,iBAAW;AACTN,QAAAA,eAAe,kCAA2BP,KAAK,CAACQ,OAAN,CAAcC,OAAd,CAAsBK,KAAjD;AADN;AATL;AAD4B,GAAZ;AAAA,CAAX,EAcX;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,SAAZ,QAAYA,SAAZ;AAAA,sBAA4B;AAAK,IAAA,SAAS,EAAE,4BAAWD,OAAO,CAACd,MAAnB,EAA2Be,SAA3B;AAAhB,IAA5B;AAAA,CAdW,CAAf;eAgBejB,M","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst Anchor = withStyles((theme) => ({\n anchor: {\n cursor: 'pointer',\n width: '20px',\n height: '20px',\n position: 'absolute',\n borderRadius: '10px',\n backgroundColor: `var(--ruler-bg, ${theme.palette.primary.contrastText})`,\n transition: 'background-color 200ms ease-in',\n border: `solid 1px var(--ruler-stroke, ${theme.palette.primary.dark})`,\n '&:hover': {\n backgroundColor: `var(--ruler-bg-hover, ${theme.palette.primary.light})`,\n },\n },\n}))(({ classes, className }) => <div className={classNames(classes.anchor, className)} />);\n\nexport default Anchor;\n"],"file":"anchor.js"}
1
+ {"version":3,"file":"anchor.js","names":["_react","_interopRequireDefault","require","_styles","StyledAnchor","styled","_ref","theme","cursor","width","height","position","borderRadius","backgroundColor","concat","palette","primary","contrastText","transition","border","dark","light","Anchor","_ref2","props","_extends2","_objectDestructuringEmpty2","createElement","_default","exports"],"sources":["../src/anchor.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\n\nconst StyledAnchor = styled('div')(({ theme }) => ({\n cursor: 'pointer',\n width: '20px',\n height: '20px',\n position: 'absolute',\n borderRadius: '10px',\n backgroundColor: `var(--ruler-bg, ${theme.palette.primary.contrastText})`,\n transition: 'background-color 200ms ease-in',\n border: `solid 1px var(--ruler-stroke, ${theme.palette.primary.dark})`,\n '&:hover': {\n backgroundColor: `var(--ruler-bg-hover, ${theme.palette.primary.light})`,\n },\n}));\n\nconst Anchor = ({ ...props }) => <StyledAnchor {...props} />;\n\nexport default Anchor;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAME,YAAY,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IACjDC,MAAM,EAAE,SAAS;IACjBC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE,UAAU;IACpBC,YAAY,EAAE,MAAM;IACpBC,eAAe,qBAAAC,MAAA,CAAqBP,KAAK,CAACQ,OAAO,CAACC,OAAO,CAACC,YAAY,MAAG;IACzEC,UAAU,EAAE,gCAAgC;IAC5CC,MAAM,mCAAAL,MAAA,CAAmCP,KAAK,CAACQ,OAAO,CAACC,OAAO,CAACI,IAAI,MAAG;IACtE,SAAS,EAAE;MACTP,eAAe,2BAAAC,MAAA,CAA2BP,KAAK,CAACQ,OAAO,CAACC,OAAO,CAACK,KAAK;IACvE;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,KAAA;EAAA,IAASC,KAAK,OAAAC,SAAA,sBAAAC,0BAAA,aAAAH,KAAA,GAAAA,KAAA;EAAA,oBAAOvB,MAAA,YAAA2B,aAAA,CAACvB,YAAY,EAAKoB,KAAQ,CAAC;AAAA;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAE9CP,MAAM","ignoreList":[]}
package/lib/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -26,18 +24,10 @@ Object.defineProperty(exports, "Ruler", {
26
24
  }
27
25
  });
28
26
  exports.utils = void 0;
29
-
30
27
  var _protractor = _interopRequireDefault(require("./protractor"));
31
-
32
28
  var _ruler = _interopRequireDefault(require("./ruler"));
33
-
34
29
  var _rotatable = _interopRequireDefault(require("./rotatable"));
35
-
36
30
  var utils = _interopRequireWildcard(require("./anchor-utils"));
37
-
38
31
  exports.utils = utils;
39
-
40
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
43
33
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","sourcesContent":["import Protractor from './protractor';\nimport Ruler from './ruler';\nimport Rotatable from './rotatable';\nimport * as utils from './anchor-utils';\n\nexport { Protractor, Ruler, Rotatable, utils };\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_protractor","_interopRequireDefault","require","_ruler","_rotatable","utils","_interopRequireWildcard","exports","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../src/index.js"],"sourcesContent":["import Protractor from './protractor';\nimport Ruler from './ruler';\nimport Rotatable from './rotatable';\nimport * as utils from './anchor-utils';\n\nexport { Protractor, Ruler, Rotatable, utils };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAAwCK,OAAA,CAAAF,KAAA,GAAAA,KAAA;AAAA,SAAAC,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,wBAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
@@ -1,121 +1,112 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.Graphic = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
20
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
14
  var _react = _interopRequireDefault(require("react"));
23
-
24
- var _styles = require("@material-ui/core/styles");
25
-
15
+ var _styles = require("@mui/material/styles");
26
16
  var _range = _interopRequireDefault(require("lodash/range"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
17
  var _styleUtils = require("../style-utils");
31
-
32
- 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); }; }
33
-
34
- 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; } }
35
-
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
-
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
-
40
- var Line = (0, _styles.withStyles)(function (theme) {
18
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
19
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ var StyledLine = (0, _styles.styled)('line')(function (_ref) {
23
+ var theme = _ref.theme;
41
24
  return {
42
- line: {
43
- strokeWidth: '0.2',
44
- stroke: (0, _styleUtils.strokeColor)(theme)
45
- }
25
+ strokeWidth: '0.2',
26
+ stroke: (0, _styleUtils.strokeColor)(theme)
46
27
  };
47
- })(function (_ref) {
48
- var angle = _ref.angle,
49
- classes = _ref.classes,
50
- major = _ref.major,
51
- minor = _ref.minor;
52
- return /*#__PURE__*/_react["default"].createElement("line", {
28
+ });
29
+ var Line = function Line(_ref2) {
30
+ var angle = _ref2.angle,
31
+ major = _ref2.major,
32
+ minor = _ref2.minor;
33
+ return /*#__PURE__*/_react["default"].createElement(StyledLine, {
53
34
  transform: "rotate(".concat(angle, ", 50.5,50)"),
54
- className: classes.line,
55
35
  style: {},
56
36
  x1: "1",
57
37
  x2: major ? 10 : minor ? 6 : 3,
58
38
  y1: "50",
59
39
  y2: "50"
60
40
  });
61
- });
62
- var Spike = (0, _styles.withStyles)(function (theme) {
41
+ };
42
+ var StyledSpikeLine = (0, _styles.styled)('line')(function (_ref3) {
43
+ var theme = _ref3.theme;
63
44
  return {
64
- line: {
65
- strokeWidth: '0.2',
66
- stroke: (0, _styleUtils.strokeColor)(theme)
67
- }
45
+ strokeWidth: '0.2',
46
+ stroke: (0, _styleUtils.strokeColor)(theme)
68
47
  };
69
- })(function (_ref2) {
70
- var angle = _ref2.angle,
71
- classes = _ref2.classes;
72
- return /*#__PURE__*/_react["default"].createElement("line", {
48
+ });
49
+ var Spike = function Spike(_ref4) {
50
+ var angle = _ref4.angle;
51
+ return /*#__PURE__*/_react["default"].createElement(StyledSpikeLine, {
73
52
  transform: "rotate(".concat(angle, ", 50.5,50)"),
74
- className: classes.line,
75
53
  style: {},
76
54
  x1: "15",
77
55
  x2: '46',
78
56
  y1: "50",
79
57
  y2: "50"
80
58
  });
59
+ };
60
+ var StyledText = (0, _styles.styled)('text')(function (_ref5) {
61
+ var theme = _ref5.theme;
62
+ return _objectSpread({
63
+ fontSize: '2.5px',
64
+ textAnchor: 'middle',
65
+ fill: (0, _styleUtils.strokeColor)(theme)
66
+ }, (0, _styleUtils.noSelect)());
81
67
  });
82
- var Text = (0, _styles.withStyles)(function (theme) {
83
- return {
84
- text: _objectSpread({
85
- fontSize: '2.5px',
86
- textAnchor: 'middle',
87
- fill: (0, _styleUtils.strokeColor)(theme)
88
- }, (0, _styleUtils.noSelect)())
89
- };
90
- })(function (_ref3) {
91
- var angle = _ref3.angle,
92
- classes = _ref3.classes;
93
- return /*#__PURE__*/_react["default"].createElement("text", {
68
+ var Text = function Text(_ref6) {
69
+ var angle = _ref6.angle;
70
+ return /*#__PURE__*/_react["default"].createElement(StyledText, {
94
71
  transform: "rotate(".concat(angle - 90, ", 50.5, 50)"),
95
- className: classes.text,
96
72
  x: "50",
97
73
  y: "12.5"
98
74
  }, angle);
75
+ };
76
+ var StyledPath = (0, _styles.styled)('path')(function (_ref7) {
77
+ var theme = _ref7.theme;
78
+ return {
79
+ strokeWidth: '0.2',
80
+ stroke: (0, _styleUtils.strokeColor)(theme)
81
+ };
99
82
  });
100
-
101
- var Graphic = /*#__PURE__*/function (_React$PureComponent) {
102
- (0, _inherits2["default"])(Graphic, _React$PureComponent);
103
-
104
- var _super = _createSuper(Graphic);
105
-
83
+ var StyledGraphicLine = (0, _styles.styled)('line')(function (_ref8) {
84
+ var theme = _ref8.theme;
85
+ return {
86
+ strokeWidth: '0.2',
87
+ stroke: (0, _styleUtils.strokeColor)(theme)
88
+ };
89
+ });
90
+ var StyledCircle = (0, _styles.styled)('circle')(function (_ref9) {
91
+ var theme = _ref9.theme;
92
+ return {
93
+ strokeWidth: '0.2',
94
+ stroke: (0, _styleUtils.strokeColor)(theme),
95
+ fill: 'none'
96
+ };
97
+ });
98
+ var Graphic = exports.Graphic = /*#__PURE__*/function (_React$PureComponent) {
106
99
  function Graphic() {
107
100
  (0, _classCallCheck2["default"])(this, Graphic);
108
- return _super.apply(this, arguments);
101
+ return _callSuper(this, Graphic, arguments);
109
102
  }
110
-
111
- (0, _createClass2["default"])(Graphic, [{
103
+ (0, _inherits2["default"])(Graphic, _React$PureComponent);
104
+ return (0, _createClass2["default"])(Graphic, [{
112
105
  key: "render",
113
106
  value: function render() {
114
- var classes = this.props.classes;
115
107
  return /*#__PURE__*/_react["default"].createElement("svg", {
116
108
  viewBox: "0 0 102 61"
117
- }, /*#__PURE__*/_react["default"].createElement("path", {
118
- className: classes.path,
109
+ }, /*#__PURE__*/_react["default"].createElement(StyledPath, {
119
110
  d: "M 1,50 A 1,1 0 0 1 100,50 L 100,60 L 1,60 Z",
120
111
  fill: "none"
121
112
  }), (0, _range["default"])(0, 181).map(function (r) {
@@ -133,19 +124,16 @@ var Graphic = /*#__PURE__*/function (_React$PureComponent) {
133
124
  }), /*#__PURE__*/_react["default"].createElement(Text, {
134
125
  angle: r
135
126
  }));
136
- }), /*#__PURE__*/_react["default"].createElement("circle", {
127
+ }), /*#__PURE__*/_react["default"].createElement(StyledCircle, {
137
128
  r: "4",
138
129
  cx: "50.5",
139
- cy: "50",
140
- className: classes.circle
141
- }), /*#__PURE__*/_react["default"].createElement("line", {
142
- className: classes.line,
130
+ cy: "50"
131
+ }), /*#__PURE__*/_react["default"].createElement(StyledGraphicLine, {
143
132
  x1: "48.5",
144
133
  x2: "52.5",
145
134
  y1: "50",
146
135
  y2: "50"
147
- }), /*#__PURE__*/_react["default"].createElement("line", {
148
- className: classes.line,
136
+ }), /*#__PURE__*/_react["default"].createElement(StyledGraphicLine, {
149
137
  transform: 'rotate(90 50.5 50)',
150
138
  x1: "48.5",
151
139
  x2: "52.5",
@@ -154,31 +142,6 @@ var Graphic = /*#__PURE__*/function (_React$PureComponent) {
154
142
  }));
155
143
  }
156
144
  }]);
157
- return Graphic;
158
145
  }(_react["default"].PureComponent);
159
-
160
- exports.Graphic = Graphic;
161
- (0, _defineProperty2["default"])(Graphic, "propTypes", {
162
- classes: _propTypes["default"].object.isRequired
163
- });
164
-
165
- var _default = (0, _styles.withStyles)(function (theme) {
166
- return {
167
- path: {
168
- strokeWidth: '0.2',
169
- stroke: (0, _styleUtils.strokeColor)(theme)
170
- },
171
- line: {
172
- strokeWidth: '0.2',
173
- stroke: (0, _styleUtils.strokeColor)(theme)
174
- },
175
- circle: {
176
- strokeWidth: '0.2',
177
- stroke: (0, _styleUtils.strokeColor)(theme),
178
- fill: 'none'
179
- }
180
- };
181
- })(Graphic);
182
-
183
- exports["default"] = _default;
146
+ var _default = exports["default"] = Graphic;
184
147
  //# sourceMappingURL=graphic.js.map