@plait/draw 0.29.0 → 0.31.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.
@@ -1,3 +1,4 @@
1
+ import { Point } from '@plait/core';
1
2
  import { withResize } from '@plait/common';
2
3
  import { getSelectedLineElements } from '../utils/selected';
3
4
  import { getHitLineResizeHandleRef, LineResizeHandle } from '../utils/position/line';
@@ -33,17 +34,23 @@ export const withLineResize = (board) => {
33
34
  let points = [...resizeRef.element.points];
34
35
  let source = { ...resizeRef.element.source };
35
36
  let target = { ...resizeRef.element.target };
36
- if (resizeRef.handle === LineResizeHandle.source) {
37
+ if (resizeRef.handle === LineResizeHandle.source || resizeRef.handle === LineResizeHandle.target) {
38
+ const object = resizeRef.handle === LineResizeHandle.source ? source : target;
37
39
  points[pointIndex] = resizeState.endTransformPoint;
38
40
  const hitElement = getHitOutlineGeometry(board, resizeState.endTransformPoint, -4);
39
- source.connection = hitElement ? transformPointToConnection(board, resizeState.endTransformPoint, hitElement) : undefined;
40
- source.boundId = hitElement ? hitElement.id : undefined;
41
- }
42
- else if (resizeRef.handle === LineResizeHandle.target) {
43
- points[pointIndex] = resizeState.endTransformPoint;
44
- const hitElement = getHitOutlineGeometry(board, resizeState.endTransformPoint, -4);
45
- target.connection = hitElement ? transformPointToConnection(board, resizeState.endTransformPoint, hitElement) : undefined;
46
- target.boundId = hitElement ? hitElement.id : undefined;
41
+ if (hitElement) {
42
+ object.connection = transformPointToConnection(board, resizeState.endTransformPoint, hitElement);
43
+ object.boundId = hitElement.id;
44
+ }
45
+ else {
46
+ object.connection = undefined;
47
+ object.boundId = undefined;
48
+ if (points.length === 2) {
49
+ let movingPoint = points[pointIndex];
50
+ const otherPoint = points[Number(!pointIndex)];
51
+ points[pointIndex] = alignPoints(otherPoint, movingPoint);
52
+ }
53
+ }
47
54
  }
48
55
  else if (resizeRef.handle === LineResizeHandle.addHandle) {
49
56
  points.splice(pointIndex + 1, 0, resizeState.endTransformPoint);
@@ -57,4 +64,15 @@ export const withLineResize = (board) => {
57
64
  withResize(board, options);
58
65
  return board;
59
66
  };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1saW5lLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQTZDLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sT0FBTyxHQUFtRDtRQUM1RCxHQUFHLEVBQUUsV0FBVztRQUNoQixTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3JCLE1BQU0sb0JBQW9CLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDakMsTUFBTSxTQUFTLEdBQUcseUJBQXlCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDakUsSUFBSSxTQUFTLEVBQUU7d0JBQ1gsTUFBTSxHQUFHOzRCQUNMLE9BQU8sRUFBRSxLQUFLOzRCQUNkLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTt5QkFDM0IsQ0FBQzt3QkFDRixVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztxQkFDaEM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLENBQUM7YUFDakI7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsUUFBUSxFQUFFLENBQUMsU0FBaUQsRUFBRSxXQUF3QixFQUFFLEVBQUU7WUFDdEYsSUFBSSxNQUFNLEdBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEQsSUFBSSxNQUFNLEdBQWUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekQsSUFBSSxNQUFNLEdBQWUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekQsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtnQkFDOUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbkQsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuRixNQUFNLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMxSCxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQzNEO2lCQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQ25ELE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkYsTUFBTSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDMUgsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUMzRDtpQkFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxFQUFFO2dCQUN4RCxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ25FO2lCQUFNO2dCQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUM7YUFDdEQ7WUFDRCxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pGLENBQUM7S0FDSixDQUFDO0lBRUYsVUFBVSxDQUE4QixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFeEQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBSZXNpemVSZWYsIFJlc2l6ZVN0YXRlLCBXaXRoUmVzaXplT3B0aW9ucywgd2l0aFJlc2l6ZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRMaW5lRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZCc7XG5pbXBvcnQgeyBnZXRIaXRMaW5lUmVzaXplSGFuZGxlUmVmLCBMaW5lUmVzaXplSGFuZGxlIH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vbGluZSc7XG5pbXBvcnQgeyBnZXRIaXRPdXRsaW5lR2VvbWV0cnkgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBMaW5lSGFuZGxlLCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHRyYW5zZm9ybVBvaW50VG9Db25uZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IHdpdGhMaW5lUmVzaXplID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgbGV0IHBvaW50SW5kZXggPSAwO1xuICAgIGNvbnN0IG9wdGlvbnM6IFdpdGhSZXNpemVPcHRpb25zPFBsYWl0TGluZSwgTGluZVJlc2l6ZUhhbmRsZT4gPSB7XG4gICAgICAgIGtleTogJ2RyYXctbGluZScsXG4gICAgICAgIGNhblJlc2l6ZTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGRldGVjdDogKHBvaW50OiBQb2ludCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRMaW5lRWxlbWVudHMgPSBnZXRTZWxlY3RlZExpbmVFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRMaW5lRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBudWxsO1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkTGluZUVsZW1lbnRzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVSZWYgPSBnZXRIaXRMaW5lUmVzaXplSGFuZGxlUmVmKGJvYXJkLCB2YWx1ZSwgcG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGFuZGxlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlOiBoYW5kbGVSZWYuaGFuZGxlXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRJbmRleCA9IGhhbmRsZVJlZi5pbmRleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgb25SZXNpemU6IChyZXNpemVSZWY6IFJlc2l6ZVJlZjxQbGFpdExpbmUsIExpbmVSZXNpemVIYW5kbGU+LCByZXNpemVTdGF0ZTogUmVzaXplU3RhdGUpID0+IHtcbiAgICAgICAgICAgIGxldCBwb2ludHM6IFBvaW50W10gPSBbLi4ucmVzaXplUmVmLmVsZW1lbnQucG9pbnRzXTtcbiAgICAgICAgICAgIGxldCBzb3VyY2U6IExpbmVIYW5kbGUgPSB7IC4uLnJlc2l6ZVJlZi5lbGVtZW50LnNvdXJjZSB9O1xuICAgICAgICAgICAgbGV0IHRhcmdldDogTGluZUhhbmRsZSA9IHsgLi4ucmVzaXplUmVmLmVsZW1lbnQudGFyZ2V0IH07XG4gICAgICAgICAgICBpZiAocmVzaXplUmVmLmhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS5zb3VyY2UpIHtcbiAgICAgICAgICAgICAgICBwb2ludHNbcG9pbnRJbmRleF0gPSByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludDtcbiAgICAgICAgICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0T3V0bGluZUdlb21ldHJ5KGJvYXJkLCByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludCwgLTQpO1xuICAgICAgICAgICAgICAgIHNvdXJjZS5jb25uZWN0aW9uID0gaGl0RWxlbWVudCA/IHRyYW5zZm9ybVBvaW50VG9Db25uZWN0aW9uKGJvYXJkLCByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludCwgaGl0RWxlbWVudCkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgc291cmNlLmJvdW5kSWQgPSBoaXRFbGVtZW50ID8gaGl0RWxlbWVudC5pZCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzaXplUmVmLmhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICBwb2ludHNbcG9pbnRJbmRleF0gPSByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludDtcbiAgICAgICAgICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0T3V0bGluZUdlb21ldHJ5KGJvYXJkLCByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludCwgLTQpO1xuICAgICAgICAgICAgICAgIHRhcmdldC5jb25uZWN0aW9uID0gaGl0RWxlbWVudCA/IHRyYW5zZm9ybVBvaW50VG9Db25uZWN0aW9uKGJvYXJkLCByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludCwgaGl0RWxlbWVudCkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGFyZ2V0LmJvdW5kSWQgPSBoaXRFbGVtZW50ID8gaGl0RWxlbWVudC5pZCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzaXplUmVmLmhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS5hZGRIYW5kbGUpIHtcbiAgICAgICAgICAgICAgICBwb2ludHMuc3BsaWNlKHBvaW50SW5kZXggKyAxLCAwLCByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBvaW50c1twb2ludEluZGV4XSA9IHJlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMucmVzaXplTGluZShib2FyZCwgeyBwb2ludHMsIHNvdXJjZSwgdGFyZ2V0IH0sIHJlc2l6ZVJlZi5wYXRoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3aXRoUmVzaXplPFBsYWl0TGluZSwgTGluZVJlc2l6ZUhhbmRsZT4oYm9hcmQsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
67
+ const alignPoints = (basePoint, movingPoint) => {
68
+ const offset = 3;
69
+ const newPoint = [...movingPoint];
70
+ if (Point.isVerticalAlign(newPoint, basePoint, offset)) {
71
+ newPoint[0] = basePoint[0];
72
+ }
73
+ if (Point.isHorizontalAlign(newPoint, basePoint, offset)) {
74
+ newPoint[1] = basePoint[1];
75
+ }
76
+ return newPoint;
77
+ };
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1saW5lLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBNkMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNoRCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDbkIsTUFBTSxPQUFPLEdBQW1EO1FBQzVELEdBQUcsRUFBRSxXQUFXO1FBQ2hCLFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDckIsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDbEIsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNqQyxNQUFNLFNBQVMsR0FBRyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsS0FB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O0lBQ2pCLE1BQU0sUUFBUSxHQUFVLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUN6QyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTtRQUNwRCxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTtRQUN0RCxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBSZXNpemVSZWYsIFJlc2l6ZVN0YXRlLCBXaXRoUmVzaXplT3B0aW9ucywgd2l0aFJlc2l6ZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRMaW5lRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZCc7XG5pbXBvcnQgeyBnZXRIaXRMaW5lUmVzaXplSGFuZGxlUmVmLCBMaW5lUmVzaXplSGFuZGxlIH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vbGluZSc7XG5pbXBvcnQgeyBnZXRIaXRPdXRsaW5lR2VvbWV0cnkgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBMaW5lSGFuZGxlLCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHRyYW5zZm9ybVBvaW50VG9Db25uZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IHdpdGhMaW5lUmVzaXplID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgbGV0IHBvaW50SW5kZXggPSAwO1xuICAgIGNvbnN0IG9wdGlvbnM6IFdpdGhSZXNpemVPcHRpb25zPFBsYWl0TGluZSwgTGluZVJlc2l6ZUhhbmRsZT4gPSB7XG4gICAgICAgIGtleTogJ2RyYXctbGluZScsXG4gICAgICAgIGNhblJlc2l6ZTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGRldGVjdDogKHBvaW50OiBQb2ludCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRMaW5lRWxlbWVudHMgPSBnZXRTZWxlY3RlZExpbmVFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRMaW5lRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBudWxsO1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkTGluZUVsZW1lbnRzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVSZWYgPSBnZXRIaXRMaW5lUmVzaXplSGFuZGxlUmVmKGJvYXJkLCB2YWx1ZSwgcG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGFuZGxlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlOiBoYW5kbGVSZWYuaGFuZGxlXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRJbmRleCA9IGhhbmRsZVJlZi5pbmRleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgb25SZXNpemU6IChyZXNpemVSZWY6IFJlc2l6ZVJlZjxQbGFpdExpbmUsIExpbmVSZXNpemVIYW5kbGU+LCByZXNpemVTdGF0ZTogUmVzaXplU3RhdGUpID0+IHtcbiAgICAgICAgICAgIGxldCBwb2ludHM6IFBvaW50W10gPSBbLi4ucmVzaXplUmVmLmVsZW1lbnQucG9pbnRzXTtcbiAgICAgICAgICAgIGxldCBzb3VyY2U6IExpbmVIYW5kbGUgPSB7IC4uLnJlc2l6ZVJlZi5lbGVtZW50LnNvdXJjZSB9O1xuICAgICAgICAgICAgbGV0IHRhcmdldDogTGluZUhhbmRsZSA9IHsgLi4ucmVzaXplUmVmLmVsZW1lbnQudGFyZ2V0IH07XG4gICAgICAgICAgICBpZiAocmVzaXplUmVmLmhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS5zb3VyY2UgfHwgcmVzaXplUmVmLmhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmplY3QgPSByZXNpemVSZWYuaGFuZGxlID09PSBMaW5lUmVzaXplSGFuZGxlLnNvdXJjZSA/IHNvdXJjZSA6IHRhcmdldDtcbiAgICAgICAgICAgICAgICBwb2ludHNbcG9pbnRJbmRleF0gPSByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludDtcbiAgICAgICAgICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0T3V0bGluZUdlb21ldHJ5KGJvYXJkLCByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludCwgLTQpO1xuICAgICAgICAgICAgICAgIGlmIChoaXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC5jb25uZWN0aW9uID0gdHJhbnNmb3JtUG9pbnRUb0Nvbm5lY3Rpb24oYm9hcmQsIHJlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50LCBoaXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LmJvdW5kSWQgPSBoaXRFbGVtZW50LmlkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC5jb25uZWN0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QuYm91bmRJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb3ZpbmdQb2ludCA9IHBvaW50c1twb2ludEluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyUG9pbnQgPSBwb2ludHNbTnVtYmVyKCFwb2ludEluZGV4KV07XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludHNbcG9pbnRJbmRleF0gPSBhbGlnblBvaW50cyhvdGhlclBvaW50LCBtb3ZpbmdQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc2l6ZVJlZi5oYW5kbGUgPT09IExpbmVSZXNpemVIYW5kbGUuYWRkSGFuZGxlKSB7XG4gICAgICAgICAgICAgICAgcG9pbnRzLnNwbGljZShwb2ludEluZGV4ICsgMSwgMCwgcmVzaXplU3RhdGUuZW5kVHJhbnNmb3JtUG9pbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwb2ludHNbcG9pbnRJbmRleF0gPSByZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnJlc2l6ZUxpbmUoYm9hcmQsIHsgcG9pbnRzLCBzb3VyY2UsIHRhcmdldCB9LCByZXNpemVSZWYucGF0aCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgd2l0aFJlc2l6ZTxQbGFpdExpbmUsIExpbmVSZXNpemVIYW5kbGU+KGJvYXJkLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG5cbmNvbnN0IGFsaWduUG9pbnRzID0gKGJhc2VQb2ludDogUG9pbnQsIG1vdmluZ1BvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IDM7XG4gICAgY29uc3QgbmV3UG9pbnQ6IFBvaW50ID0gWy4uLm1vdmluZ1BvaW50XTtcbiAgICBpZiAoUG9pbnQuaXNWZXJ0aWNhbEFsaWduKG5ld1BvaW50LCBiYXNlUG9pbnQsIG9mZnNldCkpIHtcbiAgICAgICAgbmV3UG9pbnRbMF0gPSBiYXNlUG9pbnRbMF07XG4gICAgfVxuICAgIGlmIChQb2ludC5pc0hvcml6b250YWxBbGlnbihuZXdQb2ludCwgYmFzZVBvaW50LCBvZmZzZXQpKSB7XG4gICAgICAgIG5ld1BvaW50WzFdID0gYmFzZVBvaW50WzFdO1xuICAgIH1cbiAgICByZXR1cm4gbmV3UG9pbnQ7XG59O1xuIl19
@@ -1,4 +1,4 @@
1
- import { PlaitBoard, PlaitElement, getHitElements, getNearestPointBetweenPointAndSegments, toPoint, transformPoint } from '@plait/core';
1
+ import { PlaitBoard, PlaitElement, getHitElementByPoint, getNearestPointBetweenPointAndSegments, toPoint, transformPoint } from '@plait/core';
2
2
  import { PlaitDrawElement } from '../interfaces';
3
3
  import { Node } from 'slate';
4
4
  import { getHitLineTextIndex, getLinePoints, isHitLineText } from '../utils';
@@ -9,9 +9,9 @@ export const withLineText = (board) => {
9
9
  const { dblclick } = board;
10
10
  board.dblclick = (event) => {
11
11
  const clickPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
12
- const hitTarget = getHitElements(board, { ranges: [{ anchor: clickPoint, focus: clickPoint }] }, (element) => {
12
+ const hitTarget = getHitElementByPoint(board, clickPoint, (element) => {
13
13
  return PlaitDrawElement.isLine(element);
14
- })[0];
14
+ });
15
15
  if (hitTarget) {
16
16
  const points = getLinePoints(board, hitTarget);
17
17
  const point = getNearestPointBetweenPointAndSegments(clickPoint, points);
@@ -52,4 +52,4 @@ function editHandle(board, element, manageIndex, isFirstEdit = false) {
52
52
  }
53
53
  });
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtbGluZS10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxzQ0FBc0MsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUM5QyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTNCLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDbkMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQXFCLEVBQUUsRUFBRTtZQUN2SCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQztRQUNuQixJQUFJLFNBQVMsRUFBRTtZQUNYLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDL0MsTUFBTSxLQUFLLEdBQUcsc0NBQXNDLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEUsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNwRSxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM5RCxJQUFJLFNBQVMsRUFBRTtnQkFDWCxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNQLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDO29CQUNyQixRQUFRLEVBQUUsS0FBSztvQkFDZixLQUFLLEVBQUUsRUFBRTtvQkFDVCxNQUFNLEVBQUUsRUFBRTtpQkFDYixDQUFDLENBQUM7Z0JBQ0gsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFrQixDQUFDO29CQUMzRSxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzVFLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUVELFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixTQUFTLFVBQVUsQ0FBQyxLQUFpQixFQUFFLE9BQWtCLEVBQUUsV0FBbUIsRUFBRSxjQUF1QixLQUFLO0lBQ3hHLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFrQixDQUFDO0lBQ3pFLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBRTdELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsSUFBSSxVQUFVLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekUsSUFBSSxZQUFZLEVBQUU7WUFDZCxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIGdldEhpdEVsZW1lbnRzLCBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cywgdG9Qb2ludCwgdHJhbnNmb3JtUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50LCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRIaXRMaW5lVGV4dEluZGV4LCBnZXRMaW5lUG9pbnRzLCBpc0hpdExpbmVUZXh0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0UmF0aW9CeVBvaW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBidWlsZFRleHQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IHdpdGhMaW5lVGV4dCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgZGJsY2xpY2sgfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQuZGJsY2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgY2xpY2tQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgaGl0VGFyZ2V0ID0gZ2V0SGl0RWxlbWVudHMoYm9hcmQsIHsgcmFuZ2VzOiBbeyBhbmNob3I6IGNsaWNrUG9pbnQsIGZvY3VzOiBjbGlja1BvaW50IH1dIH0sIChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzTGluZShlbGVtZW50KTtcbiAgICAgICAgfSlbMF0gYXMgUGxhaXRMaW5lO1xuICAgICAgICBpZiAoaGl0VGFyZ2V0KSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRMaW5lUG9pbnRzKGJvYXJkLCBoaXRUYXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhjbGlja1BvaW50LCBwb2ludHMpO1xuICAgICAgICAgICAgY29uc3QgdGV4dHMgPSBoaXRUYXJnZXQudGV4dHM/Lmxlbmd0aCA/IFsuLi5oaXRUYXJnZXQudGV4dHNdIDogW107XG4gICAgICAgICAgICBjb25zdCB0ZXh0SW5kZXggPSBnZXRIaXRMaW5lVGV4dEluZGV4KGJvYXJkLCBoaXRUYXJnZXQsIGNsaWNrUG9pbnQpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXRUZXh0ID0gaXNIaXRMaW5lVGV4dChib2FyZCwgaGl0VGFyZ2V0LCBjbGlja1BvaW50KTtcbiAgICAgICAgICAgIGlmIChpc0hpdFRleHQpIHtcbiAgICAgICAgICAgICAgICBlZGl0SGFuZGxlKGJvYXJkLCBoaXRUYXJnZXQsIHRleHRJbmRleCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJhdGlvID0gZ2V0UmF0aW9CeVBvaW50KHBvaW50cywgcG9pbnQpO1xuICAgICAgICAgICAgICAgIHRleHRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBidWlsZFRleHQoJ+aWh+acrCcpLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmF0aW8sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldExpbmVUZXh0cyhib2FyZCwgaGl0VGFyZ2V0LCB0ZXh0cyk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhpdENvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoaGl0VGFyZ2V0KSBhcyBMaW5lQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgICAgICBlZGl0SGFuZGxlKGJvYXJkLCBoaXRUYXJnZXQsIGhpdENvbXBvbmVudC50ZXh0TWFuYWdlcy5sZW5ndGggLSAxLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRibGNsaWNrKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZnVuY3Rpb24gZWRpdEhhbmRsZShib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRMaW5lLCBtYW5hZ2VJbmRleDogbnVtYmVyLCBpc0ZpcnN0RWRpdDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgaGl0Q29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KSBhcyBMaW5lQ29tcG9uZW50O1xuICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBoaXRDb21wb25lbnQudGV4dE1hbmFnZXNbbWFuYWdlSW5kZXhdO1xuICAgIGNvbnN0IG9yaWdpblRleHQgPSB0ZXh0TWFuYWdlLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jaGlsZHJlbjtcblxuICAgIHRleHRNYW5hZ2UuZWRpdCgob3JpZ2luLCBkZXNjZW5kYW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHRleHQgPSBOb2RlLnN0cmluZyhkZXNjZW5kYW50WzBdKTtcbiAgICAgICAgY29uc3Qgc2hvdWxkUmVtb3ZlID0gKGlzRmlyc3RFZGl0ICYmIG9yaWdpblRleHQgPT09IGRlc2NlbmRhbnQpIHx8ICF0ZXh0O1xuICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlKSB7XG4gICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5yZW1vdmVMaW5lVGV4dChib2FyZCwgZWxlbWVudCwgbWFuYWdlSW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtbGluZS10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixzQ0FBc0MsRUFDdEMsT0FBTyxFQUNQLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDN0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzlDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFM0IsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0YsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLE9BQXFCLEVBQUUsRUFBRTtZQUNoRixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQTBCLENBQUM7UUFDNUIsSUFBSSxTQUFTLEVBQUU7WUFDWCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sS0FBSyxHQUFHLHNDQUFzQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDcEUsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDOUQsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDM0M7aUJBQU07Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDN0MsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDUCxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDckIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsTUFBTSxFQUFFLEVBQUU7aUJBQ2IsQ0FBQyxDQUFDO2dCQUNILGNBQWMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckQsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBa0IsQ0FBQztvQkFDM0UsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM1RSxDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7UUFFRCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsU0FBUyxVQUFVLENBQUMsS0FBaUIsRUFBRSxPQUFrQixFQUFFLFdBQW1CLEVBQUUsY0FBdUIsS0FBSztJQUN4RyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBa0IsQ0FBQztJQUN6RSxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUU3RCxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxXQUFXLElBQUksVUFBVSxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3pFLElBQUksWUFBWSxFQUFFO1lBQ2QsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBnZXRIaXRFbGVtZW50QnlQb2ludCxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICB0b1BvaW50LFxuICAgIHRyYW5zZm9ybVBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0TGluZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGdldEhpdExpbmVUZXh0SW5kZXgsIGdldExpbmVQb2ludHMsIGlzSGl0TGluZVRleHQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBnZXRSYXRpb0J5UG9pbnQgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGJ1aWxkVGV4dCB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IExpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aExpbmVUZXh0ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBkYmxjbGljayB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kYmxjbGljayA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBjbGlja1BvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCBoaXRUYXJnZXQgPSBnZXRIaXRFbGVtZW50QnlQb2ludChib2FyZCwgY2xpY2tQb2ludCwgKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpO1xuICAgICAgICB9KSBhcyB1bmRlZmluZWQgfCBQbGFpdExpbmU7XG4gICAgICAgIGlmIChoaXRUYXJnZXQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldExpbmVQb2ludHMoYm9hcmQsIGhpdFRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKGNsaWNrUG9pbnQsIHBvaW50cyk7XG4gICAgICAgICAgICBjb25zdCB0ZXh0cyA9IGhpdFRhcmdldC50ZXh0cz8ubGVuZ3RoID8gWy4uLmhpdFRhcmdldC50ZXh0c10gOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IHRleHRJbmRleCA9IGdldEhpdExpbmVUZXh0SW5kZXgoYm9hcmQsIGhpdFRhcmdldCwgY2xpY2tQb2ludCk7XG4gICAgICAgICAgICBjb25zdCBpc0hpdFRleHQgPSBpc0hpdExpbmVUZXh0KGJvYXJkLCBoaXRUYXJnZXQsIGNsaWNrUG9pbnQpO1xuICAgICAgICAgICAgaWYgKGlzSGl0VGV4dCkge1xuICAgICAgICAgICAgICAgIGVkaXRIYW5kbGUoYm9hcmQsIGhpdFRhcmdldCwgdGV4dEluZGV4KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmF0aW8gPSBnZXRSYXRpb0J5UG9pbnQocG9pbnRzLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgdGV4dHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGJ1aWxkVGV4dCgn5paH5pysJyksXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByYXRpbyxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4LFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0TGluZVRleHRzKGJvYXJkLCBoaXRUYXJnZXQsIHRleHRzKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGl0Q29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChoaXRUYXJnZXQpIGFzIExpbmVDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRIYW5kbGUoYm9hcmQsIGhpdFRhcmdldCwgaGl0Q29tcG9uZW50LnRleHRNYW5hZ2VzLmxlbmd0aCAtIDEsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGJsY2xpY2soZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuXG5mdW5jdGlvbiBlZGl0SGFuZGxlKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdExpbmUsIG1hbmFnZUluZGV4OiBudW1iZXIsIGlzRmlyc3RFZGl0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBoaXRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIExpbmVDb21wb25lbnQ7XG4gICAgY29uc3QgdGV4dE1hbmFnZSA9IGhpdENvbXBvbmVudC50ZXh0TWFuYWdlc1ttYW5hZ2VJbmRleF07XG4gICAgY29uc3Qgb3JpZ2luVGV4dCA9IHRleHRNYW5hZ2UuY29tcG9uZW50UmVmLmluc3RhbmNlLmNoaWxkcmVuO1xuXG4gICAgdGV4dE1hbmFnZS5lZGl0KChvcmlnaW4sIGRlc2NlbmRhbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGV4dCA9IE5vZGUuc3RyaW5nKGRlc2NlbmRhbnRbMF0pO1xuICAgICAgICBjb25zdCBzaG91bGRSZW1vdmUgPSAoaXNGaXJzdEVkaXQgJiYgb3JpZ2luVGV4dCA9PT0gZGVzY2VuZGFudCkgfHwgIXRleHQ7XG4gICAgICAgIGlmIChzaG91bGRSZW1vdmUpIHtcbiAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnJlbW92ZUxpbmVUZXh0KGJvYXJkLCBlbGVtZW50LCBtYW5hZ2VJbmRleCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
@@ -1,11 +1,15 @@
1
1
  import { ACTIVE_STROKE_WIDTH, PlaitBoard, RectangleClient, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, createG, distanceBetweenPointAndSegment, drawCircle, idCreator } from '@plait/core';
2
- import { BasicShapes } from '../interfaces/geometry';
2
+ import { BasicShapes, FlowchartSymbols } from '../interfaces/geometry';
3
3
  import { Alignment, buildText } from '@plait/text';
4
- import { DefaultFlowchartPropertyMap, DefaultTextProperty, ShapeDefaultSpace, getFlowchartPointers } from '../constants';
4
+ import { DefaultBasicShapeProperty, DefaultFlowchartPropertyMap, DefaultTextProperty, ShapeDefaultSpace, getFlowchartPointers } from '../constants';
5
5
  import { getRectangleByPoints } from '@plait/common';
6
6
  import { getStrokeWidthByElement } from './style/stroke';
7
7
  import { getEngine } from '../engines';
8
8
  import { getShape } from './shape';
9
+ import { getDefaultGeometryPoints } from '../plugins/with-geometry-create';
10
+ import { createLineElement } from './line';
11
+ import { LineMarkerType, LineShape } from '../interfaces';
12
+ import { DefaultLineStyle } from '../constants/line';
9
13
  export const createGeometryElement = (shape, points, text, options) => {
10
14
  let textOptions = {};
11
15
  let alignment = Alignment.center;
@@ -103,4 +107,61 @@ export const getEdgeOnPolygonByPoint = (corners, point) => {
103
107
  export const getDefaultFlowchartProperty = (symbol) => {
104
108
  return DefaultFlowchartPropertyMap[symbol];
105
109
  };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9nZW9tZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLFVBQVUsRUFFVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixPQUFPLEVBQ1AsOEJBQThCLEVBQzlCLFVBQVUsRUFDVixTQUFTLEVBQ1osTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFrQixXQUFXLEVBQW1DLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDakMsS0FBcUIsRUFDckIsTUFBc0IsRUFDdEIsSUFBc0IsRUFDdEIsT0FBcUUsRUFDeEQsRUFBRTtJQUNmLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNyQixJQUFJLFNBQVMsR0FBMEIsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUN4RCxJQUFJLEtBQUssS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVCLFdBQVcsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0tBQ3pCO0lBRUQs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SyxDQUFDLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDZCxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBbUIsQ0FBQztTQUN6QztLQUNKO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxNQUF3QixFQUFFLEVBQUU7SUFDcEUsT0FBTywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgU0VMRUNUSU9OX0JPUkRFUl9DT0xPUixcbiAgICBTRUxFQ1RJT05fRklMTF9DT0xPUixcbiAgICBjcmVhdGVHLFxuICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kU2VnbWVudCxcbiAgICBkcmF3Q2lyY2xlLFxuICAgIGlkQ3JlYXRvclxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlcywgQmFzaWNTaGFwZXMsIFBsYWl0R2VvbWV0cnksIEZsb3djaGFydFN5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEFsaWdubWVudCwgYnVpbGRUZXh0IH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eU1hcCwgRGVmYXVsdFRleHRQcm9wZXJ0eSwgU2hhcGVEZWZhdWx0U3BhY2UsIGdldEZsb3djaGFydFBvaW50ZXJzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5UG9pbnRzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudCB9IGZyb20gJy4vc3R5bGUvc3Ryb2tlJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgZ2V0U2hhcGUgfSBmcm9tICcuL3NoYXBlJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCA9IChcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZXMsXG4gICAgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSxcbiAgICB0ZXh0OiBzdHJpbmcgfCBFbGVtZW50LFxuICAgIG9wdGlvbnM/OiBQaWNrPFBsYWl0R2VvbWV0cnksICdmaWxsJyB8ICdzdHJva2VDb2xvcicgfCAnc3Ryb2tlV2lkdGgnPlxuKTogUGxhaXRHZW9tZXRyeSA9PiB7XG4gICAgbGV0IHRleHRPcHRpb25zID0ge307XG4gICAgbGV0IGFsaWdubWVudDogdW5kZWZpbmVkIHwgQWxpZ25tZW50ID0gQWxpZ25tZW50LmNlbnRlcjtcbiAgICBpZiAoc2hhcGUgPT09IEJhc2ljU2hhcGVzLnRleHQpIHtcbiAgICAgICAgdGV4dE9wdGlvbnMgPSB7IGF1dG9TaXplOiB0cnVlIH07XG4gICAgICAgIGFsaWdubWVudCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgZmxvd2NoYXJ0T3B0aW9ucyA9IHt9O1xuICAgIGlmIChnZXRGbG93Y2hhcnRQb2ludGVycygpLmluY2x1ZGVzKHNoYXBlKSkge1xuICAgICAgICBmbG93Y2hhcnRPcHRpb25zID0geyBmaWxsOiAnI2ZmZmZmZicgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHR5cGU6ICdnZW9tZXRyeScsXG4gICAgICAgIHNoYXBlLFxuICAgICAgICBhbmdsZTogMCxcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgdGV4dEhlaWdodDogRGVmYXVsdFRleHRQcm9wZXJ0eS5oZWlnaHQsXG4gICAgICAgIHRleHQ6IGJ1aWxkVGV4dCh0ZXh0LCBhbGlnbm1lbnQpLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIC4uLnRleHRPcHRpb25zLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAuLi5mbG93Y2hhcnRPcHRpb25zXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQb2ludHNCeUNlbnRlclBvaW50ID0gKHBvaW50OiBQb2ludCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiBbUG9pbnQsIFBvaW50XSA9PiB7XG4gICAgY29uc3QgbGVmdFRvcFBvaW50OiBQb2ludCA9IFtwb2ludFswXSAtIHdpZHRoIC8gMiwgcG9pbnRbMV0gLSBoZWlnaHQgLyAyXTtcbiAgICBjb25zdCByaWdodEJvdHRvbVBvaW50OiBQb2ludCA9IFtwb2ludFswXSArIHdpZHRoIC8gMiwgcG9pbnRbMV0gKyBoZWlnaHQgLyAyXTtcblxuICAgIHJldHVybiBbbGVmdFRvcFBvaW50LCByaWdodEJvdHRvbVBvaW50XTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0UmVjdGFuZ2xlID0gKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICBjb25zdCBlbGVtZW50UmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMhKTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGhlaWdodCA9IGVsZW1lbnQudGV4dEhlaWdodDtcbiAgICBjb25zdCB3aWR0aCA9IGVsZW1lbnRSZWN0YW5nbGUud2lkdGggLSBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICogMiAtIHN0cm9rZVdpZHRoICogMjtcbiAgICByZXR1cm4ge1xuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHdpZHRoOiB3aWR0aCA+IDAgPyB3aWR0aCA6IDAsXG4gICAgICAgIHg6IGVsZW1lbnRSZWN0YW5nbGUueCArIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKyBzdHJva2VXaWR0aCxcbiAgICAgICAgeTogZWxlbWVudFJlY3RhbmdsZS55ICsgKGVsZW1lbnRSZWN0YW5nbGUuaGVpZ2h0IC0gaGVpZ2h0KSAvIDJcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdCb3VuZE1hc2sgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICBjb25zdCBHID0gY3JlYXRlRygpO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICBjb25zdCBhY3RpdmVSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuaW5mbGF0ZShyZWN0YW5nbGUsIEFDVElWRV9TVFJPS0VfV0lEVEgpO1xuICAgIGNvbnN0IHNoYXBlID0gZ2V0U2hhcGUoZWxlbWVudCk7XG4gICAgY29uc3QgbWFza0cgPSBkcmF3R2VvbWV0cnkoYm9hcmQsIGFjdGl2ZVJlY3RhbmdsZSwgc2hhcGUsIHtcbiAgICAgICAgc3Ryb2tlOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgZmlsbDogU0VMRUNUSU9OX0ZJTExfQ09MT1IsXG4gICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgIH0pO1xuICAgIEcuYXBwZW5kQ2hpbGQobWFza0cpO1xuICAgIGNvbnN0IGNvbm5lY3RvclBvaW50cyA9IGdldEVuZ2luZShzaGFwZSkuZ2V0Q29ubmVjdG9yUG9pbnRzKGFjdGl2ZVJlY3RhbmdsZSk7XG4gICAgY29ubmVjdG9yUG9pbnRzLmZvckVhY2gocG9pbnQgPT4ge1xuICAgICAgICBjb25zdCBjaXJjbGVHID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgcG9pbnQsIDYsIHtcbiAgICAgICAgICAgIHN0cm9rZTogJyM5OTk5OTknLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBmaWxsOiAnI0ZGRicsXG4gICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgfSk7XG4gICAgICAgIEcuYXBwZW5kQ2hpbGQoY2lyY2xlRyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gRztcbn07XG5cbmV4cG9ydCBjb25zdCBkcmF3R2VvbWV0cnkgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG91dGVyUmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHNoYXBlOiBHZW9tZXRyeVNoYXBlcywgb3B0aW9uczogT3B0aW9ucykgPT4ge1xuICAgIHJldHVybiBnZXRFbmdpbmUoc2hhcGUpLmRyYXcoYm9hcmQsIG91dGVyUmVjdGFuZ2xlLCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZWFyZXN0UG9pbnQgPSAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSwgcG9pbnQ6IFBvaW50LCBpbmZsYXRlRGVsdGEgPSAwKSA9PiB7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5pbmZsYXRlKHJlY3RhbmdsZSwgaW5mbGF0ZURlbHRhKTtcbiAgICBjb25zdCBzaGFwZSA9IGdldFNoYXBlKGVsZW1lbnQpO1xuICAgIHJldHVybiBnZXRFbmdpbmUoc2hhcGUpLmdldE5lYXJlc3RQb2ludChhY3RpdmVSZWN0YW5nbGUsIHBvaW50KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDZW50ZXJQb2ludHNPblBvbHlnb24gPSAocG9pbnRzOiBQb2ludFtdKSA9PiB7XG4gICAgY29uc3QgY2VudGVyUG9pbnQ6IFBvaW50W10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgaiA9IGkgPT0gcG9pbnRzLmxlbmd0aCAtIDEgPyAwIDogaSArIDE7XG4gICAgICAgIGNlbnRlclBvaW50LnB1c2goWyhwb2ludHNbaV1bMF0gKyBwb2ludHNbal1bMF0pIC8gMiwgKHBvaW50c1tpXVsxXSArIHBvaW50c1tqXVsxXSkgLyAyXSk7XG4gICAgfVxuICAgIHJldHVybiBjZW50ZXJQb2ludDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFZGdlT25Qb2x5Z29uQnlQb2ludCA9IChjb3JuZXJzOiBQb2ludFtdLCBwb2ludDogUG9pbnQpID0+IHtcbiAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDw9IGNvcm5lcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGxldCBzdGFydCA9IGNvcm5lcnNbaW5kZXggLSAxXTtcbiAgICAgICAgbGV0IGVuZCA9IGluZGV4ID09PSBjb3JuZXJzLmxlbmd0aCA/IGNvcm5lcnNbMF0gOiBjb3JuZXJzW2luZGV4XTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFNlZ21lbnQocG9pbnRbMF0sIHBvaW50WzFdLCBzdGFydFswXSwgc3RhcnRbMV0sIGVuZFswXSwgZW5kWzFdKTtcbiAgICAgICAgaWYgKGRpc3RhbmNlIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuIFtzdGFydCwgZW5kXSBhcyBbUG9pbnQsIFBvaW50XTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHkgPSAoc3ltYm9sOiBGbG93Y2hhcnRTeW1ib2xzKSA9PiB7XG4gICAgcmV0dXJuIERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eU1hcFtzeW1ib2xdO1xufTtcbiJdfQ==
110
+ export const createDefaultFlowchart = (point) => {
111
+ const decisionProperty = getDefaultFlowchartProperty(FlowchartSymbols.decision);
112
+ const processProperty = getDefaultFlowchartProperty(FlowchartSymbols.process);
113
+ const terminalProperty = getDefaultFlowchartProperty(FlowchartSymbols.terminal);
114
+ const options = {
115
+ strokeColor: DefaultBasicShapeProperty.strokeColor,
116
+ strokeWidth: DefaultBasicShapeProperty.strokeWidth
117
+ };
118
+ const lineOptions = {
119
+ strokeColor: DefaultLineStyle.strokeColor,
120
+ strokeWidth: DefaultLineStyle.strokeWidth
121
+ };
122
+ const startElement = createGeometryElement(FlowchartSymbols.terminal, getDefaultGeometryPoints(FlowchartSymbols.terminal, point), '开始', options);
123
+ const processPoint1 = [point[0], point[1] + terminalProperty.height / 2 + 55 + processProperty.height / 2];
124
+ const processElement1 = createGeometryElement(FlowchartSymbols.process, getDefaultGeometryPoints(FlowchartSymbols.process, processPoint1), '过程', options);
125
+ const decisionPoint = [processPoint1[0], processPoint1[1] + processProperty.height / 2 + 55 + decisionProperty.height / 2];
126
+ const decisionElement = createGeometryElement(FlowchartSymbols.decision, getDefaultGeometryPoints(FlowchartSymbols.decision, decisionPoint), '过程', options);
127
+ const processPoint2 = [decisionPoint[0] + decisionProperty.width / 2 + 75 + processProperty.width / 2, decisionPoint[1]];
128
+ const processElement2 = createGeometryElement(FlowchartSymbols.process, getDefaultGeometryPoints(FlowchartSymbols.process, processPoint2), '过程', options);
129
+ const endPoint = [decisionPoint[0], decisionPoint[1] + decisionProperty.height / 2 + 95 + terminalProperty.height / 2];
130
+ const endElement = createGeometryElement(FlowchartSymbols.terminal, getDefaultGeometryPoints(FlowchartSymbols.terminal, endPoint), '结束', options);
131
+ const line1 = createLineElement(LineShape.elbow, [
132
+ [0, 0],
133
+ [0, 0]
134
+ ], { marker: LineMarkerType.none, connection: [0.5, 1], boundId: startElement.id }, { marker: LineMarkerType.arrow, connection: [0.5, 0], boundId: processElement1.id }, [], lineOptions);
135
+ const line2 = createLineElement(LineShape.elbow, [
136
+ [0, 0],
137
+ [0, 0]
138
+ ], { marker: LineMarkerType.none, connection: [0.5, 1], boundId: processElement1.id }, { marker: LineMarkerType.arrow, connection: [0.5, 0], boundId: decisionElement.id }, [], lineOptions);
139
+ const line3 = createLineElement(LineShape.elbow, [
140
+ [0, 0],
141
+ [0, 0]
142
+ ], { marker: LineMarkerType.none, connection: [0.5, 1], boundId: decisionElement.id }, { marker: LineMarkerType.arrow, connection: [0.5, 0], boundId: endElement.id }, [
143
+ {
144
+ text: buildText('是'),
145
+ position: 0.5,
146
+ width: 14,
147
+ height: 20
148
+ }
149
+ ], lineOptions);
150
+ const line4 = createLineElement(LineShape.elbow, [
151
+ [0, 0],
152
+ [0, 0]
153
+ ], { marker: LineMarkerType.none, connection: [1, 0.5], boundId: decisionElement.id }, { marker: LineMarkerType.arrow, connection: [0, 0.5], boundId: processElement2.id }, [
154
+ {
155
+ text: buildText('否'),
156
+ position: 0.5,
157
+ width: 14,
158
+ height: 20
159
+ }
160
+ ], lineOptions);
161
+ const line5 = createLineElement(LineShape.elbow, [
162
+ [0, 0],
163
+ [0, 0]
164
+ ], { marker: LineMarkerType.none, connection: [0.5, 1], boundId: processElement2.id }, { marker: LineMarkerType.arrow, connection: [1, 0.5], boundId: endElement.id }, [], lineOptions);
165
+ return [startElement, processElement1, decisionElement, processElement2, endElement, line1, line2, line3, line4, line5];
166
+ };
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9nZW9tZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLFVBQVUsRUFFVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixPQUFPLEVBQ1AsOEJBQThCLEVBQzlCLFVBQVUsRUFDVixTQUFTLEVBQ1osTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFrQixXQUFXLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkQsT0FBTyxFQUNILHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDdkIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDakMsS0FBcUIsRUFDckIsTUFBc0IsRUFDdEIsSUFBc0IsRUFDdEIs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RUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1SCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgU0VMRUNUSU9OX0JPUkRFUl9DT0xPUixcbiAgICBTRUxFQ1RJT05fRklMTF9DT0xPUixcbiAgICBjcmVhdGVHLFxuICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kU2VnbWVudCxcbiAgICBkcmF3Q2lyY2xlLFxuICAgIGlkQ3JlYXRvclxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlcywgQmFzaWNTaGFwZXMsIFBsYWl0R2VvbWV0cnksIEZsb3djaGFydFN5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEFsaWdubWVudCwgYnVpbGRUZXh0IH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7XG4gICAgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eSxcbiAgICBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAsXG4gICAgRGVmYXVsdFRleHRQcm9wZXJ0eSxcbiAgICBTaGFwZURlZmF1bHRTcGFjZSxcbiAgICBnZXRGbG93Y2hhcnRQb2ludGVyc1xufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlQb2ludHMgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi9zdHlsZS9zdHJva2UnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBnZXRTaGFwZSB9IGZyb20gJy4vc2hhcGUnO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLWdlb21ldHJ5LWNyZWF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVMaW5lRWxlbWVudCB9IGZyb20gJy4vbGluZSc7XG5pbXBvcnQgeyBMaW5lTWFya2VyVHlwZSwgTGluZVNoYXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEZWZhdWx0TGluZVN0eWxlIH0gZnJvbSAnLi4vY29uc3RhbnRzL2xpbmUnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlR2VvbWV0cnlFbGVtZW50ID0gKFxuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlcyxcbiAgICBwb2ludHM6IFtQb2ludCwgUG9pbnRdLFxuICAgIHRleHQ6IHN0cmluZyB8IEVsZW1lbnQsXG4gICAgb3B0aW9ucz86IFBpY2s8UGxhaXRHZW9tZXRyeSwgJ2ZpbGwnIHwgJ3N0cm9rZUNvbG9yJyB8ICdzdHJva2VXaWR0aCc+XG4pOiBQbGFpdEdlb21ldHJ5ID0+IHtcbiAgICBsZXQgdGV4dE9wdGlvbnMgPSB7fTtcbiAgICBsZXQgYWxpZ25tZW50OiB1bmRlZmluZWQgfCBBbGlnbm1lbnQgPSBBbGlnbm1lbnQuY2VudGVyO1xuICAgIGlmIChzaGFwZSA9PT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICB0ZXh0T3B0aW9ucyA9IHsgYXV0b1NpemU6IHRydWUgfTtcbiAgICAgICAgYWxpZ25tZW50ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCBmbG93Y2hhcnRPcHRpb25zID0ge307XG4gICAgaWYgKGdldEZsb3djaGFydFBvaW50ZXJzKCkuaW5jbHVkZXMoc2hhcGUpKSB7XG4gICAgICAgIGZsb3djaGFydE9wdGlvbnMgPSB7IGZpbGw6ICcjZmZmZmZmJyB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgc2hhcGUsXG4gICAgICAgIGFuZ2xlOiAwLFxuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICB0ZXh0SGVpZ2h0OiBEZWZhdWx0VGV4dFByb3BlcnR5LmhlaWdodCxcbiAgICAgICAgdGV4dDogYnVpbGRUZXh0KHRleHQsIGFsaWdubWVudCksXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgLi4udGV4dE9wdGlvbnMsXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIC4uLmZsb3djaGFydE9wdGlvbnNcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBvaW50c0J5Q2VudGVyUG9pbnQgPSAocG9pbnQ6IFBvaW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IFtQb2ludCwgUG9pbnRdID0+IHtcbiAgICBjb25zdCBsZWZ0VG9wUG9pbnQ6IFBvaW50ID0gW3BvaW50WzBdIC0gd2lkdGggLyAyLCBwb2ludFsxXSAtIGhlaWdodCAvIDJdO1xuICAgIGNvbnN0IHJpZ2h0Qm90dG9tUG9pbnQ6IFBvaW50ID0gW3BvaW50WzBdICsgd2lkdGggLyAyLCBwb2ludFsxXSArIGhlaWdodCAvIDJdO1xuXG4gICAgcmV0dXJuIFtsZWZ0VG9wUG9pbnQsIHJpZ2h0Qm90dG9tUG9pbnRdO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRSZWN0YW5nbGUgPSAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyEpO1xuICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC50ZXh0SGVpZ2h0O1xuICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudFJlY3RhbmdsZS53aWR0aCAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyIC0gc3Ryb2tlV2lkdGggKiAyO1xuICAgIHJldHVybiB7XG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgd2lkdGg6IHdpZHRoID4gMCA/IHdpZHRoIDogMCxcbiAgICAgICAgeDogZWxlbWVudFJlY3RhbmdsZS54ICsgU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCArIHN0cm9rZVdpZHRoLFxuICAgICAgICB5OiBlbGVtZW50UmVjdGFuZ2xlLnkgKyAoZWxlbWVudFJlY3RhbmdsZS5oZWlnaHQgLSBoZWlnaHQpIC8gMlxuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd0JvdW5kTWFzayA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgIGNvbnN0IEcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5pbmZsYXRlKHJlY3RhbmdsZSwgQUNUSVZFX1NUUk9LRV9XSURUSCk7XG4gICAgY29uc3Qgc2hhcGUgPSBnZXRTaGFwZShlbGVtZW50KTtcbiAgICBjb25zdCBtYXNrRyA9IGRyYXdHZW9tZXRyeShib2FyZCwgYWN0aXZlUmVjdGFuZ2xlLCBzaGFwZSwge1xuICAgICAgICBzdHJva2U6IFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICBmaWxsOiBTRUxFQ1RJT05fRklMTF9DT0xPUixcbiAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgfSk7XG4gICAgRy5hcHBlbmRDaGlsZChtYXNrRyk7XG4gICAgY29uc3QgY29ubmVjdG9yUG9pbnRzID0gZ2V0RW5naW5lKHNoYXBlKS5nZXRDb25uZWN0b3JQb2ludHMoYWN0aXZlUmVjdGFuZ2xlKTtcbiAgICBjb25uZWN0b3JQb2ludHMuZm9yRWFjaChwb2ludCA9PiB7XG4gICAgICAgIGNvbnN0IGNpcmNsZUcgPSBkcmF3Q2lyY2xlKFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLCBwb2ludCwgNiwge1xuICAgICAgICAgICAgc3Ryb2tlOiAnIzk5OTk5OScsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgIGZpbGw6ICcjRkZGJyxcbiAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICB9KTtcbiAgICAgICAgRy5hcHBlbmRDaGlsZChjaXJjbGVHKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBHO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdHZW9tZXRyeSA9IChib2FyZDogUGxhaXRCb2FyZCwgb3V0ZXJSZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgc2hhcGU6IEdlb21ldHJ5U2hhcGVzLCBvcHRpb25zOiBPcHRpb25zKSA9PiB7XG4gICAgcmV0dXJuIGdldEVuZ2luZShzaGFwZSkuZHJhdyhib2FyZCwgb3V0ZXJSZWN0YW5nbGUsIG9wdGlvbnMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5lYXJlc3RQb2ludCA9IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5LCBwb2ludDogUG9pbnQsIGluZmxhdGVEZWx0YSA9IDApID0+IHtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgY29uc3QgYWN0aXZlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmluZmxhdGUocmVjdGFuZ2xlLCBpbmZsYXRlRGVsdGEpO1xuICAgIGNvbnN0IHNoYXBlID0gZ2V0U2hhcGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIGdldEVuZ2luZShzaGFwZSkuZ2V0TmVhcmVzdFBvaW50KGFjdGl2ZVJlY3RhbmdsZSwgcG9pbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENlbnRlclBvaW50c09uUG9seWdvbiA9IChwb2ludHM6IFBvaW50W10pID0+IHtcbiAgICBjb25zdCBjZW50ZXJQb2ludDogUG9pbnRbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBqID0gaSA9PSBwb2ludHMubGVuZ3RoIC0gMSA/IDAgOiBpICsgMTtcbiAgICAgICAgY2VudGVyUG9pbnQucHVzaChbKHBvaW50c1tpXVswXSArIHBvaW50c1tqXVswXSkgLyAyLCAocG9pbnRzW2ldWzFdICsgcG9pbnRzW2pdWzFdKSAvIDJdKTtcbiAgICB9XG4gICAgcmV0dXJuIGNlbnRlclBvaW50O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVkZ2VPblBvbHlnb25CeVBvaW50ID0gKGNvcm5lcnM6IFBvaW50W10sIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gY29ybmVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gY29ybmVyc1tpbmRleCAtIDFdO1xuICAgICAgICBsZXQgZW5kID0gaW5kZXggPT09IGNvcm5lcnMubGVuZ3RoID8gY29ybmVyc1swXSA6IGNvcm5lcnNbaW5kZXhdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kU2VnbWVudChwb2ludFswXSwgcG9pbnRbMV0sIHN0YXJ0WzBdLCBzdGFydFsxXSwgZW5kWzBdLCBlbmRbMV0pO1xuICAgICAgICBpZiAoZGlzdGFuY2UgPCAxKSB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXJ0LCBlbmRdIGFzIFtQb2ludCwgUG9pbnRdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSA9IChzeW1ib2w6IEZsb3djaGFydFN5bWJvbHMpID0+IHtcbiAgICByZXR1cm4gRGVmYXVsdEZsb3djaGFydFByb3BlcnR5TWFwW3N5bWJvbF07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVmYXVsdEZsb3djaGFydCA9IChwb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCBkZWNpc2lvblByb3BlcnR5ID0gZ2V0RGVmYXVsdEZsb3djaGFydFByb3BlcnR5KEZsb3djaGFydFN5bWJvbHMuZGVjaXNpb24pO1xuICAgIGNvbnN0IHByb2Nlc3NQcm9wZXJ0eSA9IGdldERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eShGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3MpO1xuICAgIGNvbnN0IHRlcm1pbmFsUHJvcGVydHkgPSBnZXREZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHkoRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbCk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBzdHJva2VDb2xvcjogRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eS5zdHJva2VDb2xvcixcbiAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkuc3Ryb2tlV2lkdGhcbiAgICB9O1xuXG4gICAgY29uc3QgbGluZU9wdGlvbnMgPSB7XG4gICAgICAgIHN0cm9rZUNvbG9yOiBEZWZhdWx0TGluZVN0eWxlLnN0cm9rZUNvbG9yLFxuICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdExpbmVTdHlsZS5zdHJva2VXaWR0aFxuICAgIH07XG4gICAgY29uc3Qgc3RhcnRFbGVtZW50ID0gY3JlYXRlR2VvbWV0cnlFbGVtZW50KFxuICAgICAgICBGbG93Y2hhcnRTeW1ib2xzLnRlcm1pbmFsLFxuICAgICAgICBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMoRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbCwgcG9pbnQpLFxuICAgICAgICAn5byA5aeLJyxcbiAgICAgICAgb3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBwcm9jZXNzUG9pbnQxOiBQb2ludCA9IFtwb2ludFswXSwgcG9pbnRbMV0gKyB0ZXJtaW5hbFByb3BlcnR5LmhlaWdodCAvIDIgKyA1NSArIHByb2Nlc3NQcm9wZXJ0eS5oZWlnaHQgLyAyXTtcbiAgICBjb25zdCBwcm9jZXNzRWxlbWVudDEgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgIEZsb3djaGFydFN5bWJvbHMucHJvY2VzcyxcbiAgICAgICAgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKEZsb3djaGFydFN5bWJvbHMucHJvY2VzcywgcHJvY2Vzc1BvaW50MSksXG4gICAgICAgICfov4fnqIsnLFxuICAgICAgICBvcHRpb25zXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY2lzaW9uUG9pbnQ6IFBvaW50ID0gW3Byb2Nlc3NQb2ludDFbMF0sIHByb2Nlc3NQb2ludDFbMV0gKyBwcm9jZXNzUHJvcGVydHkuaGVpZ2h0IC8gMiArIDU1ICsgZGVjaXNpb25Qcm9wZXJ0eS5oZWlnaHQgLyAyXTtcbiAgICBjb25zdCBkZWNpc2lvbkVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgIEZsb3djaGFydFN5bWJvbHMuZGVjaXNpb24sXG4gICAgICAgIGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhGbG93Y2hhcnRTeW1ib2xzLmRlY2lzaW9uLCBkZWNpc2lvblBvaW50KSxcbiAgICAgICAgJ+i/h+eoiycsXG4gICAgICAgIG9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgcHJvY2Vzc1BvaW50MjogUG9pbnQgPSBbZGVjaXNpb25Qb2ludFswXSArIGRlY2lzaW9uUHJvcGVydHkud2lkdGggLyAyICsgNzUgKyBwcm9jZXNzUHJvcGVydHkud2lkdGggLyAyLCBkZWNpc2lvblBvaW50WzFdXTtcbiAgICBjb25zdCBwcm9jZXNzRWxlbWVudDIgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgIEZsb3djaGFydFN5bWJvbHMucHJvY2VzcyxcbiAgICAgICAgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKEZsb3djaGFydFN5bWJvbHMucHJvY2VzcywgcHJvY2Vzc1BvaW50MiksXG4gICAgICAgICfov4fnqIsnLFxuICAgICAgICBvcHRpb25zXG4gICAgKTtcblxuICAgIGNvbnN0IGVuZFBvaW50OiBQb2ludCA9IFtkZWNpc2lvblBvaW50WzBdLCBkZWNpc2lvblBvaW50WzFdICsgZGVjaXNpb25Qcm9wZXJ0eS5oZWlnaHQgLyAyICsgOTUgKyB0ZXJtaW5hbFByb3BlcnR5LmhlaWdodCAvIDJdO1xuICAgIGNvbnN0IGVuZEVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgIEZsb3djaGFydFN5bWJvbHMudGVybWluYWwsXG4gICAgICAgIGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhGbG93Y2hhcnRTeW1ib2xzLnRlcm1pbmFsLCBlbmRQb2ludCksXG4gICAgICAgICfnu5PmnZ8nLFxuICAgICAgICBvcHRpb25zXG4gICAgKTtcblxuICAgIGNvbnN0IGxpbmUxID0gY3JlYXRlTGluZUVsZW1lbnQoXG4gICAgICAgIExpbmVTaGFwZS5lbGJvdyxcbiAgICAgICAgW1xuICAgICAgICAgICAgWzAsIDBdLFxuICAgICAgICAgICAgWzAsIDBdXG4gICAgICAgIF0sXG4gICAgICAgIHsgbWFya2VyOiBMaW5lTWFya2VyVHlwZS5ub25lLCBjb25uZWN0aW9uOiBbMC41LCAxXSwgYm91bmRJZDogc3RhcnRFbGVtZW50LmlkIH0sXG4gICAgICAgIHsgbWFya2VyOiBMaW5lTWFya2VyVHlwZS5hcnJvdywgY29ubmVjdGlvbjogWzAuNSwgMF0sIGJvdW5kSWQ6IHByb2Nlc3NFbGVtZW50MS5pZCB9LFxuICAgICAgICBbXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgbGluZTIgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgTGluZVNoYXBlLmVsYm93LFxuICAgICAgICBbXG4gICAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgICBbMCwgMF1cbiAgICAgICAgXSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IFswLjUsIDFdLCBib3VuZElkOiBwcm9jZXNzRWxlbWVudDEuaWQgfSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLmFycm93LCBjb25uZWN0aW9uOiBbMC41LCAwXSwgYm91bmRJZDogZGVjaXNpb25FbGVtZW50LmlkIH0sXG4gICAgICAgIFtdLFxuICAgICAgICBsaW5lT3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBsaW5lMyA9IGNyZWF0ZUxpbmVFbGVtZW50KFxuICAgICAgICBMaW5lU2hhcGUuZWxib3csXG4gICAgICAgIFtcbiAgICAgICAgICAgIFswLCAwXSxcbiAgICAgICAgICAgIFswLCAwXVxuICAgICAgICBdLFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUubm9uZSwgY29ubmVjdGlvbjogWzAuNSwgMV0sIGJvdW5kSWQ6IGRlY2lzaW9uRWxlbWVudC5pZCB9LFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUuYXJyb3csIGNvbm5lY3Rpb246IFswLjUsIDBdLCBib3VuZElkOiBlbmRFbGVtZW50LmlkIH0sXG4gICAgICAgIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBidWlsZFRleHQoJ+aYrycpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAwLjUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0LFxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgbGluZTQgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgTGluZVNoYXBlLmVsYm93LFxuICAgICAgICBbXG4gICAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgICBbMCwgMF1cbiAgICAgICAgXSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IFsxLCAwLjVdLCBib3VuZElkOiBkZWNpc2lvbkVsZW1lbnQuaWQgfSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLmFycm93LCBjb25uZWN0aW9uOiBbMCwgMC41XSwgYm91bmRJZDogcHJvY2Vzc0VsZW1lbnQyLmlkIH0sXG4gICAgICAgIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBidWlsZFRleHQoJ+WQpicpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAwLjUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0LFxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgbGluZTUgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgTGluZVNoYXBlLmVsYm93LFxuICAgICAgICBbXG4gICAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgICBbMCwgMF1cbiAgICAgICAgXSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IFswLjUsIDFdLCBib3VuZElkOiBwcm9jZXNzRWxlbWVudDIuaWQgfSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLmFycm93LCBjb25uZWN0aW9uOiBbMSwgMC41XSwgYm91bmRJZDogZW5kRWxlbWVudC5pZCB9LFxuICAgICAgICBbXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgcmV0dXJuIFtzdGFydEVsZW1lbnQsIHByb2Nlc3NFbGVtZW50MSwgZGVjaXNpb25FbGVtZW50LCBwcm9jZXNzRWxlbWVudDIsIGVuZEVsZW1lbnQsIGxpbmUxLCBsaW5lMiwgbGluZTMsIGxpbmU0LCBsaW5lNV07XG59O1xuIl19
@@ -0,0 +1,58 @@
1
+ import { RectangleClient, isPolylineHitRectangle, Point } from '@plait/core';
2
+ import { PlaitDrawElement } from '../interfaces';
3
+ import { TRANSPARENT, getRectangleByPoints } from '@plait/common';
4
+ import { getTextRectangle } from './geometry';
5
+ import { getLinePoints, isHitLineText, isHitPolyLine } from './line';
6
+ import { getFillByElement, getStrokeWidthByElement } from './style/stroke';
7
+ import { DefaultGeometryStyle } from '../constants/geometry';
8
+ import { getEngine } from '../engines';
9
+ import { getShape } from './shape';
10
+ export const isRectangleHitDrawElement = (board, element, selection) => {
11
+ if (PlaitDrawElement.isGeometry(element)) {
12
+ const client = getRectangleByPoints(element.points);
13
+ const rangeRectangle = RectangleClient.toRectangleClient([selection.anchor, selection.focus]);
14
+ if (element.textHeight > client.height) {
15
+ const textClient = getTextRectangle(element);
16
+ return RectangleClient.isHit(rangeRectangle, client) || RectangleClient.isHit(rangeRectangle, textClient);
17
+ }
18
+ return RectangleClient.isHit(rangeRectangle, client);
19
+ }
20
+ if (PlaitDrawElement.isImage(element)) {
21
+ const client = getRectangleByPoints(element.points);
22
+ const rangeRectangle = RectangleClient.toRectangleClient([selection.anchor, selection.focus]);
23
+ return RectangleClient.isHit(rangeRectangle, client);
24
+ }
25
+ if (PlaitDrawElement.isLine(element)) {
26
+ const points = getLinePoints(board, element);
27
+ const strokeWidth = getStrokeWidthByElement(element);
28
+ const isHitText = isHitLineText(board, element, selection.focus);
29
+ const isHit = isHitPolyLine(points, selection.focus, strokeWidth, 3) || isHitText;
30
+ const rangeRectangle = RectangleClient.toRectangleClient([selection.anchor, selection.focus]);
31
+ const isContainPolyLinePoint = points.some(point => {
32
+ return RectangleClient.isHit(rangeRectangle, RectangleClient.toRectangleClient([point, point]));
33
+ });
34
+ const isIntersect = Point.isEquals(selection.anchor, selection.focus) ? isHit : isPolylineHitRectangle(points, rangeRectangle);
35
+ return isContainPolyLinePoint || isIntersect;
36
+ }
37
+ return null;
38
+ };
39
+ export const isHitDrawElement = (board, element, point) => {
40
+ if (PlaitDrawElement.isGeometry(element)) {
41
+ const fill = getFillByElement(element);
42
+ if (fill !== DefaultGeometryStyle.fill && fill !== TRANSPARENT) {
43
+ return isRectangleHitDrawElement(board, element, { anchor: point, focus: point });
44
+ }
45
+ else {
46
+ const strokeWidth = getStrokeWidthByElement(element);
47
+ const engine = getEngine(getShape(element));
48
+ const corners = engine.getCornerPoints(getRectangleByPoints(element.points));
49
+ const isHit = isHitPolyLine(corners, point, strokeWidth, 3);
50
+ return isHit;
51
+ }
52
+ }
53
+ if (PlaitDrawElement.isImage(element) || PlaitDrawElement.isLine(element)) {
54
+ return isRectangleHitDrawElement(board, element, { anchor: point, focus: point });
55
+ }
56
+ return null;
57
+ };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdXRpbHMvaGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUF5QixzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQXFCLEVBQUUsU0FBb0IsRUFBRSxFQUFFO0lBQ3hHLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3BDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDN0c7UUFDRCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3hEO0lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDbkMsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUYsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN4RDtJQUNELElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0MsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ2xGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUYsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQy9ILE9BQU8sc0JBQXNCLElBQUksV0FBVyxDQUFDO0tBQ2hEO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQXFCLEVBQUUsS0FBWSxFQUFFLEVBQUU7SUFDdkYsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsSUFBSSxJQUFJLEtBQUssb0JBQW9CLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDNUQsT0FBTyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNyRjthQUFNO1lBQ0gsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDN0UsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0tBQ0o7SUFDRCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdkUsT0FBTyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNyRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0RWxlbWVudCwgUmVjdGFuZ2xlQ2xpZW50LCBTZWxlY3Rpb24sIFBsYWl0Qm9hcmQsIGlzUG9seWxpbmVIaXRSZWN0YW5nbGUsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVFJBTlNQQVJFTlQsIGdldFJlY3RhbmdsZUJ5UG9pbnRzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBnZXRMaW5lUG9pbnRzLCBpc0hpdExpbmVUZXh0LCBpc0hpdFBvbHlMaW5lIH0gZnJvbSAnLi9saW5lJztcbmltcG9ydCB7IGdldEZpbGxCeUVsZW1lbnQsIGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi9zdHlsZS9zdHJva2UnO1xuaW1wb3J0IHsgRGVmYXVsdEdlb21ldHJ5U3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBnZXRTaGFwZSB9IGZyb20gJy4vc2hhcGUnO1xuXG5leHBvcnQgY29uc3QgaXNSZWN0YW5nbGVIaXREcmF3RWxlbWVudCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRFbGVtZW50LCBzZWxlY3Rpb246IFNlbGVjdGlvbikgPT4ge1xuICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgICAgICBjb25zdCByYW5nZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbc2VsZWN0aW9uLmFuY2hvciwgc2VsZWN0aW9uLmZvY3VzXSk7XG4gICAgICAgIGlmIChlbGVtZW50LnRleHRIZWlnaHQgPiBjbGllbnQuaGVpZ2h0KSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Q2xpZW50ID0gZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQocmFuZ2VSZWN0YW5nbGUsIGNsaWVudCkgfHwgUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJhbmdlUmVjdGFuZ2xlLCB0ZXh0Q2xpZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJhbmdlUmVjdGFuZ2xlLCBjbGllbnQpO1xuICAgIH1cbiAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3NlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5mb2N1c10pO1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJhbmdlUmVjdGFuZ2xlLCBjbGllbnQpO1xuICAgIH1cbiAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0TGluZVBvaW50cyhib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGlzSGl0VGV4dCA9IGlzSGl0TGluZVRleHQoYm9hcmQsIGVsZW1lbnQsIHNlbGVjdGlvbi5mb2N1cyk7XG4gICAgICAgIGNvbnN0IGlzSGl0ID0gaXNIaXRQb2x5TGluZShwb2ludHMsIHNlbGVjdGlvbi5mb2N1cywgc3Ryb2tlV2lkdGgsIDMpIHx8IGlzSGl0VGV4dDtcbiAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3NlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5mb2N1c10pO1xuICAgICAgICBjb25zdCBpc0NvbnRhaW5Qb2x5TGluZVBvaW50ID0gcG9pbnRzLnNvbWUocG9pbnQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5pc0hpdChyYW5nZVJlY3RhbmdsZSwgUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtwb2ludCwgcG9pbnRdKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBpc0ludGVyc2VjdCA9IFBvaW50LmlzRXF1YWxzKHNlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5mb2N1cykgPyBpc0hpdCA6IGlzUG9seWxpbmVIaXRSZWN0YW5nbGUocG9pbnRzLCByYW5nZVJlY3RhbmdsZSk7XG4gICAgICAgIHJldHVybiBpc0NvbnRhaW5Qb2x5TGluZVBvaW50IHx8IGlzSW50ZXJzZWN0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0hpdERyYXdFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEVsZW1lbnQsIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgZmlsbCA9IGdldEZpbGxCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGlmIChmaWxsICE9PSBEZWZhdWx0R2VvbWV0cnlTdHlsZS5maWxsICYmIGZpbGwgIT09IFRSQU5TUEFSRU5UKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNSZWN0YW5nbGVIaXREcmF3RWxlbWVudChib2FyZCwgZWxlbWVudCwgeyBhbmNob3I6IHBvaW50LCBmb2N1czogcG9pbnQgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgZW5naW5lID0gZ2V0RW5naW5lKGdldFNoYXBlKGVsZW1lbnQpKTtcbiAgICAgICAgICAgIGNvbnN0IGNvcm5lcnMgPSBlbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKSk7XG4gICAgICAgICAgICBjb25zdCBpc0hpdCA9IGlzSGl0UG9seUxpbmUoY29ybmVycywgcG9pbnQsIHN0cm9rZVdpZHRoLCAzKTtcbiAgICAgICAgICAgIHJldHVybiBpc0hpdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKGVsZW1lbnQpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBpc1JlY3RhbmdsZUhpdERyYXdFbGVtZW50KGJvYXJkLCBlbGVtZW50LCB7IGFuY2hvcjogcG9pbnQsIGZvY3VzOiBwb2ludCB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59O1xuIl19
@@ -2,4 +2,5 @@ export * from './line';
2
2
  export * from './geometry';
3
3
  export * from './selected';
4
4
  export * from './style';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2dlb21ldHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHlsZSc7XG4iXX0=
5
+ export * from './hit';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2dlb21ldHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHlsZSc7XG5leHBvcnQgKiBmcm9tICcuL2hpdCc7XG4iXX0=