@pie-element/hotspot 9.0.2-esm.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.
- package/CHANGELOG.md +74 -0
- package/configure/CHANGELOG.md +74 -0
- package/configure/lib/DeleteWidget.js +31 -44
- package/configure/lib/DeleteWidget.js.map +1 -1
- package/configure/lib/__tests__/DeleteWidget.test.js +60 -0
- package/configure/lib/__tests__/hotspot-container.test.js +377 -0
- package/configure/lib/__tests__/hotspot-drawable.test.js +233 -0
- package/configure/lib/__tests__/index.test.js +211 -0
- package/configure/lib/__tests__/root.test.js +440 -0
- package/configure/lib/__tests__/utils.test.js +287 -0
- package/configure/lib/button.js +27 -46
- package/configure/lib/button.js.map +1 -1
- package/configure/lib/buttons/circle.js +21 -28
- package/configure/lib/buttons/circle.js.map +1 -1
- package/configure/lib/buttons/polygon.js +27 -34
- package/configure/lib/buttons/polygon.js.map +1 -1
- package/configure/lib/buttons/rectangle.js +27 -34
- package/configure/lib/buttons/rectangle.js.map +1 -1
- package/configure/lib/defaults.js +3 -4
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/hotspot-circle.js +133 -199
- package/configure/lib/hotspot-circle.js.map +1 -1
- package/configure/lib/hotspot-container.js +251 -356
- package/configure/lib/hotspot-container.js.map +1 -1
- package/configure/lib/hotspot-drawable.js +361 -473
- package/configure/lib/hotspot-drawable.js.map +1 -1
- package/configure/lib/hotspot-palette.js +93 -140
- package/configure/lib/hotspot-palette.js.map +1 -1
- package/configure/lib/hotspot-polygon.js +213 -318
- package/configure/lib/hotspot-polygon.js.map +1 -1
- package/configure/lib/hotspot-rectangle.js +129 -193
- package/configure/lib/hotspot-rectangle.js.map +1 -1
- package/configure/lib/icons.js +4 -8
- package/configure/lib/icons.js.map +1 -1
- package/configure/lib/image-konva.js +47 -87
- package/configure/lib/image-konva.js.map +1 -1
- package/configure/lib/index.js +163 -223
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/root.js +302 -394
- package/configure/lib/root.js.map +1 -1
- package/configure/lib/shapes/circle.js +70 -102
- package/configure/lib/shapes/circle.js.map +1 -1
- package/configure/lib/shapes/index.js +5 -13
- package/configure/lib/shapes/index.js.map +1 -1
- package/configure/lib/shapes/polygon.js +65 -97
- package/configure/lib/shapes/polygon.js.map +1 -1
- package/configure/lib/shapes/rectagle.js +70 -102
- package/configure/lib/shapes/rectagle.js.map +1 -1
- package/configure/lib/shapes/utils.js +3 -9
- package/configure/lib/shapes/utils.js.map +1 -1
- package/configure/lib/upload-control.js +26 -53
- package/configure/lib/upload-control.js.map +1 -1
- package/configure/lib/utils.js +85 -138
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +11 -10
- package/configure/src/__tests__/index.test.js +11 -5
- package/configure/src/button.jsx +12 -20
- package/configure/src/hotspot-circle.jsx +5 -18
- package/configure/src/hotspot-container.jsx +82 -98
- package/configure/src/hotspot-drawable.jsx +43 -45
- package/configure/src/hotspot-palette.jsx +45 -37
- package/configure/src/hotspot-polygon.jsx +4 -20
- package/configure/src/hotspot-rectangle.jsx +4 -17
- package/configure/src/icons.js +4 -2
- package/configure/src/index.js +12 -2
- package/configure/src/root.jsx +85 -79
- package/configure/src/upload-control.jsx +6 -16
- package/controller/CHANGELOG.md +60 -0
- package/controller/lib/__tests__/index.test.js +586 -0
- package/controller/lib/__tests__/utils.test.js +8 -0
- package/controller/lib/defaults.js +3 -4
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +152 -206
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +15 -35
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +2 -2
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/container.test.js +221 -0
- package/lib/__tests__/index.test.js +113 -0
- package/lib/__tests__/polygon.test.js +245 -0
- package/lib/__tests__/rectangle.test.js +236 -0
- package/lib/__tests__/session-updater.test.js +69 -0
- package/lib/hotspot/circle.js +111 -170
- package/lib/hotspot/circle.js.map +1 -1
- package/lib/hotspot/container.js +175 -261
- package/lib/hotspot/container.js.map +1 -1
- package/lib/hotspot/icons.js +5 -10
- package/lib/hotspot/icons.js.map +1 -1
- package/lib/hotspot/image-konva-tooltip.js +66 -113
- package/lib/hotspot/image-konva-tooltip.js.map +1 -1
- package/lib/hotspot/index.js +136 -199
- package/lib/hotspot/index.js.map +1 -1
- package/lib/hotspot/polygon.js +151 -215
- package/lib/hotspot/polygon.js.map +1 -1
- package/lib/hotspot/rectangle.js +130 -186
- package/lib/hotspot/rectangle.js.map +1 -1
- package/lib/index.js +188 -257
- package/lib/index.js.map +1 -1
- package/lib/session-updater.js +13 -19
- package/lib/session-updater.js.map +1 -1
- package/package.json +15 -29
- package/src/hotspot/circle.jsx +2 -13
- package/src/hotspot/container.jsx +35 -50
- package/src/hotspot/icons.js +6 -5
- package/src/hotspot/index.jsx +16 -28
- package/src/hotspot/polygon.jsx +4 -13
- package/src/hotspot/rectangle.jsx +4 -13
- package/src/index.js +21 -12
- package/LICENSE.md +0 -5
- package/configure/node_modules/debug/CHANGELOG.md +0 -395
- package/configure/node_modules/debug/LICENSE +0 -19
- package/configure/node_modules/debug/README.md +0 -437
- package/configure/node_modules/debug/node.js +0 -1
- package/configure/node_modules/debug/package.json +0 -51
- package/configure/node_modules/debug/src/browser.js +0 -180
- package/configure/node_modules/debug/src/common.js +0 -249
- package/configure/node_modules/debug/src/index.js +0 -12
- package/configure/node_modules/debug/src/node.js +0 -177
- package/esm/configure.js +0 -25986
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -344
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -1312
- package/esm/element.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,80 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [9.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@9.3.2...@pie-element/hotspot@9.3.3) (2025-11-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [9.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@9.3.1...@pie-element/hotspot@9.3.2) (2025-10-22)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* bump libs PD-5265 ([184a978](https://github.com/pie-framework/pie-elements/commit/184a978f57a2a84dc6ba87c1eba0b92d5cdd9eae))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [9.3.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@9.2.1...@pie-element/hotspot@9.3.1) (2025-10-16)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* bump pie-lib versions and pslb module versions ([393d39f](https://github.com/pie-framework/pie-elements/commit/393d39fb850ad055568f4d20464213e9043f208f))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# [9.3.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@9.2.0...@pie-element/hotspot@9.3.0) (2025-10-15)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* bump libs ([2616ab2](https://github.com/pie-framework/pie-elements/commit/2616ab24f776f4df02302f5855c381ee52527665))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## [9.2.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@9.2.0...@pie-element/hotspot@9.2.1) (2025-10-14)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Bug Fixes
|
|
54
|
+
|
|
55
|
+
* bump libs ([2616ab2](https://github.com/pie-framework/pie-elements/commit/2616ab24f776f4df02302f5855c381ee52527665))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
# [9.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@9.0.0...@pie-element/hotspot@9.2.0) (2025-10-10)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Features
|
|
65
|
+
|
|
66
|
+
* update libs PD-5208, PD-5211, PD-5199, PD-5218, PD-5217 ([da327fa](https://github.com/pie-framework/pie-elements/commit/da327fa501f6e9eff1c0b30b5ef092426a91f78b))
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
# [9.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@8.0.0...@pie-element/hotspot@9.1.0) (2025-10-07)
|
|
73
|
+
|
|
74
|
+
**Note:** Version bump only for package @pie-element/hotspot
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
6
80
|
# [9.0.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@7.13.0...@pie-element/hotspot@9.0.0) (2025-10-02)
|
|
7
81
|
|
|
8
82
|
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,80 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [8.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@8.3.2...@pie-element/hotspot-configure@8.3.3) (2025-11-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [8.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@8.3.1...@pie-element/hotspot-configure@8.3.2) (2025-10-22)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* bump libs PD-5265 ([184a978](https://github.com/pie-framework/pie-elements/commit/184a978f57a2a84dc6ba87c1eba0b92d5cdd9eae))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [8.3.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@8.2.1...@pie-element/hotspot-configure@8.3.1) (2025-10-16)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* bump pie-lib versions and pslb module versions ([393d39f](https://github.com/pie-framework/pie-elements/commit/393d39fb850ad055568f4d20464213e9043f208f))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# [8.3.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@8.2.0...@pie-element/hotspot-configure@8.3.0) (2025-10-15)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* bump libs ([2616ab2](https://github.com/pie-framework/pie-elements/commit/2616ab24f776f4df02302f5855c381ee52527665))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## [8.2.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@8.2.0...@pie-element/hotspot-configure@8.2.1) (2025-10-14)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Bug Fixes
|
|
54
|
+
|
|
55
|
+
* bump libs ([2616ab2](https://github.com/pie-framework/pie-elements/commit/2616ab24f776f4df02302f5855c381ee52527665))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
# [8.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@8.0.1...@pie-element/hotspot-configure@8.2.0) (2025-10-10)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Features
|
|
65
|
+
|
|
66
|
+
* update libs PD-5208, PD-5211, PD-5199, PD-5218, PD-5217 ([da327fa](https://github.com/pie-framework/pie-elements/commit/da327fa501f6e9eff1c0b30b5ef092426a91f78b))
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
# [8.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@8.0.0...@pie-element/hotspot-configure@8.1.0) (2025-10-07)
|
|
73
|
+
|
|
74
|
+
**Note:** Version bump only for package @pie-element/hotspot-configure
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
6
80
|
## [8.0.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@7.7.0...@pie-element/hotspot-configure@8.0.1) (2025-10-02)
|
|
7
81
|
|
|
8
82
|
**Note:** Version bump only for package @pie-element/hotspot-configure
|
|
@@ -1,44 +1,36 @@
|
|
|
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
|
|
9
|
-
|
|
7
|
+
exports.default = void 0;
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
10
|
var _reactKonva = require("react-konva");
|
|
15
|
-
|
|
16
11
|
var _icons = require("./icons");
|
|
17
|
-
|
|
18
12
|
var _imageKonva = _interopRequireDefault(require("./image-konva"));
|
|
19
|
-
|
|
20
13
|
var _utils = require("./utils");
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
14
|
+
const DeleteWidget = ({
|
|
15
|
+
height,
|
|
16
|
+
id,
|
|
17
|
+
width,
|
|
18
|
+
x,
|
|
19
|
+
y,
|
|
20
|
+
points,
|
|
21
|
+
isCircle,
|
|
22
|
+
radius,
|
|
23
|
+
handleWidgetClick
|
|
24
|
+
}) => {
|
|
25
|
+
let positionX, positionY;
|
|
26
|
+
const offset = 20;
|
|
35
27
|
if (isCircle) {
|
|
36
28
|
// For circles, position the delete icon above the circle
|
|
37
29
|
positionX = x + radius - offset;
|
|
38
30
|
positionY = y;
|
|
39
31
|
} else if (points) {
|
|
40
32
|
// For polygons, compute position based on points
|
|
41
|
-
|
|
33
|
+
const calculated = (0, _utils.calculate)(points);
|
|
42
34
|
positionX = calculated.x;
|
|
43
35
|
positionY = calculated.y;
|
|
44
36
|
} else {
|
|
@@ -46,32 +38,27 @@ var DeleteWidget = function DeleteWidget(_ref) {
|
|
|
46
38
|
positionX = x + width - offset;
|
|
47
39
|
positionY = y + height - offset;
|
|
48
40
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return handleWidgetClick(id);
|
|
53
|
-
}
|
|
54
|
-
}, /*#__PURE__*/_react["default"].createElement(_imageKonva["default"], {
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_reactKonva.Group, {
|
|
42
|
+
onClick: () => handleWidgetClick(id)
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_imageKonva.default, {
|
|
55
44
|
x: positionX,
|
|
56
45
|
y: positionY,
|
|
57
46
|
src: _icons.faDelete
|
|
58
47
|
}));
|
|
59
48
|
};
|
|
60
|
-
|
|
61
49
|
DeleteWidget.propTypes = {
|
|
62
|
-
id: _propTypes
|
|
63
|
-
height: _propTypes
|
|
64
|
-
width: _propTypes
|
|
65
|
-
x: _propTypes
|
|
66
|
-
y: _propTypes
|
|
67
|
-
handleWidgetClick: _propTypes
|
|
68
|
-
radius: _propTypes
|
|
69
|
-
isCircle: _propTypes
|
|
70
|
-
points: _propTypes
|
|
71
|
-
x: _propTypes
|
|
72
|
-
y: _propTypes
|
|
50
|
+
id: _propTypes.default.string.isRequired,
|
|
51
|
+
height: _propTypes.default.number,
|
|
52
|
+
width: _propTypes.default.number,
|
|
53
|
+
x: _propTypes.default.number.isRequired,
|
|
54
|
+
y: _propTypes.default.number.isRequired,
|
|
55
|
+
handleWidgetClick: _propTypes.default.func.isRequired,
|
|
56
|
+
radius: _propTypes.default.number,
|
|
57
|
+
isCircle: _propTypes.default.bool,
|
|
58
|
+
points: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
59
|
+
x: _propTypes.default.number,
|
|
60
|
+
y: _propTypes.default.number
|
|
73
61
|
}))
|
|
74
62
|
};
|
|
75
|
-
var _default = DeleteWidget;
|
|
76
|
-
|
|
77
|
-
//# sourceMappingURL=DeleteWidget.js.map
|
|
63
|
+
var _default = exports.default = DeleteWidget;
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfcmVhY3RLb252YSIsIl9pY29ucyIsIl9pbWFnZUtvbnZhIiwiX3V0aWxzIiwiRGVsZXRlV2lkZ2V0IiwiaGVpZ2h0IiwiaWQiLCJ3aWR0aCIsIngiLCJ5IiwicG9pbnRzIiwiaXNDaXJjbGUiLCJyYWRpdXMiLCJoYW5kbGVXaWRnZXRDbGljayIsInBvc2l0aW9uWCIsInBvc2l0aW9uWSIsIm9mZnNldCIsImNhbGN1bGF0ZWQiLCJjYWxjdWxhdGUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkdyb3VwIiwib25DbGljayIsInNyYyIsImZhRGVsZXRlIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIm51bWJlciIsImZ1bmMiLCJib29sIiwiYXJyYXlPZiIsInNoYXBlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL0RlbGV0ZVdpZGdldC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ3JlYWN0LWtvbnZhJztcbmltcG9ydCB7IGZhRGVsZXRlIH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgSW1hZ2VDb21wb25lbnQgZnJvbSAnLi9pbWFnZS1rb252YSc7XG5pbXBvcnQgeyBjYWxjdWxhdGUgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgRGVsZXRlV2lkZ2V0ID0gKHsgaGVpZ2h0LCBpZCwgd2lkdGgsIHgsIHksIHBvaW50cywgaXNDaXJjbGUsIHJhZGl1cywgaGFuZGxlV2lkZ2V0Q2xpY2sgfSkgPT4ge1xuICBsZXQgcG9zaXRpb25YLCBwb3NpdGlvblk7XG4gIGNvbnN0IG9mZnNldCA9IDIwO1xuXG4gIGlmIChpc0NpcmNsZSkge1xuICAgIC8vIEZvciBjaXJjbGVzLCBwb3NpdGlvbiB0aGUgZGVsZXRlIGljb24gYWJvdmUgdGhlIGNpcmNsZVxuICAgIHBvc2l0aW9uWCA9IHggKyByYWRpdXMgLSBvZmZzZXQ7XG4gICAgcG9zaXRpb25ZID0geTtcbiAgfSBlbHNlIGlmIChwb2ludHMpIHtcbiAgICAvLyBGb3IgcG9seWdvbnMsIGNvbXB1dGUgcG9zaXRpb24gYmFzZWQgb24gcG9pbnRzXG4gICAgY29uc3QgY2FsY3VsYXRlZCA9IGNhbGN1bGF0ZShwb2ludHMpO1xuICAgIHBvc2l0aW9uWCA9IGNhbGN1bGF0ZWQueDtcbiAgICBwb3NpdGlvblkgPSBjYWxjdWxhdGVkLnk7XG4gIH0gZWxzZSB7XG4gICAgLy8gRm9yIHJlY3RhbmdsZXNcbiAgICBwb3NpdGlvblggPSB4ICsgd2lkdGggLSBvZmZzZXQ7XG4gICAgcG9zaXRpb25ZID0geSArIGhlaWdodCAtIG9mZnNldDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEdyb3VwIG9uQ2xpY2s9eygpID0+IGhhbmRsZVdpZGdldENsaWNrKGlkKX0+XG4gICAgICA8SW1hZ2VDb21wb25lbnQgeD17cG9zaXRpb25YfSB5PXtwb3NpdGlvbll9IHNyYz17ZmFEZWxldGV9IC8+XG4gICAgPC9Hcm91cD5cbiAgKTtcbn07XG5cbkRlbGV0ZVdpZGdldC5wcm9wVHlwZXMgPSB7XG4gIGlkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gIHg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgeTogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBoYW5kbGVXaWRnZXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgcmFkaXVzOiBQcm9wVHlwZXMubnVtYmVyLFxuICBpc0NpcmNsZTogUHJvcFR5cGVzLmJvb2wsXG4gIHBvaW50czogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuICApLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVsZXRlV2lkZ2V0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBRUEsTUFBTU0sWUFBWSxHQUFHQSxDQUFDO0VBQUVDLE1BQU07RUFBRUMsRUFBRTtFQUFFQyxLQUFLO0VBQUVDLENBQUM7RUFBRUMsQ0FBQztFQUFFQyxNQUFNO0VBQUVDLFFBQVE7RUFBRUMsTUFBTTtFQUFFQztBQUFrQixDQUFDLEtBQUs7RUFDakcsSUFBSUMsU0FBUyxFQUFFQyxTQUFTO0VBQ3hCLE1BQU1DLE1BQU0sR0FBRyxFQUFFO0VBRWpCLElBQUlMLFFBQVEsRUFBRTtJQUNaO0lBQ0FHLFNBQVMsR0FBR04sQ0FBQyxHQUFHSSxNQUFNLEdBQUdJLE1BQU07SUFDL0JELFNBQVMsR0FBR04sQ0FBQztFQUNmLENBQUMsTUFBTSxJQUFJQyxNQUFNLEVBQUU7SUFDakI7SUFDQSxNQUFNTyxVQUFVLEdBQUcsSUFBQUMsZ0JBQVMsRUFBQ1IsTUFBTSxDQUFDO0lBQ3BDSSxTQUFTLEdBQUdHLFVBQVUsQ0FBQ1QsQ0FBQztJQUN4Qk8sU0FBUyxHQUFHRSxVQUFVLENBQUNSLENBQUM7RUFDMUIsQ0FBQyxNQUFNO0lBQ0w7SUFDQUssU0FBUyxHQUFHTixDQUFDLEdBQUdELEtBQUssR0FBR1MsTUFBTTtJQUM5QkQsU0FBUyxHQUFHTixDQUFDLEdBQUdKLE1BQU0sR0FBR1csTUFBTTtFQUNqQztFQUVBLG9CQUNFcEIsTUFBQSxDQUFBdUIsT0FBQSxDQUFBQyxhQUFBLENBQUNwQixXQUFBLENBQUFxQixLQUFLO0lBQUNDLE9BQU8sRUFBRUEsQ0FBQSxLQUFNVCxpQkFBaUIsQ0FBQ1AsRUFBRTtFQUFFLGdCQUMxQ1YsTUFBQSxDQUFBdUIsT0FBQSxDQUFBQyxhQUFBLENBQUNsQixXQUFBLENBQUFpQixPQUFjO0lBQUNYLENBQUMsRUFBRU0sU0FBVTtJQUFDTCxDQUFDLEVBQUVNLFNBQVU7SUFBQ1EsR0FBRyxFQUFFQztFQUFTLENBQUUsQ0FDdkQsQ0FBQztBQUVaLENBQUM7QUFFRHBCLFlBQVksQ0FBQ3FCLFNBQVMsR0FBRztFQUN2Qm5CLEVBQUUsRUFBRW9CLGtCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtFQUMvQnZCLE1BQU0sRUFBRXFCLGtCQUFTLENBQUNHLE1BQU07RUFDeEJ0QixLQUFLLEVBQUVtQixrQkFBUyxDQUFDRyxNQUFNO0VBQ3ZCckIsQ0FBQyxFQUFFa0Isa0JBQVMsQ0FBQ0csTUFBTSxDQUFDRCxVQUFVO0VBQzlCbkIsQ0FBQyxFQUFFaUIsa0JBQVMsQ0FBQ0csTUFBTSxDQUFDRCxVQUFVO0VBQzlCZixpQkFBaUIsRUFBRWEsa0JBQVMsQ0FBQ0ksSUFBSSxDQUFDRixVQUFVO0VBQzVDaEIsTUFBTSxFQUFFYyxrQkFBUyxDQUFDRyxNQUFNO0VBQ3hCbEIsUUFBUSxFQUFFZSxrQkFBUyxDQUFDSyxJQUFJO0VBQ3hCckIsTUFBTSxFQUFFZ0Isa0JBQVMsQ0FBQ00sT0FBTyxDQUN2Qk4sa0JBQVMsQ0FBQ08sS0FBSyxDQUFDO0lBQ2R6QixDQUFDLEVBQUVrQixrQkFBUyxDQUFDRyxNQUFNO0lBQ25CcEIsQ0FBQyxFQUFFaUIsa0JBQVMsQ0FBQ0c7RUFDZixDQUFDLENBQ0g7QUFDRixDQUFDO0FBQUMsSUFBQUssUUFBQSxHQUFBQyxPQUFBLENBQUFoQixPQUFBLEdBRWFmLFlBQVkiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"DeleteWidget.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactKonva","_icons","_imageKonva","_utils","DeleteWidget","height","id","width","x","y","points","isCircle","radius","handleWidgetClick","positionX","positionY","offset","calculated","calculate","default","createElement","Group","onClick","src","faDelete","propTypes","PropTypes","string","isRequired","number","func","bool","arrayOf","shape","_default","exports"],"sources":["../src/DeleteWidget.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Group } from 'react-konva';\nimport { faDelete } from './icons';\nimport ImageComponent from './image-konva';\nimport { calculate } from './utils';\n\nconst DeleteWidget = ({ height, id, width, x, y, points, isCircle, radius, handleWidgetClick }) => {\n let positionX, positionY;\n const offset = 20;\n\n if (isCircle) {\n // For circles, position the delete icon above the circle\n positionX = x + radius - offset;\n positionY = y;\n } else if (points) {\n // For polygons, compute position based on points\n const calculated = calculate(points);\n positionX = calculated.x;\n positionY = calculated.y;\n } else {\n // For rectangles\n positionX = x + width - offset;\n positionY = y + height - offset;\n }\n\n return (\n <Group onClick={() => handleWidgetClick(id)}>\n <ImageComponent x={positionX} y={positionY} src={faDelete} />\n </Group>\n );\n};\n\nDeleteWidget.propTypes = {\n id: PropTypes.string.isRequired,\n height: PropTypes.number,\n width: PropTypes.number,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n handleWidgetClick: PropTypes.func.isRequired,\n radius: PropTypes.number,\n isCircle: PropTypes.bool,\n points: PropTypes.arrayOf(\n PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n ),\n};\n\nexport default DeleteWidget;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAEA,MAAMM,YAAY,GAAGA,CAAC;EAAEC,MAAM;EAAEC,EAAE;EAAEC,KAAK;EAAEC,CAAC;EAAEC,CAAC;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAkB,CAAC,KAAK;EACjG,IAAIC,SAAS,EAAEC,SAAS;EACxB,MAAMC,MAAM,GAAG,EAAE;EAEjB,IAAIL,QAAQ,EAAE;IACZ;IACAG,SAAS,GAAGN,CAAC,GAAGI,MAAM,GAAGI,MAAM;IAC/BD,SAAS,GAAGN,CAAC;EACf,CAAC,MAAM,IAAIC,MAAM,EAAE;IACjB;IACA,MAAMO,UAAU,GAAG,IAAAC,gBAAS,EAACR,MAAM,CAAC;IACpCI,SAAS,GAAGG,UAAU,CAACT,CAAC;IACxBO,SAAS,GAAGE,UAAU,CAACR,CAAC;EAC1B,CAAC,MAAM;IACL;IACAK,SAAS,GAAGN,CAAC,GAAGD,KAAK,GAAGS,MAAM;IAC9BD,SAAS,GAAGN,CAAC,GAAGJ,MAAM,GAAGW,MAAM;EACjC;EAEA,oBACEpB,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACpB,WAAA,CAAAqB,KAAK;IAACC,OAAO,EAAEA,CAAA,KAAMT,iBAAiB,CAACP,EAAE;EAAE,gBAC1CV,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAAClB,WAAA,CAAAiB,OAAc;IAACX,CAAC,EAAEM,SAAU;IAACL,CAAC,EAAEM,SAAU;IAACQ,GAAG,EAAEC;EAAS,CAAE,CACvD,CAAC;AAEZ,CAAC;AAEDpB,YAAY,CAACqB,SAAS,GAAG;EACvBnB,EAAE,EAAEoB,kBAAS,CAACC,MAAM,CAACC,UAAU;EAC/BvB,MAAM,EAAEqB,kBAAS,CAACG,MAAM;EACxBtB,KAAK,EAAEmB,kBAAS,CAACG,MAAM;EACvBrB,CAAC,EAAEkB,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC9BnB,CAAC,EAAEiB,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC9Bf,iBAAiB,EAAEa,kBAAS,CAACI,IAAI,CAACF,UAAU;EAC5ChB,MAAM,EAAEc,kBAAS,CAACG,MAAM;EACxBlB,QAAQ,EAAEe,kBAAS,CAACK,IAAI;EACxBrB,MAAM,EAAEgB,kBAAS,CAACM,OAAO,CACvBN,kBAAS,CAACO,KAAK,CAAC;IACdzB,CAAC,EAAEkB,kBAAS,CAACG,MAAM;IACnBpB,CAAC,EAAEiB,kBAAS,CAACG;EACf,CAAC,CACH;AACF,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAhB,OAAA,GAEaf,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _enzyme = require("enzyme");
|
|
6
|
+
var _DeleteWidget = _interopRequireDefault(require("../DeleteWidget"));
|
|
7
|
+
var _imageKonva = _interopRequireDefault(require("../image-konva"));
|
|
8
|
+
// Adjust the import path as needed
|
|
9
|
+
|
|
10
|
+
describe('DeleteWidget', () => {
|
|
11
|
+
it('computes positionX and positionY correctly without points', () => {
|
|
12
|
+
const mockHandleWidgetClick = jest.fn();
|
|
13
|
+
const props = {
|
|
14
|
+
id: 'someId',
|
|
15
|
+
x: 5,
|
|
16
|
+
y: 10,
|
|
17
|
+
width: 30,
|
|
18
|
+
height: 40,
|
|
19
|
+
outlineColor: 'blue',
|
|
20
|
+
handleWidgetClick: mockHandleWidgetClick
|
|
21
|
+
};
|
|
22
|
+
const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_DeleteWidget.default, props));
|
|
23
|
+
|
|
24
|
+
// Assert that the computed positionX and positionY match the expected values
|
|
25
|
+
expect(wrapper.find(_imageKonva.default).prop('x')).toEqual(15);
|
|
26
|
+
expect(wrapper.find(_imageKonva.default).prop('y')).toEqual(30);
|
|
27
|
+
|
|
28
|
+
// Simulate a click event on the Group element
|
|
29
|
+
wrapper.find('Group').simulate('click');
|
|
30
|
+
|
|
31
|
+
// Assert that the handleWidgetClick function is called with the correct arguments
|
|
32
|
+
expect(mockHandleWidgetClick).toHaveBeenCalledWith('someId');
|
|
33
|
+
});
|
|
34
|
+
it('computes positionX and positionY correctly with points', () => {
|
|
35
|
+
const props = {
|
|
36
|
+
id: 'someId',
|
|
37
|
+
x: 5,
|
|
38
|
+
y: 10,
|
|
39
|
+
points: [{
|
|
40
|
+
"y": 151,
|
|
41
|
+
"x": 141
|
|
42
|
+
}, {
|
|
43
|
+
"y": 289,
|
|
44
|
+
"x": 205
|
|
45
|
+
}, {
|
|
46
|
+
"x": 269,
|
|
47
|
+
"y": 151
|
|
48
|
+
}],
|
|
49
|
+
width: 30,
|
|
50
|
+
height: 40,
|
|
51
|
+
outlineColor: 'blue'
|
|
52
|
+
};
|
|
53
|
+
const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_DeleteWidget.default, props));
|
|
54
|
+
|
|
55
|
+
// Assert that the computed positionX and positionY match the expected values
|
|
56
|
+
expect(wrapper.find(_imageKonva.default).prop('x')).toEqual(239);
|
|
57
|
+
expect(wrapper.find(_imageKonva.default).prop('y')).toEqual(194);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9lbnp5bWUiLCJfRGVsZXRlV2lkZ2V0IiwiX2ltYWdlS29udmEiLCJkZXNjcmliZSIsIml0IiwibW9ja0hhbmRsZVdpZGdldENsaWNrIiwiamVzdCIsImZuIiwicHJvcHMiLCJpZCIsIngiLCJ5Iiwid2lkdGgiLCJoZWlnaHQiLCJvdXRsaW5lQ29sb3IiLCJoYW5kbGVXaWRnZXRDbGljayIsIndyYXBwZXIiLCJzaGFsbG93IiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJleHBlY3QiLCJmaW5kIiwiSW1hZ2VDb21wb25lbnQiLCJwcm9wIiwidG9FcXVhbCIsInNpbXVsYXRlIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJwb2ludHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL0RlbGV0ZVdpZGdldC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBEZWxldGVXaWRnZXQgZnJvbSAnLi4vRGVsZXRlV2lkZ2V0JzsgLy8gQWRqdXN0IHRoZSBpbXBvcnQgcGF0aCBhcyBuZWVkZWRcbmltcG9ydCBJbWFnZUNvbXBvbmVudCBmcm9tICcuLi9pbWFnZS1rb252YSc7XG5cbmRlc2NyaWJlKCdEZWxldGVXaWRnZXQnLCAoKSA9PiB7XG4gICAgaXQoJ2NvbXB1dGVzIHBvc2l0aW9uWCBhbmQgcG9zaXRpb25ZIGNvcnJlY3RseSB3aXRob3V0IHBvaW50cycsICgpID0+IHtcbiAgICAgICAgY29uc3QgbW9ja0hhbmRsZVdpZGdldENsaWNrID0gamVzdC5mbigpO1xuXG4gICAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICAgICAgaWQ6ICdzb21lSWQnLFxuICAgICAgICAgICAgeDogNSxcbiAgICAgICAgICAgIHk6IDEwLFxuICAgICAgICAgICAgd2lkdGg6IDMwLFxuICAgICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICAgIG91dGxpbmVDb2xvcjogJ2JsdWUnLFxuICAgICAgICAgICAgaGFuZGxlV2lkZ2V0Q2xpY2s6IG1vY2tIYW5kbGVXaWRnZXRDbGljayxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gc2hhbGxvdyg8RGVsZXRlV2lkZ2V0IHsuLi5wcm9wc30gLz4pO1xuXG4gICAgICAgIC8vIEFzc2VydCB0aGF0IHRoZSBjb21wdXRlZCBwb3NpdGlvblggYW5kIHBvc2l0aW9uWSBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWVzXG4gICAgICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoSW1hZ2VDb21wb25lbnQpLnByb3AoJ3gnKSkudG9FcXVhbCgxNSk7XG4gICAgICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoSW1hZ2VDb21wb25lbnQpLnByb3AoJ3knKSkudG9FcXVhbCgzMCk7XG5cbiAgICAgICAgLy8gU2ltdWxhdGUgYSBjbGljayBldmVudCBvbiB0aGUgR3JvdXAgZWxlbWVudFxuICAgICAgICB3cmFwcGVyLmZpbmQoJ0dyb3VwJykuc2ltdWxhdGUoJ2NsaWNrJyk7XG5cbiAgICAgICAgLy8gQXNzZXJ0IHRoYXQgdGhlIGhhbmRsZVdpZGdldENsaWNrIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIHRoZSBjb3JyZWN0IGFyZ3VtZW50c1xuICAgICAgICBleHBlY3QobW9ja0hhbmRsZVdpZGdldENsaWNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnc29tZUlkJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29tcHV0ZXMgcG9zaXRpb25YIGFuZCBwb3NpdGlvblkgY29ycmVjdGx5IHdpdGggcG9pbnRzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgICAgIGlkOiAnc29tZUlkJyxcbiAgICAgICAgICAgIHg6IDUsXG4gICAgICAgICAgICB5OiAxMCxcbiAgICAgICAgICAgIHBvaW50czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCJ5XCI6IDE1MSxcbiAgICAgICAgICAgICAgICAgICAgXCJ4XCI6IDE0MVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcInlcIjogMjg5LFxuICAgICAgICAgICAgICAgICAgICBcInhcIjogMjA1XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwieFwiOiAyNjksXG4gICAgICAgICAgICAgICAgICAgIFwieVwiOiAxNTFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgd2lkdGg6IDMwLFxuICAgICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICAgIG91dGxpbmVDb2xvcjogJ2JsdWUnLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBzaGFsbG93KDxEZWxldGVXaWRnZXQgey4uLnByb3BzfSAvPik7XG5cbiAgICAgICAgLy8gQXNzZXJ0IHRoYXQgdGhlIGNvbXB1dGVkIHBvc2l0aW9uWCBhbmQgcG9zaXRpb25ZIG1hdGNoIHRoZSBleHBlY3RlZCB2YWx1ZXNcbiAgICAgICAgZXhwZWN0KHdyYXBwZXIuZmluZChJbWFnZUNvbXBvbmVudCkucHJvcCgneCcpKS50b0VxdWFsKDIzOSk7XG4gICAgICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoSW1hZ2VDb21wb25lbnQpLnByb3AoJ3knKSkudG9FcXVhbCgxOTQpO1xuXG4gICAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFB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
|