@pie-element/hotspot 9.1.0 → 9.2.0-mui-update.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/configure/CHANGELOG.md +66 -0
  3. package/configure/lib/DeleteWidget.js +31 -44
  4. package/configure/lib/DeleteWidget.js.map +1 -1
  5. package/configure/lib/__tests__/DeleteWidget.test.js +60 -0
  6. package/configure/lib/__tests__/hotspot-container.test.js +377 -0
  7. package/configure/lib/__tests__/hotspot-drawable.test.js +233 -0
  8. package/configure/lib/__tests__/index.test.js +211 -0
  9. package/configure/lib/__tests__/root.test.js +440 -0
  10. package/configure/lib/__tests__/utils.test.js +287 -0
  11. package/configure/lib/button.js +27 -46
  12. package/configure/lib/button.js.map +1 -1
  13. package/configure/lib/buttons/circle.js +21 -28
  14. package/configure/lib/buttons/circle.js.map +1 -1
  15. package/configure/lib/buttons/polygon.js +27 -34
  16. package/configure/lib/buttons/polygon.js.map +1 -1
  17. package/configure/lib/buttons/rectangle.js +27 -34
  18. package/configure/lib/buttons/rectangle.js.map +1 -1
  19. package/configure/lib/defaults.js +3 -4
  20. package/configure/lib/defaults.js.map +1 -1
  21. package/configure/lib/hotspot-circle.js +133 -199
  22. package/configure/lib/hotspot-circle.js.map +1 -1
  23. package/configure/lib/hotspot-container.js +251 -356
  24. package/configure/lib/hotspot-container.js.map +1 -1
  25. package/configure/lib/hotspot-drawable.js +361 -473
  26. package/configure/lib/hotspot-drawable.js.map +1 -1
  27. package/configure/lib/hotspot-palette.js +93 -140
  28. package/configure/lib/hotspot-palette.js.map +1 -1
  29. package/configure/lib/hotspot-polygon.js +213 -318
  30. package/configure/lib/hotspot-polygon.js.map +1 -1
  31. package/configure/lib/hotspot-rectangle.js +129 -193
  32. package/configure/lib/hotspot-rectangle.js.map +1 -1
  33. package/configure/lib/icons.js +1 -1
  34. package/configure/lib/icons.js.map +1 -1
  35. package/configure/lib/image-konva.js +47 -87
  36. package/configure/lib/image-konva.js.map +1 -1
  37. package/configure/lib/index.js +163 -223
  38. package/configure/lib/index.js.map +1 -1
  39. package/configure/lib/root.js +302 -394
  40. package/configure/lib/root.js.map +1 -1
  41. package/configure/lib/shapes/circle.js +70 -102
  42. package/configure/lib/shapes/circle.js.map +1 -1
  43. package/configure/lib/shapes/index.js +5 -13
  44. package/configure/lib/shapes/index.js.map +1 -1
  45. package/configure/lib/shapes/polygon.js +65 -97
  46. package/configure/lib/shapes/polygon.js.map +1 -1
  47. package/configure/lib/shapes/rectagle.js +70 -102
  48. package/configure/lib/shapes/rectagle.js.map +1 -1
  49. package/configure/lib/shapes/utils.js +3 -9
  50. package/configure/lib/shapes/utils.js.map +1 -1
  51. package/configure/lib/upload-control.js +26 -53
  52. package/configure/lib/upload-control.js.map +1 -1
  53. package/configure/lib/utils.js +85 -138
  54. package/configure/lib/utils.js.map +1 -1
  55. package/configure/package.json +11 -10
  56. package/configure/src/__tests__/index.test.js +11 -5
  57. package/configure/src/button.jsx +12 -20
  58. package/configure/src/hotspot-circle.jsx +5 -18
  59. package/configure/src/hotspot-container.jsx +82 -98
  60. package/configure/src/hotspot-drawable.jsx +43 -45
  61. package/configure/src/hotspot-palette.jsx +45 -37
  62. package/configure/src/hotspot-polygon.jsx +4 -20
  63. package/configure/src/hotspot-rectangle.jsx +4 -17
  64. package/configure/src/index.js +12 -2
  65. package/configure/src/root.jsx +85 -79
  66. package/configure/src/upload-control.jsx +6 -16
  67. package/controller/CHANGELOG.md +52 -0
  68. package/controller/lib/__tests__/index.test.js +586 -0
  69. package/controller/lib/__tests__/utils.test.js +8 -0
  70. package/controller/lib/defaults.js +3 -4
  71. package/controller/lib/defaults.js.map +1 -1
  72. package/controller/lib/index.js +152 -206
  73. package/controller/lib/index.js.map +1 -1
  74. package/controller/lib/utils.js +15 -35
  75. package/controller/lib/utils.js.map +1 -1
  76. package/controller/package.json +2 -2
  77. package/docs/demo/pie.manifest.json +11 -0
  78. package/lib/__tests__/container.test.js +221 -0
  79. package/lib/__tests__/index.test.js +113 -0
  80. package/lib/__tests__/polygon.test.js +245 -0
  81. package/lib/__tests__/rectangle.test.js +236 -0
  82. package/lib/__tests__/session-updater.test.js +69 -0
  83. package/lib/hotspot/circle.js +111 -170
  84. package/lib/hotspot/circle.js.map +1 -1
  85. package/lib/hotspot/container.js +175 -261
  86. package/lib/hotspot/container.js.map +1 -1
  87. package/lib/hotspot/icons.js +1 -1
  88. package/lib/hotspot/icons.js.map +1 -1
  89. package/lib/hotspot/image-konva-tooltip.js +66 -113
  90. package/lib/hotspot/image-konva-tooltip.js.map +1 -1
  91. package/lib/hotspot/index.js +136 -199
  92. package/lib/hotspot/index.js.map +1 -1
  93. package/lib/hotspot/polygon.js +151 -215
  94. package/lib/hotspot/polygon.js.map +1 -1
  95. package/lib/hotspot/rectangle.js +130 -186
  96. package/lib/hotspot/rectangle.js.map +1 -1
  97. package/lib/index.js +188 -257
  98. package/lib/index.js.map +1 -1
  99. package/lib/session-updater.js +13 -19
  100. package/lib/session-updater.js.map +1 -1
  101. package/package.json +14 -11
  102. package/src/hotspot/circle.jsx +2 -13
  103. package/src/hotspot/container.jsx +35 -50
  104. package/src/hotspot/index.jsx +16 -28
  105. package/src/hotspot/polygon.jsx +4 -13
  106. package/src/hotspot/rectangle.jsx +4 -13
  107. package/src/index.js +21 -12
  108. package/LICENSE.md +0 -5
  109. package/configure/node_modules/debug/CHANGELOG.md +0 -395
  110. package/configure/node_modules/debug/LICENSE +0 -19
  111. package/configure/node_modules/debug/README.md +0 -437
  112. package/configure/node_modules/debug/node.js +0 -1
  113. package/configure/node_modules/debug/package.json +0 -51
  114. package/configure/node_modules/debug/src/browser.js +0 -180
  115. package/configure/node_modules/debug/src/common.js +0 -249
  116. package/configure/node_modules/debug/src/index.js +0 -12
  117. package/configure/node_modules/debug/src/node.js +0 -177
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shapes/polygon.js"],"names":["PolygonShape","shapes","e","newShapes","newPolygon","id","points","x","evt","layerX","y","layerY","group","index","length","push","isDrawing","isDrawingShapeId","state","onPolygonComplete","clickDelta","shapesCopy","JSON","parse","stringify","currentShapeIndex","findIndex","shape","currentShape","Array","isArray","firstPoint","Math","abs","finalizeCreation","tempShapes","highestId","max","map","parseInt","polygonIndex","completedPolygon","undefined"],"mappings":"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","sourcesContent":["export class PolygonShape {\n static name = 'polygon'\n\n static create(shapes, e) {\n const newShapes = [...shapes];\n const newPolygon = {\n id: 'newPolygon',\n points: [{ x: e.evt.layerX, y: e.evt.layerY }],\n group: 'polygons',\n index: newShapes.length,\n };\n\n newShapes.push(newPolygon);\n\n return {\n shapes: newShapes,\n isDrawing: true,\n isDrawingShapeId: newPolygon.id,\n };\n }\n\n static addPoint(state, e, onPolygonComplete) {\n // Number of pixels allowed to determine if the first point was clicked\n const clickDelta = 5;\n\n const shapesCopy = JSON.parse(JSON.stringify(state.shapes));\n const currentShapeIndex = shapesCopy.findIndex((shape) => shape.id === state.isDrawingShapeId);\n\n if (currentShapeIndex !== -1) {\n const currentShape = shapesCopy[currentShapeIndex];\n if (currentShape.points && Array.isArray(currentShape.points)) {\n const firstPoint = currentShape.points[0];\n\n // If click is close enough to the first point (within clickDelta pixels), close the polygon\n if (\n Math.abs(firstPoint.x - e.evt.layerX) <= clickDelta &&\n Math.abs(firstPoint.y - e.evt.layerY) <= clickDelta\n ) {\n return PolygonShape.finalizeCreation(state, onPolygonComplete);\n }\n\n currentShape.points.push({ x: e.evt.layerX, y: e.evt.layerY });\n shapesCopy[currentShapeIndex] = currentShape;\n\n return {\n shapes: shapesCopy,\n };\n }\n }\n return state;\n }\n\n static finalizeCreation(state, onPolygonComplete) {\n const { shapes } = state;\n const tempShapes = [...shapes];\n const highestId = Math.max(...state.shapes.map((shape) => parseInt(shape.id) || 0), 0);\n\n const polygonIndex = tempShapes.findIndex((shape) => shape.id === state.isDrawingShapeId);\n\n if (polygonIndex !== -1 && tempShapes[polygonIndex].points.length > 2) {\n const completedPolygon = tempShapes[polygonIndex];\n\n completedPolygon.id = `${highestId + 1}`;\n onPolygonComplete(tempShapes);\n\n return {\n isDrawing: false,\n shapes: tempShapes,\n isDrawingShapeId: undefined,\n };\n }\n\n return state;\n }\n\n // No need to update anything on mouse move,\n // but it's here if we need to add any logic later.\n static handleMouseMove(state, e) {\n return state;\n }\n}\n"],"file":"polygon.js"}
1
+ {"version":3,"file":"polygon.js","names":["PolygonShape","create","shapes","e","newShapes","newPolygon","id","points","x","evt","layerX","y","layerY","group","index","length","push","isDrawing","isDrawingShapeId","addPoint","state","onPolygonComplete","clickDelta","shapesCopy","JSON","parse","stringify","currentShapeIndex","findIndex","shape","currentShape","Array","isArray","firstPoint","Math","abs","finalizeCreation","tempShapes","highestId","max","map","parseInt","polygonIndex","completedPolygon","undefined","handleMouseMove","exports","_defineProperty2","default"],"sources":["../../src/shapes/polygon.js"],"sourcesContent":["export class PolygonShape {\n static name = 'polygon'\n\n static create(shapes, e) {\n const newShapes = [...shapes];\n const newPolygon = {\n id: 'newPolygon',\n points: [{ x: e.evt.layerX, y: e.evt.layerY }],\n group: 'polygons',\n index: newShapes.length,\n };\n\n newShapes.push(newPolygon);\n\n return {\n shapes: newShapes,\n isDrawing: true,\n isDrawingShapeId: newPolygon.id,\n };\n }\n\n static addPoint(state, e, onPolygonComplete) {\n // Number of pixels allowed to determine if the first point was clicked\n const clickDelta = 5;\n\n const shapesCopy = JSON.parse(JSON.stringify(state.shapes));\n const currentShapeIndex = shapesCopy.findIndex((shape) => shape.id === state.isDrawingShapeId);\n\n if (currentShapeIndex !== -1) {\n const currentShape = shapesCopy[currentShapeIndex];\n if (currentShape.points && Array.isArray(currentShape.points)) {\n const firstPoint = currentShape.points[0];\n\n // If click is close enough to the first point (within clickDelta pixels), close the polygon\n if (\n Math.abs(firstPoint.x - e.evt.layerX) <= clickDelta &&\n Math.abs(firstPoint.y - e.evt.layerY) <= clickDelta\n ) {\n return PolygonShape.finalizeCreation(state, onPolygonComplete);\n }\n\n currentShape.points.push({ x: e.evt.layerX, y: e.evt.layerY });\n shapesCopy[currentShapeIndex] = currentShape;\n\n return {\n shapes: shapesCopy,\n };\n }\n }\n return state;\n }\n\n static finalizeCreation(state, onPolygonComplete) {\n const { shapes } = state;\n const tempShapes = [...shapes];\n const highestId = Math.max(...state.shapes.map((shape) => parseInt(shape.id) || 0), 0);\n\n const polygonIndex = tempShapes.findIndex((shape) => shape.id === state.isDrawingShapeId);\n\n if (polygonIndex !== -1 && tempShapes[polygonIndex].points.length > 2) {\n const completedPolygon = tempShapes[polygonIndex];\n\n completedPolygon.id = `${highestId + 1}`;\n onPolygonComplete(tempShapes);\n\n return {\n isDrawing: false,\n shapes: tempShapes,\n isDrawingShapeId: undefined,\n };\n }\n\n return state;\n }\n\n // No need to update anything on mouse move,\n // but it's here if we need to add any logic later.\n static handleMouseMove(state, e) {\n return state;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,116 +1,84 @@
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.RectangleShape = void 0;
9
-
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
- 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; }
19
-
20
- 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; }
21
-
22
- var RectangleShape = /*#__PURE__*/function () {
23
- function RectangleShape() {
24
- (0, _classCallCheck2["default"])(this, RectangleShape);
9
+ class RectangleShape {
10
+ static create(shapes, e) {
11
+ const newShapes = [...shapes];
12
+ const highestId = Math.max(...newShapes.map(shape => parseInt(shape.id)), 0) || 0;
13
+ const newRectangle = {
14
+ id: `${highestId + 1}`,
15
+ height: 0,
16
+ width: 0,
17
+ x: e.evt.layerX,
18
+ y: e.evt.layerY,
19
+ group: 'rectangles',
20
+ index: newShapes.length
21
+ };
22
+ newShapes.push(newRectangle);
23
+ return {
24
+ shapes: newShapes,
25
+ isDrawing: true,
26
+ isDrawingShapeId: newRectangle.id
27
+ };
25
28
  }
26
-
27
- (0, _createClass2["default"])(RectangleShape, null, [{
28
- key: "create",
29
- value: function create(shapes, e) {
30
- var newShapes = (0, _toConsumableArray2["default"])(shapes);
31
- var highestId = Math.max.apply(Math, (0, _toConsumableArray2["default"])(newShapes.map(function (shape) {
32
- return parseInt(shape.id);
33
- })).concat([0])) || 0;
34
- var newRectangle = {
35
- id: "".concat(highestId + 1),
36
- height: 0,
37
- width: 0,
38
- x: e.evt.layerX,
39
- y: e.evt.layerY,
40
- group: 'rectangles',
41
- index: newShapes.length
42
- };
43
- newShapes.push(newRectangle);
44
- return {
45
- shapes: newShapes,
46
- isDrawing: true,
47
- isDrawingShapeId: newRectangle.id
48
- };
49
- }
50
- }, {
51
- key: "finalizeCreation",
52
- value: function finalizeCreation(state, props) {
53
- var currentShapeIndex = state.shapes.findIndex(function (shape) {
54
- return shape.id === state.isDrawingShapeId;
55
- });
56
-
57
- if (currentShapeIndex !== -1) {
58
- var currentShape = state.shapes[currentShapeIndex]; // Check if the shape is a valid rectangle (has more than 0 width and height) before finalizing
59
-
60
- if (currentShape.width > 0 && currentShape.height > 0) {
61
- return _objectSpread(_objectSpread({}, state), {}, {
62
- isDrawing: false,
63
- stateShapes: false,
64
- isDrawingShapeId: undefined
65
- });
66
- } else {
67
- return _objectSpread(_objectSpread({}, state), {}, {
68
- isDrawing: false,
69
- stateShapes: false,
70
- isDrawingShapeId: undefined,
71
- shapes: state.shapes.filter(function (shape) {
72
- return shape.id !== state.isDrawingShapeId;
73
- })
74
- });
75
- }
76
- } // Return current state if not drawing a rectangle
77
-
78
-
79
- return _objectSpread(_objectSpread({}, state), {}, {
80
- isDrawing: false,
81
- stateShapes: false,
82
- isDrawingShapeId: undefined
83
- });
29
+ static finalizeCreation(state, props) {
30
+ const currentShapeIndex = state.shapes.findIndex(shape => shape.id === state.isDrawingShapeId);
31
+ if (currentShapeIndex !== -1) {
32
+ const currentShape = state.shapes[currentShapeIndex];
33
+
34
+ // Check if the shape is a valid rectangle (has more than 0 width and height) before finalizing
35
+ if (currentShape.width > 0 && currentShape.height > 0) {
36
+ return {
37
+ ...state,
38
+ isDrawing: false,
39
+ stateShapes: false,
40
+ isDrawingShapeId: undefined
41
+ };
42
+ } else {
43
+ return {
44
+ ...state,
45
+ isDrawing: false,
46
+ stateShapes: false,
47
+ isDrawingShapeId: undefined,
48
+ shapes: state.shapes.filter(shape => shape.id !== state.isDrawingShapeId)
49
+ };
50
+ }
84
51
  }
85
- }, {
86
- key: "handleMouseMove",
87
- value: function handleMouseMove(state, e) {
88
- var isDrawing = state.isDrawing,
89
- isDrawingShapeId = state.isDrawingShapeId,
90
- shapes = state.shapes;
91
52
 
92
- if (isDrawing) {
93
- var tempShapes = (0, _toConsumableArray2["default"])(shapes);
94
- var resizingShapeIndex = tempShapes.findIndex(function (shape) {
95
- return shape.id === isDrawingShapeId;
96
- });
97
-
98
- if (resizingShapeIndex !== -1) {
99
- var resizingShape = tempShapes[resizingShapeIndex];
100
- resizingShape.width = e.evt.layerX - resizingShape.x;
101
- resizingShape.height = e.evt.layerY - resizingShape.y;
102
- return {
103
- shapes: tempShapes
104
- };
105
- }
53
+ // Return current state if not drawing a rectangle
54
+ return {
55
+ ...state,
56
+ isDrawing: false,
57
+ stateShapes: false,
58
+ isDrawingShapeId: undefined
59
+ };
60
+ }
61
+ static handleMouseMove(state, e) {
62
+ const {
63
+ isDrawing,
64
+ isDrawingShapeId,
65
+ shapes
66
+ } = state;
67
+ if (isDrawing) {
68
+ const tempShapes = [...shapes];
69
+ const resizingShapeIndex = tempShapes.findIndex(shape => shape.id === isDrawingShapeId);
70
+ if (resizingShapeIndex !== -1) {
71
+ const resizingShape = tempShapes[resizingShapeIndex];
72
+ resizingShape.width = e.evt.layerX - resizingShape.x;
73
+ resizingShape.height = e.evt.layerY - resizingShape.y;
74
+ return {
75
+ shapes: tempShapes
76
+ };
106
77
  }
107
-
108
- return state;
109
78
  }
110
- }]);
111
- return RectangleShape;
112
- }();
113
-
79
+ return state;
80
+ }
81
+ }
114
82
  exports.RectangleShape = RectangleShape;
115
- (0, _defineProperty2["default"])(RectangleShape, "name", 'rectangle');
116
- //# sourceMappingURL=rectagle.js.map
83
+ (0, _defineProperty2.default)(RectangleShape, "name", 'rectangle');
84
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWN0YW5nbGVTaGFwZSIsImNyZWF0ZSIsInNoYXBlcyIsImUiLCJuZXdTaGFwZXMiLCJoaWdoZXN0SWQiLCJNYXRoIiwibWF4IiwibWFwIiwic2hhcGUiLCJwYXJzZUludCIsImlkIiwibmV3UmVjdGFuZ2xlIiwiaGVpZ2h0Iiwid2lkdGgiLCJ4IiwiZXZ0IiwibGF5ZXJYIiwieSIsImxheWVyWSIsImdyb3VwIiwiaW5kZXgiLCJsZW5ndGgiLCJwdXNoIiwiaXNEcmF3aW5nIiwiaXNEcmF3aW5nU2hhcGVJZCIsImZpbmFsaXplQ3JlYXRpb24iLCJzdGF0ZSIsInByb3BzIiwiY3VycmVudFNoYXBlSW5kZXgiLCJmaW5kSW5kZXgiLCJjdXJyZW50U2hhcGUiLCJzdGF0ZVNoYXBlcyIsInVuZGVmaW5lZCIsImZpbHRlciIsImhhbmRsZU1vdXNlTW92ZSIsInRlbXBTaGFwZXMiLCJyZXNpemluZ1NoYXBlSW5kZXgiLCJyZXNpemluZ1NoYXBlIiwiZXhwb3J0cyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXBlcy9yZWN0YWdsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUmVjdGFuZ2xlU2hhcGUge1xuICBzdGF0aWMgbmFtZSA9ICdyZWN0YW5nbGUnXG5cbiAgc3RhdGljIGNyZWF0ZShzaGFwZXMsIGUpIHtcbiAgICBjb25zdCBuZXdTaGFwZXMgPSBbLi4uc2hhcGVzXTtcbiAgICBjb25zdCBoaWdoZXN0SWQgPSBNYXRoLm1heCguLi5uZXdTaGFwZXMubWFwKChzaGFwZSkgPT4gcGFyc2VJbnQoc2hhcGUuaWQpKSwgMCkgfHwgMDtcblxuICAgIGNvbnN0IG5ld1JlY3RhbmdsZSA9IHtcbiAgICAgIGlkOiBgJHtoaWdoZXN0SWQgKyAxfWAsXG4gICAgICBoZWlnaHQ6IDAsXG4gICAgICB3aWR0aDogMCxcbiAgICAgIHg6IGUuZXZ0LmxheWVyWCxcbiAgICAgIHk6IGUuZXZ0LmxheWVyWSxcbiAgICAgIGdyb3VwOiAncmVjdGFuZ2xlcycsXG4gICAgICBpbmRleDogbmV3U2hhcGVzLmxlbmd0aCxcbiAgICB9O1xuXG4gICAgbmV3U2hhcGVzLnB1c2gobmV3UmVjdGFuZ2xlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzaGFwZXM6IG5ld1NoYXBlcyxcbiAgICAgIGlzRHJhd2luZzogdHJ1ZSxcbiAgICAgIGlzRHJhd2luZ1NoYXBlSWQ6IG5ld1JlY3RhbmdsZS5pZCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZpbmFsaXplQ3JlYXRpb24oc3RhdGUsIHByb3BzKSB7XG4gICAgY29uc3QgY3VycmVudFNoYXBlSW5kZXggPSBzdGF0ZS5zaGFwZXMuZmluZEluZGV4KChzaGFwZSkgPT4gc2hhcGUuaWQgPT09IHN0YXRlLmlzRHJhd2luZ1NoYXBlSWQpO1xuXG4gICAgaWYgKGN1cnJlbnRTaGFwZUluZGV4ICE9PSAtMSkge1xuICAgICAgY29uc3QgY3VycmVudFNoYXBlID0gc3RhdGUuc2hhcGVzW2N1cnJlbnRTaGFwZUluZGV4XTtcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNoYXBlIGlzIGEgdmFsaWQgcmVjdGFuZ2xlIChoYXMgbW9yZSB0aGFuIDAgd2lkdGggYW5kIGhlaWdodCkgYmVmb3JlIGZpbmFsaXppbmdcbiAgICAgIGlmIChjdXJyZW50U2hhcGUud2lkdGggPiAwICYmIGN1cnJlbnRTaGFwZS5oZWlnaHQgPiAwKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgaXNEcmF3aW5nOiBmYWxzZSxcbiAgICAgICAgICBzdGF0ZVNoYXBlczogZmFsc2UsXG4gICAgICAgICAgaXNEcmF3aW5nU2hhcGVJZDogdW5kZWZpbmVkLFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBpc0RyYXdpbmc6IGZhbHNlLFxuICAgICAgICAgIHN0YXRlU2hhcGVzOiBmYWxzZSxcbiAgICAgICAgICBpc0RyYXdpbmdTaGFwZUlkOiB1bmRlZmluZWQsXG4gICAgICAgICAgc2hhcGVzOiBzdGF0ZS5zaGFwZXMuZmlsdGVyKChzaGFwZSkgPT4gc2hhcGUuaWQgIT09IHN0YXRlLmlzRHJhd2luZ1NoYXBlSWQpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldHVybiBjdXJyZW50IHN0YXRlIGlmIG5vdCBkcmF3aW5nIGEgcmVjdGFuZ2xlXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgaXNEcmF3aW5nOiBmYWxzZSxcbiAgICAgIHN0YXRlU2hhcGVzOiBmYWxzZSxcbiAgICAgIGlzRHJhd2luZ1NoYXBlSWQ6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGhhbmRsZU1vdXNlTW92ZShzdGF0ZSwgZSkge1xuICAgIGNvbnN0IHsgaXNEcmF3aW5nLCBpc0RyYXdpbmdTaGFwZUlkLCBzaGFwZXMgfSA9IHN0YXRlO1xuXG4gICAgaWYgKGlzRHJhd2luZykge1xuICAgICAgY29uc3QgdGVtcFNoYXBlcyA9IFsuLi5zaGFwZXNdO1xuICAgICAgY29uc3QgcmVzaXppbmdTaGFwZUluZGV4ID0gdGVtcFNoYXBlcy5maW5kSW5kZXgoKHNoYXBlKSA9PiBzaGFwZS5pZCA9PT0gaXNEcmF3aW5nU2hhcGVJZCk7XG5cbiAgICAgIGlmIChyZXNpemluZ1NoYXBlSW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHJlc2l6aW5nU2hhcGUgPSB0ZW1wU2hhcGVzW3Jlc2l6aW5nU2hhcGVJbmRleF07XG5cbiAgICAgICAgcmVzaXppbmdTaGFwZS53aWR0aCA9IGUuZXZ0LmxheWVyWCAtIHJlc2l6aW5nU2hhcGUueDtcbiAgICAgICAgcmVzaXppbmdTaGFwZS5oZWlnaHQgPSBlLmV2dC5sYXllclkgLSByZXNpemluZ1NoYXBlLnk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzaGFwZXM6IHRlbXBTaGFwZXMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQU8sTUFBTUEsY0FBYyxDQUFDO0VBRzFCLE9BQU9DLE1BQU1BLENBQUNDLE1BQU0sRUFBRUMsQ0FBQyxFQUFFO0lBQ3ZCLE1BQU1DLFNBQVMsR0FBRyxDQUFDLEdBQUdGLE1BQU0sQ0FBQztJQUM3QixNQUFNRyxTQUFTLEdBQUdDLElBQUksQ0FBQ0MsR0FBRyxDQUFDLEdBQUdILFNBQVMsQ0FBQ0ksR0FBRyxDQUFFQyxLQUFLLElBQUtDLFFBQVEsQ0FBQ0QsS0FBSyxDQUFDRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFbkYsTUFBTUMsWUFBWSxHQUFHO01BQ25CRCxFQUFFLEVBQUUsR0FBR04sU0FBUyxHQUFHLENBQUMsRUFBRTtNQUN0QlEsTUFBTSxFQUFFLENBQUM7TUFDVEMsS0FBSyxFQUFFLENBQUM7TUFDUkMsQ0FBQyxFQUFFWixDQUFDLENBQUNhLEdBQUcsQ0FBQ0MsTUFBTTtNQUNmQyxDQUFDLEVBQUVmLENBQUMsQ0FBQ2EsR0FBRyxDQUFDRyxNQUFNO01BQ2ZDLEtBQUssRUFBRSxZQUFZO01BQ25CQyxLQUFLLEVBQUVqQixTQUFTLENBQUNrQjtJQUNuQixDQUFDO0lBRURsQixTQUFTLENBQUNtQixJQUFJLENBQUNYLFlBQVksQ0FBQztJQUU1QixPQUFPO01BQ0xWLE1BQU0sRUFBRUUsU0FBUztNQUNqQm9CLFNBQVMsRUFBRSxJQUFJO01BQ2ZDLGdCQUFnQixFQUFFYixZQUFZLENBQUNEO0lBQ2pDLENBQUM7RUFDSDtFQUVBLE9BQU9lLGdCQUFnQkEsQ0FBQ0MsS0FBSyxFQUFFQyxLQUFLLEVBQUU7SUFDcEMsTUFBTUMsaUJBQWlCLEdBQUdGLEtBQUssQ0FBQ3pCLE1BQU0sQ0FBQzRCLFNBQVMsQ0FBRXJCLEtBQUssSUFBS0EsS0FBSyxDQUFDRSxFQUFFLEtBQUtnQixLQUFLLENBQUNGLGdCQUFnQixDQUFDO0lBRWhHLElBQUlJLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxFQUFFO01BQzVCLE1BQU1FLFlBQVksR0FBR0osS0FBSyxDQUFDekIsTUFBTSxDQUFDMkIsaUJBQWlCLENBQUM7O01BRXBEO01BQ0EsSUFBSUUsWUFBWSxDQUFDakIsS0FBSyxHQUFHLENBQUMsSUFBSWlCLFlBQVksQ0FBQ2xCLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDckQsT0FBTztVQUNMLEdBQUdjLEtBQUs7VUFDUkgsU0FBUyxFQUFFLEtBQUs7VUFDaEJRLFdBQVcsRUFBRSxLQUFLO1VBQ2xCUCxnQkFBZ0IsRUFBRVE7UUFDcEIsQ0FBQztNQUNILENBQUMsTUFBTTtRQUNMLE9BQU87VUFDTCxHQUFHTixLQUFLO1VBQ1JILFNBQVMsRUFBRSxLQUFLO1VBQ2hCUSxXQUFXLEVBQUUsS0FBSztVQUNsQlAsZ0JBQWdCLEVBQUVRLFNBQVM7VUFDM0IvQixNQUFNLEVBQUV5QixLQUFLLENBQUN6QixNQUFNLENBQUNnQyxNQUFNLENBQUV6QixLQUFLLElBQUtBLEtBQUssQ0FBQ0UsRUFBRSxLQUFLZ0IsS0FBSyxDQUFDRixnQkFBZ0I7UUFDNUUsQ0FBQztNQUNIO0lBQ0Y7O0lBRUE7SUFDQSxPQUFPO01BQ0wsR0FBR0UsS0FBSztNQUNSSCxTQUFTLEVBQUUsS0FBSztNQUNoQlEsV0FBVyxFQUFFLEtBQUs7TUFDbEJQLGdCQUFnQixFQUFFUTtJQUNwQixDQUFDO0VBQ0g7RUFFQSxPQUFPRSxlQUFlQSxDQUFDUixLQUFLLEVBQUV4QixDQUFDLEVBQUU7SUFDL0IsTUFBTTtNQUFFcUIsU0FBUztNQUFFQyxnQkFBZ0I7TUFBRXZCO0lBQU8sQ0FBQyxHQUFHeUIsS0FBSztJQUVyRCxJQUFJSCxTQUFTLEVBQUU7TUFDYixNQUFNWSxVQUFVLEdBQUcsQ0FBQyxHQUFHbEMsTUFBTSxDQUFDO01BQzlCLE1BQU1tQyxrQkFBa0IsR0FBR0QsVUFBVSxDQUFDTixTQUFTLENBQUVyQixLQUFLLElBQUtBLEtBQUssQ0FBQ0UsRUFBRSxLQUFLYyxnQkFBZ0IsQ0FBQztNQUV6RixJQUFJWSxrQkFBa0IsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM3QixNQUFNQyxhQUFhLEdBQUdGLFVBQVUsQ0FBQ0Msa0JBQWtCLENBQUM7UUFFcERDLGFBQWEsQ0FBQ3hCLEtBQUssR0FBR1gsQ0FBQyxDQUFDYSxHQUFHLENBQUNDLE1BQU0sR0FBR3FCLGFBQWEsQ0FBQ3ZCLENBQUM7UUFDcER1QixhQUFhLENBQUN6QixNQUFNLEdBQUdWLENBQUMsQ0FBQ2EsR0FBRyxDQUFDRyxNQUFNLEdBQUdtQixhQUFhLENBQUNwQixDQUFDO1FBRXJELE9BQU87VUFDTGhCLE1BQU0sRUFBRWtDO1FBQ1YsQ0FBQztNQUNIO0lBQ0Y7SUFFQSxPQUFPVCxLQUFLO0VBQ2Q7QUFDRjtBQUFDWSxPQUFBLENBQUF2QyxjQUFBLEdBQUFBLGNBQUE7QUFBQSxJQUFBd0MsZ0JBQUEsQ0FBQUMsT0FBQSxFQWpGWXpDLGNBQWMsVUFDWCxXQUFXIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shapes/rectagle.js"],"names":["RectangleShape","shapes","e","newShapes","highestId","Math","max","map","shape","parseInt","id","newRectangle","height","width","x","evt","layerX","y","layerY","group","index","length","push","isDrawing","isDrawingShapeId","state","props","currentShapeIndex","findIndex","currentShape","stateShapes","undefined","filter","tempShapes","resizingShapeIndex","resizingShape"],"mappings":"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","sourcesContent":["export class RectangleShape {\n static name = 'rectangle'\n\n static create(shapes, e) {\n const newShapes = [...shapes];\n const highestId = Math.max(...newShapes.map((shape) => parseInt(shape.id)), 0) || 0;\n\n const newRectangle = {\n id: `${highestId + 1}`,\n height: 0,\n width: 0,\n x: e.evt.layerX,\n y: e.evt.layerY,\n group: 'rectangles',\n index: newShapes.length,\n };\n\n newShapes.push(newRectangle);\n\n return {\n shapes: newShapes,\n isDrawing: true,\n isDrawingShapeId: newRectangle.id,\n };\n }\n\n static finalizeCreation(state, props) {\n const currentShapeIndex = state.shapes.findIndex((shape) => shape.id === state.isDrawingShapeId);\n\n if (currentShapeIndex !== -1) {\n const currentShape = state.shapes[currentShapeIndex];\n\n // Check if the shape is a valid rectangle (has more than 0 width and height) before finalizing\n if (currentShape.width > 0 && currentShape.height > 0) {\n return {\n ...state,\n isDrawing: false,\n stateShapes: false,\n isDrawingShapeId: undefined,\n };\n } else {\n return {\n ...state,\n isDrawing: false,\n stateShapes: false,\n isDrawingShapeId: undefined,\n shapes: state.shapes.filter((shape) => shape.id !== state.isDrawingShapeId),\n };\n }\n }\n\n // Return current state if not drawing a rectangle\n return {\n ...state,\n isDrawing: false,\n stateShapes: false,\n isDrawingShapeId: undefined,\n };\n }\n\n static handleMouseMove(state, e) {\n const { isDrawing, isDrawingShapeId, shapes } = state;\n\n if (isDrawing) {\n const tempShapes = [...shapes];\n const resizingShapeIndex = tempShapes.findIndex((shape) => shape.id === isDrawingShapeId);\n\n if (resizingShapeIndex !== -1) {\n const resizingShape = tempShapes[resizingShapeIndex];\n\n resizingShape.width = e.evt.layerX - resizingShape.x;\n resizingShape.height = e.evt.layerY - resizingShape.y;\n\n return {\n shapes: tempShapes,\n };\n }\n }\n\n return state;\n }\n}\n"],"file":"rectagle.js"}
1
+ {"version":3,"file":"rectagle.js","names":["RectangleShape","create","shapes","e","newShapes","highestId","Math","max","map","shape","parseInt","id","newRectangle","height","width","x","evt","layerX","y","layerY","group","index","length","push","isDrawing","isDrawingShapeId","finalizeCreation","state","props","currentShapeIndex","findIndex","currentShape","stateShapes","undefined","filter","handleMouseMove","tempShapes","resizingShapeIndex","resizingShape","exports","_defineProperty2","default"],"sources":["../../src/shapes/rectagle.js"],"sourcesContent":["export class RectangleShape {\n static name = 'rectangle'\n\n static create(shapes, e) {\n const newShapes = [...shapes];\n const highestId = Math.max(...newShapes.map((shape) => parseInt(shape.id)), 0) || 0;\n\n const newRectangle = {\n id: `${highestId + 1}`,\n height: 0,\n width: 0,\n x: e.evt.layerX,\n y: e.evt.layerY,\n group: 'rectangles',\n index: newShapes.length,\n };\n\n newShapes.push(newRectangle);\n\n return {\n shapes: newShapes,\n isDrawing: true,\n isDrawingShapeId: newRectangle.id,\n };\n }\n\n static finalizeCreation(state, props) {\n const currentShapeIndex = state.shapes.findIndex((shape) => shape.id === state.isDrawingShapeId);\n\n if (currentShapeIndex !== -1) {\n const currentShape = state.shapes[currentShapeIndex];\n\n // Check if the shape is a valid rectangle (has more than 0 width and height) before finalizing\n if (currentShape.width > 0 && currentShape.height > 0) {\n return {\n ...state,\n isDrawing: false,\n stateShapes: false,\n isDrawingShapeId: undefined,\n };\n } else {\n return {\n ...state,\n isDrawing: false,\n stateShapes: false,\n isDrawingShapeId: undefined,\n shapes: state.shapes.filter((shape) => shape.id !== state.isDrawingShapeId),\n };\n }\n }\n\n // Return current state if not drawing a rectangle\n return {\n ...state,\n isDrawing: false,\n stateShapes: false,\n isDrawingShapeId: undefined,\n };\n }\n\n static handleMouseMove(state, e) {\n const { isDrawing, isDrawingShapeId, shapes } = state;\n\n if (isDrawing) {\n const tempShapes = [...shapes];\n const resizingShapeIndex = tempShapes.findIndex((shape) => shape.id === isDrawingShapeId);\n\n if (resizingShapeIndex !== -1) {\n const resizingShape = tempShapes[resizingShapeIndex];\n\n resizingShape.width = e.evt.layerX - resizingShape.x;\n resizingShape.height = e.evt.layerY - resizingShape.y;\n\n return {\n shapes: tempShapes,\n };\n }\n }\n\n return state;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,24 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SUPPORTED_SHAPES = exports.SHAPE_GROUPS = void 0;
7
-
8
7
  var _circle = require("./circle");
9
-
10
8
  var _polygon = require("./polygon");
11
-
12
9
  var _rectagle = require("./rectagle");
13
-
14
- var SUPPORTED_SHAPES = {
10
+ const SUPPORTED_SHAPES = exports.SUPPORTED_SHAPES = {
15
11
  CIRCLE: _circle.CircleShape.name,
16
12
  POLYGON: _polygon.PolygonShape.name,
17
13
  RECTANGLE: _rectagle.RectangleShape.name,
18
14
  NONE: 'none'
19
15
  };
20
- exports.SUPPORTED_SHAPES = SUPPORTED_SHAPES;
21
- var SHAPE_GROUPS = {
16
+ const SHAPE_GROUPS = exports.SHAPE_GROUPS = {
22
17
  CIRCLES: 'circles',
23
18
  POLYGONS: 'polygons',
24
19
  RECTANGLES: 'rectangles'
25
20
  };
26
- exports.SHAPE_GROUPS = SHAPE_GROUPS;
27
- //# sourceMappingURL=utils.js.map
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2lyY2xlIiwicmVxdWlyZSIsIl9wb2x5Z29uIiwiX3JlY3RhZ2xlIiwiU1VQUE9SVEVEX1NIQVBFUyIsImV4cG9ydHMiLCJDSVJDTEUiLCJDaXJjbGVTaGFwZSIsIm5hbWUiLCJQT0xZR09OIiwiUG9seWdvblNoYXBlIiwiUkVDVEFOR0xFIiwiUmVjdGFuZ2xlU2hhcGUiLCJOT05FIiwiU0hBUEVfR1JPVVBTIiwiQ0lSQ0xFUyIsIlBPTFlHT05TIiwiUkVDVEFOR0xFUyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFwZXMvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2lyY2xlU2hhcGUgfSBmcm9tICcuL2NpcmNsZSc7XG5pbXBvcnQgeyBQb2x5Z29uU2hhcGUgfSBmcm9tICcuL3BvbHlnb24nO1xuaW1wb3J0IHsgUmVjdGFuZ2xlU2hhcGUgfSBmcm9tICcuL3JlY3RhZ2xlJztcblxuZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9TSEFQRVMgPSB7XG4gIENJUkNMRTogQ2lyY2xlU2hhcGUubmFtZSxcbiAgUE9MWUdPTjogUG9seWdvblNoYXBlLm5hbWUsXG4gIFJFQ1RBTkdMRTogUmVjdGFuZ2xlU2hhcGUubmFtZSxcbiAgTk9ORTogJ25vbmUnLFxufTtcblxuZXhwb3J0IGNvbnN0IFNIQVBFX0dST1VQUyA9IHtcbiAgQ0lSQ0xFUzogJ2NpcmNsZXMnLFxuICBQT0xZR09OUzogJ3BvbHlnb25zJyxcbiAgUkVDVEFOR0xFUzogJ3JlY3RhbmdsZXMnLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBRU8sTUFBTUcsZ0JBQWdCLEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsR0FBRztFQUM5QkUsTUFBTSxFQUFFQyxtQkFBVyxDQUFDQyxJQUFJO0VBQ3hCQyxPQUFPLEVBQUVDLHFCQUFZLENBQUNGLElBQUk7RUFDMUJHLFNBQVMsRUFBRUMsd0JBQWMsQ0FBQ0osSUFBSTtFQUM5QkssSUFBSSxFQUFFO0FBQ1IsQ0FBQztBQUVNLE1BQU1DLFlBQVksR0FBQVQsT0FBQSxDQUFBUyxZQUFBLEdBQUc7RUFDMUJDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsVUFBVSxFQUFFO0FBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shapes/utils.js"],"names":["SUPPORTED_SHAPES","CIRCLE","CircleShape","name","POLYGON","PolygonShape","RECTANGLE","RectangleShape","NONE","SHAPE_GROUPS","CIRCLES","POLYGONS","RECTANGLES"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,MAAM,EAAEC,oBAAYC,IADU;AAE9BC,EAAAA,OAAO,EAAEC,sBAAaF,IAFQ;AAG9BG,EAAAA,SAAS,EAAEC,yBAAeJ,IAHI;AAI9BK,EAAAA,IAAI,EAAE;AAJwB,CAAzB;;AAOA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,OAAO,EAAE,SADiB;AAE1BC,EAAAA,QAAQ,EAAE,UAFgB;AAG1BC,EAAAA,UAAU,EAAE;AAHc,CAArB","sourcesContent":["import { CircleShape } from './circle';\nimport { PolygonShape } from './polygon';\nimport { RectangleShape } from './rectagle';\n\nexport const SUPPORTED_SHAPES = {\n CIRCLE: CircleShape.name,\n POLYGON: PolygonShape.name,\n RECTANGLE: RectangleShape.name,\n NONE: 'none',\n};\n\nexport const SHAPE_GROUPS = {\n CIRCLES: 'circles',\n POLYGONS: 'polygons',\n RECTANGLES: 'rectangles',\n};\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["_circle","require","_polygon","_rectagle","SUPPORTED_SHAPES","exports","CIRCLE","CircleShape","name","POLYGON","PolygonShape","RECTANGLE","RectangleShape","NONE","SHAPE_GROUPS","CIRCLES","POLYGONS","RECTANGLES"],"sources":["../../src/shapes/utils.js"],"sourcesContent":["import { CircleShape } from './circle';\nimport { PolygonShape } from './polygon';\nimport { RectangleShape } from './rectagle';\n\nexport const SUPPORTED_SHAPES = {\n CIRCLE: CircleShape.name,\n POLYGON: PolygonShape.name,\n RECTANGLE: RectangleShape.name,\n NONE: 'none',\n};\n\nexport const SHAPE_GROUPS = {\n CIRCLES: 'circles',\n POLYGONS: 'polygons',\n RECTANGLES: 'rectangles',\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEO,MAAMG,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,MAAM,EAAEC,mBAAW,CAACC,IAAI;EACxBC,OAAO,EAAEC,qBAAY,CAACF,IAAI;EAC1BG,SAAS,EAAEC,wBAAc,CAACJ,IAAI;EAC9BK,IAAI,EAAE;AACR,CAAC;AAEM,MAAMC,YAAY,GAAAT,OAAA,CAAAS,YAAA,GAAG;EAC1BC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
@@ -1,68 +1,41 @@
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
- exports["default"] = void 0;
9
-
7
+ exports.default = void 0;
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
- var _index = require("@material-ui/core/styles/index");
15
-
16
10
  var _button = _interopRequireDefault(require("./button"));
17
-
18
- var UploadControl = function UploadControl(_ref) {
19
- var classNameButton = _ref.classNameButton,
20
- classNameSection = _ref.classNameSection,
21
- classes = _ref.classes,
22
- label = _ref.label,
23
- onInputClick = _ref.onInputClick,
24
- onUploadImage = _ref.onUploadImage,
25
- setRef = _ref.setRef;
26
- return /*#__PURE__*/_react["default"].createElement("div", {
27
- className: classNameSection
28
- }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
29
- className: classNameButton,
30
- label: label,
31
- onClick: onInputClick
32
- }), /*#__PURE__*/_react["default"].createElement("input", {
33
- accept: "image/*",
34
- className: classes.input,
35
- onChange: onUploadImage,
36
- ref: function ref(_ref2) {
37
- setRef(_ref2);
38
- },
39
- type: "file"
40
- }));
41
- };
42
-
43
- var styles = function styles() {
44
- return {
45
- input: {
46
- display: 'none'
47
- }
48
- };
49
- };
50
-
11
+ const UploadControl = ({
12
+ label,
13
+ onInputClick,
14
+ onUploadImage,
15
+ setRef
16
+ }) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_button.default, {
17
+ label: label,
18
+ onClick: onInputClick
19
+ }), /*#__PURE__*/_react.default.createElement("input", {
20
+ accept: "image/*",
21
+ style: {
22
+ display: 'none'
23
+ },
24
+ onChange: onUploadImage,
25
+ ref: ref => {
26
+ setRef(ref);
27
+ },
28
+ type: "file"
29
+ }));
51
30
  UploadControl.propTypes = {
52
- classes: _propTypes["default"].object.isRequired,
53
- classNameButton: _propTypes["default"].string,
54
- classNameSection: _propTypes["default"].string,
55
- label: _propTypes["default"].string.isRequired,
56
- onInputClick: _propTypes["default"].func.isRequired,
57
- onUploadImage: _propTypes["default"].func.isRequired,
58
- setRef: _propTypes["default"].func.isRequired
31
+ label: _propTypes.default.string.isRequired,
32
+ onInputClick: _propTypes.default.func.isRequired,
33
+ onUploadImage: _propTypes.default.func.isRequired,
34
+ setRef: _propTypes.default.func.isRequired
59
35
  };
60
36
  UploadControl.defaultProps = {
61
37
  classNameButton: '',
62
38
  classNameSection: ''
63
39
  };
64
-
65
- var _default = (0, _index.withStyles)(styles)(UploadControl);
66
-
67
- exports["default"] = _default;
68
- //# sourceMappingURL=upload-control.js.map
40
+ var _default = exports.default = UploadControl;
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfYnV0dG9uIiwiVXBsb2FkQ29udHJvbCIsImxhYmVsIiwib25JbnB1dENsaWNrIiwib25VcGxvYWRJbWFnZSIsInNldFJlZiIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJvbkNsaWNrIiwiYWNjZXB0Iiwic3R5bGUiLCJkaXNwbGF5Iiwib25DaGFuZ2UiLCJyZWYiLCJ0eXBlIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImZ1bmMiLCJkZWZhdWx0UHJvcHMiLCJjbGFzc05hbWVCdXR0b24iLCJjbGFzc05hbWVTZWN0aW9uIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VwbG9hZC1jb250cm9sLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL2J1dHRvbic7XG5cbmNvbnN0IFVwbG9hZENvbnRyb2wgPSAoeyBsYWJlbCwgb25JbnB1dENsaWNrLCBvblVwbG9hZEltYWdlLCBzZXRSZWYgfSkgPT4gKFxuICA8PlxuICAgIDxCdXR0b24gbGFiZWw9e2xhYmVsfSBvbkNsaWNrPXtvbklucHV0Q2xpY2t9IC8+XG4gICAgPGlucHV0XG4gICAgICBhY2NlcHQ9XCJpbWFnZS8qXCJcbiAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgb25DaGFuZ2U9e29uVXBsb2FkSW1hZ2V9XG4gICAgICByZWY9eyhyZWYpID0+IHtcbiAgICAgICAgc2V0UmVmKHJlZik7XG4gICAgICB9fVxuICAgICAgdHlwZT1cImZpbGVcIlxuICAgIC8+XG4gIDwvPlxuKTtcblxuVXBsb2FkQ29udHJvbC5wcm9wVHlwZXMgPSB7XG4gIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIG9uSW5wdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25VcGxvYWRJbWFnZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgc2V0UmVmOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuVXBsb2FkQ29udHJvbC5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZUJ1dHRvbjogJycsXG4gIGNsYXNzTmFtZVNlY3Rpb246ICcnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVXBsb2FkQ29udHJvbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLE1BQU1HLGFBQWEsR0FBR0EsQ0FBQztFQUFFQyxLQUFLO0VBQUVDLFlBQVk7RUFBRUMsYUFBYTtFQUFFQztBQUFPLENBQUMsa0JBQ25FVCxNQUFBLENBQUFVLE9BQUEsQ0FBQUMsYUFBQSxDQUFBWCxNQUFBLENBQUFVLE9BQUEsQ0FBQUUsUUFBQSxxQkFDRVosTUFBQSxDQUFBVSxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsT0FBQSxDQUFBTSxPQUFNO0VBQUNKLEtBQUssRUFBRUEsS0FBTTtFQUFDTyxPQUFPLEVBQUVOO0FBQWEsQ0FBRSxDQUFDLGVBQy9DUCxNQUFBLENBQUFVLE9BQUEsQ0FBQUMsYUFBQTtFQUNFRyxNQUFNLEVBQUMsU0FBUztFQUNoQkMsS0FBSyxFQUFFO0lBQUVDLE9BQU8sRUFBRTtFQUFPLENBQUU7RUFDM0JDLFFBQVEsRUFBRVQsYUFBYztFQUN4QlUsR0FBRyxFQUFHQSxHQUFHLElBQUs7SUFDWlQsTUFBTSxDQUFDUyxHQUFHLENBQUM7RUFDYixDQUFFO0VBQ0ZDLElBQUksRUFBQztBQUFNLENBQ1osQ0FDRCxDQUNIO0FBRURkLGFBQWEsQ0FBQ2UsU0FBUyxHQUFHO0VBQ3hCZCxLQUFLLEVBQUVlLGtCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtFQUNsQ2hCLFlBQVksRUFBRWMsa0JBQVMsQ0FBQ0csSUFBSSxDQUFDRCxVQUFVO0VBQ3ZDZixhQUFhLEVBQUVhLGtCQUFTLENBQUNHLElBQUksQ0FBQ0QsVUFBVTtFQUN4Q2QsTUFBTSxFQUFFWSxrQkFBUyxDQUFDRyxJQUFJLENBQUNEO0FBQ3pCLENBQUM7QUFFRGxCLGFBQWEsQ0FBQ29CLFlBQVksR0FBRztFQUMzQkMsZUFBZSxFQUFFLEVBQUU7RUFDbkJDLGdCQUFnQixFQUFFO0FBQ3BCLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsQ0FBQW5CLE9BQUEsR0FFYUwsYUFBYSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/upload-control.jsx"],"names":["UploadControl","classNameButton","classNameSection","classes","label","onInputClick","onUploadImage","setRef","input","ref","styles","display","propTypes","PropTypes","object","isRequired","string","func","defaultProps"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,eAAH,QAAGA,eAAH;AAAA,MAAoBC,gBAApB,QAAoBA,gBAApB;AAAA,MAAsCC,OAAtC,QAAsCA,OAAtC;AAAA,MAA+CC,KAA/C,QAA+CA,KAA/C;AAAA,MAAsDC,YAAtD,QAAsDA,YAAtD;AAAA,MAAoEC,aAApE,QAAoEA,aAApE;AAAA,MAAmFC,MAAnF,QAAmFA,MAAnF;AAAA,sBACpB;AAAK,IAAA,SAAS,EAAEL;AAAhB,kBACE,gCAAC,kBAAD;AAAQ,IAAA,SAAS,EAAED,eAAnB;AAAoC,IAAA,KAAK,EAAEG,KAA3C;AAAkD,IAAA,OAAO,EAAEC;AAA3D,IADF,eAEE;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAEF,OAAO,CAACK,KAFrB;AAGE,IAAA,QAAQ,EAAEF,aAHZ;AAIE,IAAA,GAAG,EAAE,aAACG,KAAD,EAAS;AACZF,MAAAA,MAAM,CAACE,KAAD,CAAN;AACD,KANH;AAOE,IAAA,IAAI,EAAC;AAPP,IAFF,CADoB;AAAA,CAAtB;;AAeA,IAAMC,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBF,IAAAA,KAAK,EAAE;AACLG,MAAAA,OAAO,EAAE;AADJ;AADa,GAAP;AAAA,CAAf;;AAMAX,aAAa,CAACY,SAAd,GAA0B;AACxBT,EAAAA,OAAO,EAAEU,sBAAUC,MAAV,CAAiBC,UADF;AAExBd,EAAAA,eAAe,EAAEY,sBAAUG,MAFH;AAGxBd,EAAAA,gBAAgB,EAAEW,sBAAUG,MAHJ;AAIxBZ,EAAAA,KAAK,EAAES,sBAAUG,MAAV,CAAiBD,UAJA;AAKxBV,EAAAA,YAAY,EAAEQ,sBAAUI,IAAV,CAAeF,UALL;AAMxBT,EAAAA,aAAa,EAAEO,sBAAUI,IAAV,CAAeF,UANN;AAOxBR,EAAAA,MAAM,EAAEM,sBAAUI,IAAV,CAAeF;AAPC,CAA1B;AAUAf,aAAa,CAACkB,YAAd,GAA6B;AAC3BjB,EAAAA,eAAe,EAAE,EADU;AAE3BC,EAAAA,gBAAgB,EAAE;AAFS,CAA7B;;eAKe,uBAAWQ,MAAX,EAAmBV,aAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles/index';\n\nimport Button from './button';\n\nconst UploadControl = ({ classNameButton, classNameSection, classes, label, onInputClick, onUploadImage, setRef }) => (\n <div className={classNameSection}>\n <Button className={classNameButton} label={label} onClick={onInputClick} />\n <input\n accept=\"image/*\"\n className={classes.input}\n onChange={onUploadImage}\n ref={(ref) => {\n setRef(ref);\n }}\n type=\"file\"\n />\n </div>\n);\n\nconst styles = () => ({\n input: {\n display: 'none',\n },\n});\n\nUploadControl.propTypes = {\n classes: PropTypes.object.isRequired,\n classNameButton: PropTypes.string,\n classNameSection: PropTypes.string,\n label: PropTypes.string.isRequired,\n onInputClick: PropTypes.func.isRequired,\n onUploadImage: PropTypes.func.isRequired,\n setRef: PropTypes.func.isRequired,\n};\n\nUploadControl.defaultProps = {\n classNameButton: '',\n classNameSection: '',\n};\n\nexport default withStyles(styles)(UploadControl);\n"],"file":"upload-control.js"}
1
+ {"version":3,"file":"upload-control.js","names":["_react","_interopRequireDefault","require","_propTypes","_button","UploadControl","label","onInputClick","onUploadImage","setRef","default","createElement","Fragment","onClick","accept","style","display","onChange","ref","type","propTypes","PropTypes","string","isRequired","func","defaultProps","classNameButton","classNameSection","_default","exports"],"sources":["../src/upload-control.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from './button';\n\nconst UploadControl = ({ label, onInputClick, onUploadImage, setRef }) => (\n <>\n <Button label={label} onClick={onInputClick} />\n <input\n accept=\"image/*\"\n style={{ display: 'none' }}\n onChange={onUploadImage}\n ref={(ref) => {\n setRef(ref);\n }}\n type=\"file\"\n />\n </>\n);\n\nUploadControl.propTypes = {\n label: PropTypes.string.isRequired,\n onInputClick: PropTypes.func.isRequired,\n onUploadImage: PropTypes.func.isRequired,\n setRef: PropTypes.func.isRequired,\n};\n\nUploadControl.defaultProps = {\n classNameButton: '',\n classNameSection: '',\n};\n\nexport default UploadControl;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,MAAMG,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;EAAEC,aAAa;EAAEC;AAAO,CAAC,kBACnET,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAAAX,MAAA,CAAAU,OAAA,CAAAE,QAAA,qBACEZ,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAM,OAAM;EAACJ,KAAK,EAAEA,KAAM;EAACO,OAAO,EAAEN;AAAa,CAAE,CAAC,eAC/CP,MAAA,CAAAU,OAAA,CAAAC,aAAA;EACEG,MAAM,EAAC,SAAS;EAChBC,KAAK,EAAE;IAAEC,OAAO,EAAE;EAAO,CAAE;EAC3BC,QAAQ,EAAET,aAAc;EACxBU,GAAG,EAAGA,GAAG,IAAK;IACZT,MAAM,CAACS,GAAG,CAAC;EACb,CAAE;EACFC,IAAI,EAAC;AAAM,CACZ,CACD,CACH;AAEDd,aAAa,CAACe,SAAS,GAAG;EACxBd,KAAK,EAAEe,kBAAS,CAACC,MAAM,CAACC,UAAU;EAClChB,YAAY,EAAEc,kBAAS,CAACG,IAAI,CAACD,UAAU;EACvCf,aAAa,EAAEa,kBAAS,CAACG,IAAI,CAACD,UAAU;EACxCd,MAAM,EAAEY,kBAAS,CAACG,IAAI,CAACD;AACzB,CAAC;AAEDlB,aAAa,CAACoB,YAAY,GAAG;EAC3BC,eAAe,EAAE,EAAE;EACnBC,gBAAgB,EAAE;AACpB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEaL,aAAa","ignoreList":[]}