@plait/mind 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/base/image-base.component.d.ts +5 -3
  2. package/drawer/node-image.drawer.d.ts +3 -5
  3. package/esm2020/base/image-base.component.mjs +9 -5
  4. package/esm2020/drawer/node-image.drawer.mjs +34 -39
  5. package/esm2020/interfaces/element.mjs +1 -1
  6. package/esm2020/node.component.mjs +8 -9
  7. package/esm2020/plugins/with-abstract-resize.mjs +1 -2
  8. package/esm2020/plugins/with-mind-hotkey.mjs +3 -2
  9. package/esm2020/plugins/with-mind.mjs +5 -4
  10. package/esm2020/plugins/with-node-dnd.mjs +3 -3
  11. package/esm2020/plugins/with-node-hover-detect.mjs +16 -0
  12. package/esm2020/plugins/with-node-image.mjs +60 -0
  13. package/esm2020/plugins/with-node-resize.mjs +122 -0
  14. package/esm2020/transforms/index.mjs +3 -2
  15. package/esm2020/transforms/node.mjs +13 -2
  16. package/esm2020/utils/node/common.mjs +11 -2
  17. package/esm2020/utils/node/image.mjs +23 -0
  18. package/esm2020/utils/node/index.mjs +2 -1
  19. package/esm2020/utils/node-hover/extend.mjs +54 -0
  20. package/esm2020/utils/position/image.mjs +9 -4
  21. package/esm2020/utils/position/topic.mjs +3 -3
  22. package/esm2020/utils/space/node-space.mjs +23 -22
  23. package/fesm2015/plait-mind.mjs +328 -148
  24. package/fesm2015/plait-mind.mjs.map +1 -1
  25. package/fesm2020/plait-mind.mjs +329 -148
  26. package/fesm2020/plait-mind.mjs.map +1 -1
  27. package/interfaces/element.d.ts +1 -0
  28. package/node.component.d.ts +0 -1
  29. package/package.json +1 -1
  30. package/plugins/with-mind-hotkey.d.ts +1 -1
  31. package/plugins/with-node-hover-detect.d.ts +2 -0
  32. package/plugins/with-node-image.d.ts +2 -0
  33. package/plugins/with-node-resize.d.ts +10 -0
  34. package/styles/styles.scss +9 -2
  35. package/transforms/index.d.ts +1 -0
  36. package/transforms/node.d.ts +1 -0
  37. package/utils/node/common.d.ts +2 -0
  38. package/utils/node/image.d.ts +6 -0
  39. package/utils/node/index.d.ts +1 -0
  40. package/utils/node-hover/extend.d.ts +9 -0
  41. package/utils/space/node-space.d.ts +3 -3
  42. package/esm2020/plugins/with-mind-image.mjs +0 -49
  43. package/esm2020/plugins/with-node-hover.mjs +0 -58
  44. package/plugins/with-mind-image.d.ts +0 -2
  45. package/plugins/with-node-hover.d.ts +0 -5
@@ -12,9 +12,10 @@ import { withMindExtend } from './with-mind-extend';
12
12
  import { MindTransforms } from '../transforms';
13
13
  import { withCreateMind } from './with-mind-create';
14
14
  import { withMindHotkey } from './with-mind-hotkey';
15
- import { withNodeHover } from './with-node-hover';
15
+ import { withNodeHoverDetect } from './with-node-hover-detect';
16
16
  import { buildText, getTextFromClipboard } from '@plait/text';
17
- import { withMindImage } from './with-mind-image';
17
+ import { withNodeImage } from './with-node-image';
18
+ import { withNodeResize } from './with-node-resize';
18
19
  export const withMind = (baseBoard) => {
19
20
  const board = baseBoard;
20
21
  const { drawElement, dblclick, insertFragment, setFragment, deleteFragment, isHitSelection, getRectangle, isMovable, isRecursion } = board;
@@ -120,6 +121,6 @@ export const withMind = (baseBoard) => {
120
121
  MindTransforms.removeElements(board, selectedElements);
121
122
  deleteFragment(data);
122
123
  };
123
- return withMindImage(withNodeHover(withMindHotkey(withMindExtend(withCreateMind(withAbstract(withNodeDnd(board)))))));
124
+ return withNodeResize(withNodeImage(withNodeHoverDetect(withMindHotkey(withMindExtend(withCreateMind(withAbstract(withNodeDnd(board))))))));
124
125
  };
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixVQUFVLEVBR1YsZUFBZSxFQUNmLE9BQU8sRUFDUCxjQUFjLEVBQ2QsVUFBVSxFQUVWLG1CQUFtQixFQUVuQixrQkFBa0IsRUFDckIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1B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SSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksSUFBSSxFQUFFO29CQUNOLG1CQUFtQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDcEU7YUFDSjtTQUNKO1FBQ0QsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBeUIsRUFBRSxFQUFFO1FBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFrQixDQUFDO1FBQ3JFLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBRywyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUMzRSxjQUFjLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXZELE1BQU0sSUFBSSxHQUFHLGtDQUFrQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pFLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFcEQsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUgsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIFJhbmdlLFxuICAgIGRlcHRoRmlyc3RSZWN1cnNpb24sXG4gICAgUGxhaXRFbGVtZW50LFxuICAgIGdldElzUmVjdXJzaW9uRnVuY1xufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQbGFpdE1pbmRDb21wb25lbnQgfSBmcm9tICcuLi9taW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IGdldEZpcnN0TGV2ZWxFbGVtZW50LCBkZWxldGVFbGVtZW50SGFuZGxlQWJzdHJhY3QsIGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUsIGlzSGl0TWluZEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9ub2RlJztcbmltcG9ydCB7IHdpdGhOb2RlRG5kIH0gZnJvbSAnLi93aXRoLW5vZGUtZG5kJztcbmltcG9ydCB7IGJ1aWxkQ2xpcGJvYXJkRGF0YSwgZ2V0RGF0YUZyb21DbGlwYm9hcmQsIGluc2VydENsaXBib2FyZERhdGEsIGluc2VydENsaXBib2FyZFRleHQsIHNldENsaXBib2FyZERhdGEgfSBmcm9tICcuLi91dGlscy9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgZWRpdFRvcGljIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jb21tb24nO1xuaW1wb3J0IHsgd2l0aEFic3RyYWN0IH0gZnJvbSAnLi93aXRoLWFic3RyYWN0LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTWluZEV4dGVuZCB9IGZyb20gJy4vd2l0aC1taW5kLWV4dGVuZCc7XG5pbXBvcnQgeyBNaW5kVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgd2l0aENyZWF0ZU1pbmQgfSBmcm9tICcuL3dpdGgtbWluZC1jcmVhdGUnO1xuaW1wb3J0IHsgd2l0aE1pbmRIb3RrZXkgfSBmcm9tICcuL3dpdGgtbWluZC1ob3RrZXknO1xuaW1wb3J0IHsgd2l0aE5vZGVIb3ZlciB9IGZyb20gJy4vd2l0aC1ub2RlLWhvdmVyJztcbmltcG9ydCB7IGJ1aWxkVGV4dCwgZ2V0VGV4dEZyb21DbGlwYm9hcmQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyB3aXRoTWluZEltYWdlIH0gZnJvbSAnLi93aXRoLW1pbmQtaW1hZ2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTWluZCA9IChiYXNlQm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBib2FyZCA9IGJhc2VCb2FyZCBhcyBQbGFpdEJvYXJkICYgUGxhaXRNaW5kQm9hcmQ7XG4gICAgY29uc3Qge1xuICAgICAgICBkcmF3RWxlbWVudCxcbiAgICAgICAgZGJsY2xpY2ssXG4gICAgICAgIGluc2VydEZyYWdtZW50LFxuICAgICAgICBzZXRGcmFnbWVudCxcbiAgICAgICAgZGVsZXRlRnJhZ21lbnQsXG4gICAgICAgIGlzSGl0U2VsZWN0aW9uLFxuICAgICAgICBnZXRSZWN0YW5nbGUsXG4gICAgICAgIGlzTW92YWJsZSxcbiAgICAgICAgaXNSZWN1cnNpb25cbiAgICB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdE1pbmRDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIE1pbmROb2RlQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuYXBwbHlUaGVtZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgbWluZEVsZW1lbnQgPSBlbGVtZW50IGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBjb25zdCBzaG91bGRDbGVhclByb3BlcnR5ID1cbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzQm9hcmQoZWxlbWVudCkgJiYgKG1pbmRFbGVtZW50Py5icmFuY2hDb2xvciB8fCBtaW5kRWxlbWVudD8uZmlsbCB8fCBtaW5kRWxlbWVudD8uc3Ryb2tlQ29sb3IpO1xuICAgICAgICBpZiAoc2hvdWxkQ2xlYXJQcm9wZXJ0eSkge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IGZpbGw6IG51bGwsIHN0cm9rZUNvbG9yOiBudWxsLCBicmFuY2hDb2xvcjogbnVsbCB9LCBwYXRoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBib2FyZC5nZXRSZWN0YW5nbGUgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlQnlOb2RlKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzUmVjdXJzaW9uID0gZWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSAmJiBlbGVtZW50LmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzUmVjdXJzaW9uKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0hpdFNlbGVjdGlvbiA9IChlbGVtZW50LCByYW5nZTogUmFuZ2UpID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBjbGllbnQgPSBnZXRSZWN0YW5nbGVCeU5vZGUoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSk7XG4gICAgICAgICAgICBjb25zdCBpc0hpdCA9IFJlY3RhbmdsZUNsaWVudC5pc0hpdChSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3JhbmdlLmFuY2hvciwgcmFuZ2UuZm9jdXNdKSwgY2xpZW50KTtcbiAgICAgICAgICAgIHJldHVybiBpc0hpdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNIaXRTZWxlY3Rpb24oZWxlbWVudCwgcmFuZ2UpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc01vdmFibGUgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgZWxlbWVudC5pc1Jvb3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc01vdmFibGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmRibGNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBkYmxjbGljayhldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGJvYXJkLmNoaWxkcmVuXG4gICAgICAgICAgICAuZmlsdGVyKHZhbHVlID0+IFBsYWl0TWluZC5pc01pbmQodmFsdWUpKVxuICAgICAgICAgICAgLmZvckVhY2gobWluZE1hcCA9PiB7XG4gICAgICAgICAgICAgICAgZGVwdGhGaXJzdFJlY3Vyc2lvbjxNaW5kRWxlbWVudD4oXG4gICAgICAgICAgICAgICAgICAgIG1pbmRNYXAgYXMgTWluZEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkgJiYgaXNIaXRNaW5kRWxlbWVudChib2FyZCwgcG9pbnQsIG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdFRvcGljKG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBnZXRJc1JlY3Vyc2lvbkZ1bmMoYm9hcmQpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGJsY2xpY2soZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5zZXRGcmFnbWVudCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudChnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKSBhcyBNaW5kRWxlbWVudFtdKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGJ1aWxkQ2xpcGJvYXJkRGF0YShib2FyZCwgc2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgICAgICBzZXRDbGlwYm9hcmREYXRhKGRhdGEsIGVsZW1lbnRzKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRGcmFnbWVudChkYXRhKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaW5zZXJ0RnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwgdGFyZ2V0UG9pbnQ/OiBQb2ludCkgPT4ge1xuICAgICAgICBpZiAoYm9hcmQub3B0aW9ucy5yZWFkb25seSkge1xuICAgICAgICAgICAgaW5zZXJ0RnJhZ21lbnQoZGF0YSwgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZ2V0RGF0YUZyb21DbGlwYm9hcmQoZGF0YSk7XG4gICAgICAgIGlmIChlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGluc2VydENsaXBib2FyZERhdGEoYm9hcmQsIGVsZW1lbnRzLCB0YXJnZXRQb2ludCB8fCBbMCwgMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dCA9IGdldFRleHRGcm9tQ2xpcGJvYXJkKGRhdGEpO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGluc2VydENsaXBib2FyZFRleHQoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHNbMF0sIGJ1aWxkVGV4dCh0ZXh0KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIHRhcmdldFBvaW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGVsZXRlRnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICAgICAgY29uc3QgZGVsZXRhYmxlRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudChzZWxlY3RlZEVsZW1lbnRzKS5yZXZlcnNlKCk7XG4gICAgICAgIGNvbnN0IGFic3RyYWN0UmVmcyA9IGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgZGVsZXRhYmxlRWxlbWVudHMpO1xuICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRBYnN0cmFjdHNCeVJlZnMoYm9hcmQsIGFic3RyYWN0UmVmcyk7XG5cbiAgICAgICAgY29uc3QgcmVmcyA9IGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRSaWdodE5vZGVDb3VudEJ5UmVmcyhib2FyZCwgcmVmcyk7XG5cbiAgICAgICAgTWluZFRyYW5zZm9ybXMucmVtb3ZlRWxlbWVudHMoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICBkZWxldGVGcmFnbWVudChkYXRhKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhNaW5kSW1hZ2Uod2l0aE5vZGVIb3Zlcih3aXRoTWluZEhvdGtleSh3aXRoTWluZEV4dGVuZCh3aXRoQ3JlYXRlTWluZCh3aXRoQWJzdHJhY3Qod2l0aE5vZGVEbmQoYm9hcmQpKSkpKSkpO1xufTtcbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixVQUFVLEVBR1YsZUFBZSxFQUNmLE9BQU8sRUFDUCxjQUFjLEVBQ2QsVUFBVSxFQUVWLG1CQUFtQixFQUVuQixrQkFBa0IsRUFDckIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1B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dCI6WyJpbXBvcnQge1xuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIFBvaW50LFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICB0b1BvaW50LFxuICAgIHRyYW5zZm9ybVBvaW50LFxuICAgIFRyYW5zZm9ybXMsXG4gICAgUmFuZ2UsXG4gICAgZGVwdGhGaXJzdFJlY3Vyc2lvbixcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgZ2V0SXNSZWN1cnNpb25GdW5jXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBsYWl0TWluZENvbXBvbmVudCB9IGZyb20gJy4uL21pbmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1pbmROb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0Rmlyc3RMZXZlbEVsZW1lbnQsIGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdCwgZGVsZXRlRWxlbWVudHNIYW5kbGVSaWdodE5vZGVDb3VudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSwgaXNIaXRNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgd2l0aE5vZGVEbmQgfSBmcm9tICcuL3dpdGgtbm9kZS1kbmQnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCBnZXREYXRhRnJvbUNsaXBib2FyZCwgaW5zZXJ0Q2xpcGJvYXJkRGF0YSwgaW5zZXJ0Q2xpcGJvYXJkVGV4dCwgc2V0Q2xpcGJvYXJkRGF0YSB9IGZyb20gJy4uL3V0aWxzL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBlZGl0VG9waWMgfSBmcm9tICcuLi91dGlscy9ub2RlL2NvbW1vbic7XG5pbXBvcnQgeyB3aXRoQWJzdHJhY3QgfSBmcm9tICcuL3dpdGgtYWJzdHJhY3QtcmVzaXplJztcbmltcG9ydCB7IHdpdGhNaW5kRXh0ZW5kIH0gZnJvbSAnLi93aXRoLW1pbmQtZXh0ZW5kJztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyB3aXRoQ3JlYXRlTWluZCB9IGZyb20gJy4vd2l0aC1taW5kLWNyZWF0ZSc7XG5pbXBvcnQgeyB3aXRoTWluZEhvdGtleSB9IGZyb20gJy4vd2l0aC1taW5kLWhvdGtleSc7XG5pbXBvcnQgeyB3aXRoTm9kZUhvdmVyRGV0ZWN0IH0gZnJvbSAnLi93aXRoLW5vZGUtaG92ZXItZGV0ZWN0JztcbmltcG9ydCB7IGJ1aWxkVGV4dCwgZ2V0VGV4dEZyb21DbGlwYm9hcmQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyB3aXRoTm9kZUltYWdlIH0gZnJvbSAnLi93aXRoLW5vZGUtaW1hZ2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyB3aXRoTm9kZVJlc2l6ZSB9IGZyb20gJy4vd2l0aC1ub2RlLXJlc2l6ZSc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTWluZCA9IChiYXNlQm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBib2FyZCA9IGJhc2VCb2FyZCBhcyBQbGFpdEJvYXJkICYgUGxhaXRNaW5kQm9hcmQ7XG4gICAgY29uc3Qge1xuICAgICAgICBkcmF3RWxlbWVudCxcbiAgICAgICAgZGJsY2xpY2ssXG4gICAgICAgIGluc2VydEZyYWdtZW50LFxuICAgICAgICBzZXRGcmFnbWVudCxcbiAgICAgICAgZGVsZXRlRnJhZ21lbnQsXG4gICAgICAgIGlzSGl0U2VsZWN0aW9uLFxuICAgICAgICBnZXRSZWN0YW5nbGUsXG4gICAgICAgIGlzTW92YWJsZSxcbiAgICAgICAgaXNSZWN1cnNpb25cbiAgICB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdE1pbmRDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIE1pbmROb2RlQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuYXBwbHlUaGVtZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgbWluZEVsZW1lbnQgPSBlbGVtZW50IGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBjb25zdCBzaG91bGRDbGVhclByb3BlcnR5ID1cbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzQm9hcmQoZWxlbWVudCkgJiYgKG1pbmRFbGVtZW50Py5icmFuY2hDb2xvciB8fCBtaW5kRWxlbWVudD8uZmlsbCB8fCBtaW5kRWxlbWVudD8uc3Ryb2tlQ29sb3IpO1xuICAgICAgICBpZiAoc2hvdWxkQ2xlYXJQcm9wZXJ0eSkge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IGZpbGw6IG51bGwsIHN0cm9rZUNvbG9yOiBudWxsLCBicmFuY2hDb2xvcjogbnVsbCB9LCBwYXRoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBib2FyZC5nZXRSZWN0YW5nbGUgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlQnlOb2RlKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzUmVjdXJzaW9uID0gZWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSAmJiBlbGVtZW50LmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzUmVjdXJzaW9uKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0hpdFNlbGVjdGlvbiA9IChlbGVtZW50LCByYW5nZTogUmFuZ2UpID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBjbGllbnQgPSBnZXRSZWN0YW5nbGVCeU5vZGUoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSk7XG4gICAgICAgICAgICBjb25zdCBpc0hpdCA9IFJlY3RhbmdsZUNsaWVudC5pc0hpdChSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3JhbmdlLmFuY2hvciwgcmFuZ2UuZm9jdXNdKSwgY2xpZW50KTtcbiAgICAgICAgICAgIHJldHVybiBpc0hpdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNIaXRTZWxlY3Rpb24oZWxlbWVudCwgcmFuZ2UpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc01vdmFibGUgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgZWxlbWVudC5pc1Jvb3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc01vdmFibGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmRibGNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBkYmxjbGljayhldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGJvYXJkLmNoaWxkcmVuXG4gICAgICAgICAgICAuZmlsdGVyKHZhbHVlID0+IFBsYWl0TWluZC5pc01pbmQodmFsdWUpKVxuICAgICAgICAgICAgLmZvckVhY2gobWluZE1hcCA9PiB7XG4gICAgICAgICAgICAgICAgZGVwdGhGaXJzdFJlY3Vyc2lvbjxNaW5kRWxlbWVudD4oXG4gICAgICAgICAgICAgICAgICAgIG1pbmRNYXAgYXMgTWluZEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkgJiYgaXNIaXRNaW5kRWxlbWVudChib2FyZCwgcG9pbnQsIG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdFRvcGljKG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBnZXRJc1JlY3Vyc2lvbkZ1bmMoYm9hcmQpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGJsY2xpY2soZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5zZXRGcmFnbWVudCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudChnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKSBhcyBNaW5kRWxlbWVudFtdKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGJ1aWxkQ2xpcGJvYXJkRGF0YShib2FyZCwgc2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgICAgICBzZXRDbGlwYm9hcmREYXRhKGRhdGEsIGVsZW1lbnRzKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRGcmFnbWVudChkYXRhKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaW5zZXJ0RnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwgdGFyZ2V0UG9pbnQ/OiBQb2ludCkgPT4ge1xuICAgICAgICBpZiAoYm9hcmQub3B0aW9ucy5yZWFkb25seSkge1xuICAgICAgICAgICAgaW5zZXJ0RnJhZ21lbnQoZGF0YSwgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZ2V0RGF0YUZyb21DbGlwYm9hcmQoZGF0YSk7XG4gICAgICAgIGlmIChlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGluc2VydENsaXBib2FyZERhdGEoYm9hcmQsIGVsZW1lbnRzLCB0YXJnZXRQb2ludCB8fCBbMCwgMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dCA9IGdldFRleHRGcm9tQ2xpcGJvYXJkKGRhdGEpO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGluc2VydENsaXBib2FyZFRleHQoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHNbMF0sIGJ1aWxkVGV4dCh0ZXh0KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIHRhcmdldFBvaW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGVsZXRlRnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICAgICAgY29uc3QgZGVsZXRhYmxlRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudChzZWxlY3RlZEVsZW1lbnRzKS5yZXZlcnNlKCk7XG4gICAgICAgIGNvbnN0IGFic3RyYWN0UmVmcyA9IGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgZGVsZXRhYmxlRWxlbWVudHMpO1xuICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRBYnN0cmFjdHNCeVJlZnMoYm9hcmQsIGFic3RyYWN0UmVmcyk7XG5cbiAgICAgICAgY29uc3QgcmVmcyA9IGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRSaWdodE5vZGVDb3VudEJ5UmVmcyhib2FyZCwgcmVmcyk7XG5cbiAgICAgICAgTWluZFRyYW5zZm9ybXMucmVtb3ZlRWxlbWVudHMoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICBkZWxldGVGcmFnbWVudChkYXRhKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhOb2RlUmVzaXplKHdpdGhOb2RlSW1hZ2Uod2l0aE5vZGVIb3ZlckRldGVjdCh3aXRoTWluZEhvdGtleSh3aXRoTWluZEV4dGVuZCh3aXRoQ3JlYXRlTWluZCh3aXRoQWJzdHJhY3Qod2l0aE5vZGVEbmQoYm9hcmQpKSkpKSkpKTtcbn07XG4iXX0=
@@ -45,11 +45,11 @@ export const withNodeDnd = (board) => {
45
45
  activeElements = [targetElement];
46
46
  startPoint = point;
47
47
  }
48
- event.preventDefault();
49
48
  }
50
49
  if (activeElements.length) {
51
- correspondingElements = getOverallAbstracts(board, activeElements);
50
+ // prevent text from being selected
52
51
  event.preventDefault();
52
+ correspondingElements = getOverallAbstracts(board, activeElements);
53
53
  }
54
54
  mousedown(event);
55
55
  };
@@ -177,4 +177,4 @@ export const withNodeDnd = (board) => {
177
177
  };
178
178
  return board;
179
179
  };
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWRuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWRuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLElBQUksRUFDSixVQUFVLEVBRVYsT0FBTyxFQUNQLGNBQWMsRUFDZCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsU0FBUyxFQUNULGdCQUFnQixFQUNoQixjQUFjLEVBRWQsYUFBYSxFQUNoQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3BELE9BQU8sRUFDSCwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsaUNBQWlDLEVBQ3BDLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxXQUFX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QUFFLENBQUM7WUFDeEIsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUMxQixhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEIsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUMxQixVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludCxcbiAgICBQYXRoLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgZGVwdGhGaXJzdFJlY3Vyc2lvbixcbiAgICBjcmVhdGVHLFxuICAgIFBsYWl0Tm9kZSxcbiAgICBQbGFpdFBvaW50ZXJUeXBlLFxuICAgIGdldEhpdEVsZW1lbnRzLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBpc01haW5Qb2ludGVyXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSwgZ2V0Tm9uQWJzdHJhY3RDaGlsZHJlbiB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IERldGVjdFJlc3VsdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5cbmltcG9ydCB7XG4gICAgZGVsZXRlRWxlbWVudEhhbmRsZUFic3RyYWN0LFxuICAgIGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQsXG4gICAgZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0LFxuICAgIGdldEZpcnN0TGV2ZWxFbGVtZW50LFxuICAgIGdldE92ZXJhbGxBYnN0cmFjdHMsXG4gICAgZ2V0VmFsaWRBYnN0cmFjdFJlZnMsXG4gICAgaW5zZXJ0RWxlbWVudEhhbmRsZUFic3RyYWN0LFxuICAgIGluc2VydEVsZW1lbnRIYW5kbGVSaWdodE5vZGVDb3VudFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBhZGRBY3RpdmVPbkRyYWdPcmlnaW4sIGlzRHJhZ2dpbmcsIGlzRHJvcFN0YW5kYXJkUmlnaHQsIHJlbW92ZUFjdGl2ZU9uRHJhZ09yaWdpbiwgc2V0SXNEcmFnZ2luZyB9IGZyb20gJy4uL3V0aWxzL2RuZC9jb21tb24nO1xuaW1wb3J0IHsgZGV0ZWN0RHJvcFRhcmdldCwgZ2V0UGF0aEJ5RHJvcFRhcmdldCB9IGZyb20gJy4uL3V0aWxzL2RuZC9kZXRlY3Rvcic7XG5pbXBvcnQgeyBkcmF3RmFrZURyYWdOb2RlLCBkcmF3RmFrZURyb3BOb2RlIH0gZnJvbSAnLi4vdXRpbHMvZHJhdy9ub2RlLWRuZCc7XG5pbXBvcnQgeyBNaW5kVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgYWRqdXN0QWJzdHJhY3RUb05vZGUgfSBmcm9tICcuLi91dGlscy9ub2RlL2FkanVzdC1ub2RlJztcblxuY29uc3QgRFJBR19NT1ZFX0JVRkZFUiA9IDU7XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZURuZCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgbW91c2Vkb3duLCBtb3VzZW1vdmUsIGdsb2JhbE1vdXNldXAgfSA9IGJvYXJkO1xuXG4gICAgbGV0IGFjdGl2ZUVsZW1lbnRzOiBNaW5kRWxlbWVudFtdID0gW107XG4gICAgbGV0IGNvcnJlc3BvbmRpbmdFbGVtZW50czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgIGxldCBzdGFydFBvaW50OiBQb2ludDtcbiAgICBsZXQgZHJhZ0Zha2VOb2RlRzogU1ZHR0VsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGZha2VEcm9wTm9kZUc6IFNWR0dFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGxldCBkcm9wVGFyZ2V0OiB7IHRhcmdldDogTWluZEVsZW1lbnQ7IGRldGVjdFJlc3VsdDogRGV0ZWN0UmVzdWx0IH0gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdGFyZ2V0UGF0aDogUGF0aDtcblxuICAgIGJvYXJkLm1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpIHx8XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkgfHxcbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pIHx8XG4gICAgICAgICAgICAhaXNNYWluUG9pbnRlcihldmVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgY29uc3QgaGl0VGFyZ2V0ID0gZ2V0SGl0RWxlbWVudHMoYm9hcmQsIHsgcmFuZ2VzOiBbeyBhbmNob3I6IHBvaW50LCBmb2N1czogcG9pbnQgfV0gfSwgKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gaGl0VGFyZ2V0ICYmIGhpdFRhcmdldC5sZW5ndGggPT09IDEgPyBoaXRUYXJnZXRbMF0gOiBudWxsO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ICYmXG4gICAgICAgICAgICBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCB0YXJnZXRFbGVtZW50KSAmJlxuICAgICAgICAgICAgIXRhcmdldEVsZW1lbnQuaXNSb290ICYmXG4gICAgICAgICAgICAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QodGFyZ2V0RWxlbWVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50cyA9IHNlbGVjdGVkRWxlbWVudHMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIGVsZW1lbnQgPT4gTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkgJiYgIWVsZW1lbnQuaXNSb290ICYmICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KVxuICAgICAgICAgICAgKSBhcyBNaW5kRWxlbWVudFtdO1xuICAgICAgICAgICAgY29uc3QgaXNNdWx0aXBsZSA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50cyA9IHRhcmdldEVsZW1lbnRzO1xuICAgICAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBbdGFyZ2V0RWxlbWVudF07XG4gICAgICAgICAgICAgICAgc3RhcnRQb2ludCA9IHBvaW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhY3RpdmVFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvcnJlc3BvbmRpbmdFbGVtZW50cyA9IGdldE92ZXJhbGxBYnN0cmFjdHMoYm9hcmQsIGFjdGl2ZUVsZW1lbnRzKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5tb3VzZW1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFib2FyZC5vcHRpb25zLnJlYWRvbmx5ICYmIGFjdGl2ZUVsZW1lbnRzPy5sZW5ndGggJiYgc3RhcnRQb2ludCkge1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoc3RhcnRQb2ludFswXSwgc3RhcnRQb2ludFsxXSwgZW5kUG9pbnRbMF0sIGVuZFBvaW50WzFdKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA8IERSQUdfTU9WRV9CVUZGRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldElzRHJhZ2dpbmcoYm9hcmQsIHRydWUpO1xuXG4gICAgICAgICAgICBmYWtlRHJvcE5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGNvbnN0IGRldGVjdFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgZHJvcFRhcmdldCA9IGRldGVjdERyb3BUYXJnZXQoYm9hcmQsIGRldGVjdFBvaW50LCBkcm9wVGFyZ2V0LCBbLi4uYWN0aXZlRWxlbWVudHMsIC4uLmNvcnJlc3BvbmRpbmdFbGVtZW50c10pO1xuICAgICAgICAgICAgaWYgKGRyb3BUYXJnZXQ/LnRhcmdldCkge1xuICAgICAgICAgICAgICAgIHRhcmdldFBhdGggPSBnZXRQYXRoQnlEcm9wVGFyZ2V0KGJvYXJkLCBkcm9wVGFyZ2V0KTtcblxuICAgICAgICAgICAgICAgIGZha2VEcm9wTm9kZUcgPSBkcmF3RmFrZURyb3BOb2RlKGJvYXJkLCBkcm9wVGFyZ2V0LCB0YXJnZXRQYXRoKTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZENoaWxkKGZha2VEcm9wTm9kZUcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBvZmZzZXRYID0gZW5kUG9pbnRbMF0gLSBzdGFydFBvaW50WzBdO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IGVuZFBvaW50WzFdIC0gc3RhcnRQb2ludFsxXTtcbiAgICAgICAgICAgIGRyYWdGYWtlTm9kZUc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgZHJhZ0Zha2VOb2RlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgICAgIFsuLi5hY3RpdmVFbGVtZW50cywgLi4uY29ycmVzcG9uZGluZ0VsZW1lbnRzXS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgIGFkZEFjdGl2ZU9uRHJhZ09yaWdpbihlbGVtZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYWN0aXZlRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlRyA9IGRyYXdGYWtlRHJhZ05vZGUoYm9hcmQsIGVsZW1lbnQsIG9mZnNldFgsIG9mZnNldFkpO1xuICAgICAgICAgICAgICAgIGRyYWdGYWtlTm9kZUc/LmFwcGVuZENoaWxkKG5vZGVHKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZENoaWxkKGRyYWdGYWtlTm9kZUcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbW91c2Vtb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsTW91c2V1cCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdExldmVsRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudChhY3RpdmVFbGVtZW50cyk7XG4gICAgICAgIGlmICghYm9hcmQub3B0aW9ucy5yZWFkb25seSAmJiBmaXJzdExldmVsRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBmaXJzdExldmVsRWxlbWVudHMucHVzaCguLi5jb3JyZXNwb25kaW5nRWxlbWVudHMpO1xuICAgICAgICAgICAgaWYgKGlzRHJhZ2dpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgZmlyc3RMZXZlbEVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZUFjdGl2ZU9uRHJhZ09yaWdpbihlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkcm9wVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0UGF0aFJlZiA9IGJvYXJkLnBhdGhSZWYodGFyZ2V0UGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0UHJldmlvdXNQYXRoUmVmID0gUGF0aC5oYXNQcmV2aW91cyh0YXJnZXRQYXRoKSAmJiBib2FyZC5wYXRoUmVmKFBhdGgucHJldmlvdXModGFyZ2V0UGF0aCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRQYXRoUmVmID0gYm9hcmQucGF0aFJlZihQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBkcm9wVGFyZ2V0LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgIGxldCBhYnN0cmFjdFJlZnMgPSBnZXRWYWxpZEFic3RyYWN0UmVmcyhib2FyZCwgZmlyc3RMZXZlbEVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxFbGVtZW50cyA9IGZpcnN0TGV2ZWxFbGVtZW50c1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gIWFic3RyYWN0UmVmcy5zb21lKHJlZnMgPT4gcmVmcy5hYnN0cmFjdCA9PT0gZWxlbWVudCkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWRqdXN0QWJzdHJhY3RUb05vZGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNQcmV2aW91c05vZGUgPSB0YXJnZXRQYXRoW3RhcmdldFBhdGgubGVuZ3RoIC0gMV0gIT09IDA7XG4gICAgICAgICAgICAgICAgaWYgKGhhc1ByZXZpb3VzTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c0VsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHRhcmdldFBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29ycmVzcG9uZGluZ0Fic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KHByZXZpb3VzRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEhhc0NvcnJlc3BvbmRBYnN0cmFjdCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgY29ycmVzcG9uZGluZ0Fic3RyYWN0LmVuZCAhPT0gdGFyZ2V0UGF0aFt0YXJnZXRQYXRoLmxlbmd0aCAtIDFdIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldEhhc0NvcnJlc3BvbmRBYnN0cmFjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRqdXN0ZWROb2RlID0gYWJzdHJhY3RSZWZzLm1hcChyZWYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGp1c3RBYnN0cmFjdFRvTm9kZShyZWYuYWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxFbGVtZW50cy5wdXNoKC4uLmFkanVzdGVkTm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhYnN0cmFjdFJlZnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGVmZmVjdGVkQWJzdHJhY3RzID0gZGVsZXRlRWxlbWVudEhhbmRsZUFic3RyYWN0KGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgdGFyZ2V0UGF0aCwgbm9ybWFsRWxlbWVudHMubGVuZ3RoLCBmYWxzZSwgZWZmZWN0ZWRBYnN0cmFjdHMpO1xuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldEFic3RyYWN0c0J5UmVmcyhib2FyZCwgZWZmZWN0ZWRBYnN0cmFjdHMpO1xuXG4gICAgICAgICAgICAgICAgbGV0IHJlZnMgPSBkZWxldGVFbGVtZW50c0hhbmRsZVJpZ2h0Tm9kZUNvdW50KGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucGFyZW50KHRhcmdldFBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRDaGFuZ2VSb290ID0gaXNEcm9wU3RhbmRhcmRSaWdodChwYXJlbnQsIGRyb3BUYXJnZXQpO1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRDaGFuZ2VSb290ICYmIHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmcyA9IGluc2VydEVsZW1lbnRIYW5kbGVSaWdodE5vZGVDb3VudChib2FyZCwgdGFyZ2V0RWxlbWVudFBhdGhSZWYuY3VycmVudC5zbGljZSgwLCAxKSwgbm9ybWFsRWxlbWVudHMubGVuZ3RoLCByZWZzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRSaWdodE5vZGVDb3VudEJ5UmVmcyhib2FyZCwgcmVmcyk7XG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMucmVtb3ZlRWxlbWVudHMoYm9hcmQsIGZpcnN0TGV2ZWxFbGVtZW50cyk7XG5cbiAgICAgICAgICAgICAgICBsZXQgaW5zZXJ0UGF0aCA9IHRhcmdldFBhdGhSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRQYXRoID0gUGF0aC5wYXJlbnQodGFyZ2V0UGF0aFJlZi5jdXJyZW50IHx8IHRhcmdldFBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICghaW5zZXJ0UGF0aCkge1xuICAgICAgICAgICAgICAgICAgICAvL+W9k+aPkuWFpeS9jee9ruWSjOmAieS4reiKgueCueS9jee9ruebuOWQjOaXtu+8jOS9v+eUqOiusOW9leeahCBwcmV2aW91c1BhdGhcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQYXRoID0gdGFyZ2V0UHJldmlvdXNQYXRoUmVmICYmIHRhcmdldFByZXZpb3VzUGF0aFJlZi51bnJlZigpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRQYXRoID0gUGF0aC5uZXh0KHByZXZpb3VzUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXJlbnRQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZ2V0Tm9uQWJzdHJhY3RDaGlsZHJlbihwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0UGF0aCA9IFsuLi5wYXJlbnRQYXRoLCBjaGlsZHJlbi5sZW5ndGggfHwgMF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5pbnNlcnROb2Rlcyhib2FyZCwgbm9ybWFsRWxlbWVudHMsIGluc2VydFBhdGgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFic3RyYWN0UmVmcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0QWJzdHJhY3ROb2Rlcyhib2FyZCwgYWJzdHJhY3RSZWZzLCBub3JtYWxFbGVtZW50cywgaW5zZXJ0UGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50UGF0aFJlZi5jdXJyZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFBhdGhSZWYuY3VycmVudCAmJlxuICAgICAgICAgICAgICAgICAgICBQYXRoLmlzQW5jZXN0b3IodGFyZ2V0RWxlbWVudFBhdGhSZWYuY3VycmVudCwgdGFyZ2V0UGF0aFJlZi5jdXJyZW50KSAmJlxuICAgICAgICAgICAgICAgICAgICBkcm9wVGFyZ2V0LnRhcmdldC5pc0NvbGxhcHNlZFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgaXNDb2xsYXBzZWQ6IGZhbHNlIH0sIHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50UGF0aFJlZi51bnJlZigpO1xuICAgICAgICAgICAgICAgIHRhcmdldFBhdGhSZWYudW5yZWYoKTtcblxuICAgICAgICAgICAgICAgIGxldCBzZXRBY3RpdmVFbGVtZW50czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgICAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb24oKGJvYXJkIGFzIHVua25vd24pIGFzIE1pbmRFbGVtZW50LCBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IGFjdGl2ZUVsZW1lbnRzLnNvbWUoZWxlbWVudCA9PiBlbGVtZW50LmlkID09PSBub2RlLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEFjdGl2ZUVsZW1lbnRzLnB1c2gobm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBzZXRBY3RpdmVFbGVtZW50cyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldElzRHJhZ2dpbmcoYm9hcmQsIGZhbHNlKTtcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gW107XG4gICAgICAgICAgICBkcmFnRmFrZU5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGRyYWdGYWtlTm9kZUcgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBmYWtlRHJvcE5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGZha2VEcm9wTm9kZUcgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBkcm9wVGFyZ2V0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxNb3VzZXVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWRuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWRuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLElBQUksRUFDSixVQUFVLEVBRVYsT0FBTyxFQUNQLGNBQWMsRUFDZCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsU0FBUyxFQUNULGdCQUFnQixFQUNoQixjQUFjLEVBRWQsYUFBYSxFQUNoQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3BELE9BQU8sRUFDSCwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsaUNBQWlDLEVBQ3BDLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxXQUFX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YSxHQUFHLFNBQVMsQ0FBQztZQUMxQixhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEIsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUMxQixVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludCxcbiAgICBQYXRoLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgZGVwdGhGaXJzdFJlY3Vyc2lvbixcbiAgICBjcmVhdGVHLFxuICAgIFBsYWl0Tm9kZSxcbiAgICBQbGFpdFBvaW50ZXJUeXBlLFxuICAgIGdldEhpdEVsZW1lbnRzLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBpc01haW5Qb2ludGVyXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSwgZ2V0Tm9uQWJzdHJhY3RDaGlsZHJlbiB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IERldGVjdFJlc3VsdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5cbmltcG9ydCB7XG4gICAgZGVsZXRlRWxlbWVudEhhbmRsZUFic3RyYWN0LFxuICAgIGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQsXG4gICAgZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0LFxuICAgIGdldEZpcnN0TGV2ZWxFbGVtZW50LFxuICAgIGdldE92ZXJhbGxBYnN0cmFjdHMsXG4gICAgZ2V0VmFsaWRBYnN0cmFjdFJlZnMsXG4gICAgaW5zZXJ0RWxlbWVudEhhbmRsZUFic3RyYWN0LFxuICAgIGluc2VydEVsZW1lbnRIYW5kbGVSaWdodE5vZGVDb3VudFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBhZGRBY3RpdmVPbkRyYWdPcmlnaW4sIGlzRHJhZ2dpbmcsIGlzRHJvcFN0YW5kYXJkUmlnaHQsIHJlbW92ZUFjdGl2ZU9uRHJhZ09yaWdpbiwgc2V0SXNEcmFnZ2luZyB9IGZyb20gJy4uL3V0aWxzL2RuZC9jb21tb24nO1xuaW1wb3J0IHsgZGV0ZWN0RHJvcFRhcmdldCwgZ2V0UGF0aEJ5RHJvcFRhcmdldCB9IGZyb20gJy4uL3V0aWxzL2RuZC9kZXRlY3Rvcic7XG5pbXBvcnQgeyBkcmF3RmFrZURyYWdOb2RlLCBkcmF3RmFrZURyb3BOb2RlIH0gZnJvbSAnLi4vdXRpbHMvZHJhdy9ub2RlLWRuZCc7XG5pbXBvcnQgeyBNaW5kVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgYWRqdXN0QWJzdHJhY3RUb05vZGUgfSBmcm9tICcuLi91dGlscy9ub2RlL2FkanVzdC1ub2RlJztcblxuY29uc3QgRFJBR19NT1ZFX0JVRkZFUiA9IDU7XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZURuZCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgbW91c2Vkb3duLCBtb3VzZW1vdmUsIGdsb2JhbE1vdXNldXAgfSA9IGJvYXJkO1xuXG4gICAgbGV0IGFjdGl2ZUVsZW1lbnRzOiBNaW5kRWxlbWVudFtdID0gW107XG4gICAgbGV0IGNvcnJlc3BvbmRpbmdFbGVtZW50czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgIGxldCBzdGFydFBvaW50OiBQb2ludDtcbiAgICBsZXQgZHJhZ0Zha2VOb2RlRzogU1ZHR0VsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGZha2VEcm9wTm9kZUc6IFNWR0dFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGxldCBkcm9wVGFyZ2V0OiB7IHRhcmdldDogTWluZEVsZW1lbnQ7IGRldGVjdFJlc3VsdDogRGV0ZWN0UmVzdWx0IH0gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdGFyZ2V0UGF0aDogUGF0aDtcblxuICAgIGJvYXJkLm1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpIHx8XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkgfHxcbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pIHx8XG4gICAgICAgICAgICAhaXNNYWluUG9pbnRlcihldmVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgY29uc3QgaGl0VGFyZ2V0ID0gZ2V0SGl0RWxlbWVudHMoYm9hcmQsIHsgcmFuZ2VzOiBbeyBhbmNob3I6IHBvaW50LCBmb2N1czogcG9pbnQgfV0gfSwgKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gaGl0VGFyZ2V0ICYmIGhpdFRhcmdldC5sZW5ndGggPT09IDEgPyBoaXRUYXJnZXRbMF0gOiBudWxsO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ICYmXG4gICAgICAgICAgICBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCB0YXJnZXRFbGVtZW50KSAmJlxuICAgICAgICAgICAgIXRhcmdldEVsZW1lbnQuaXNSb290ICYmXG4gICAgICAgICAgICAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QodGFyZ2V0RWxlbWVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50cyA9IHNlbGVjdGVkRWxlbWVudHMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIGVsZW1lbnQgPT4gTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkgJiYgIWVsZW1lbnQuaXNSb290ICYmICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KVxuICAgICAgICAgICAgKSBhcyBNaW5kRWxlbWVudFtdO1xuICAgICAgICAgICAgY29uc3QgaXNNdWx0aXBsZSA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50cyA9IHRhcmdldEVsZW1lbnRzO1xuICAgICAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBbdGFyZ2V0RWxlbWVudF07XG4gICAgICAgICAgICAgICAgc3RhcnRQb2ludCA9IHBvaW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gcHJldmVudCB0ZXh0IGZyb20gYmVpbmcgc2VsZWN0ZWRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb3JyZXNwb25kaW5nRWxlbWVudHMgPSBnZXRPdmVyYWxsQWJzdHJhY3RzKGJvYXJkLCBhY3RpdmVFbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5tb3VzZW1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFib2FyZC5vcHRpb25zLnJlYWRvbmx5ICYmIGFjdGl2ZUVsZW1lbnRzPy5sZW5ndGggJiYgc3RhcnRQb2ludCkge1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoc3RhcnRQb2ludFswXSwgc3RhcnRQb2ludFsxXSwgZW5kUG9pbnRbMF0sIGVuZFBvaW50WzFdKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA8IERSQUdfTU9WRV9CVUZGRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldElzRHJhZ2dpbmcoYm9hcmQsIHRydWUpO1xuXG4gICAgICAgICAgICBmYWtlRHJvcE5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGNvbnN0IGRldGVjdFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgZHJvcFRhcmdldCA9IGRldGVjdERyb3BUYXJnZXQoYm9hcmQsIGRldGVjdFBvaW50LCBkcm9wVGFyZ2V0LCBbLi4uYWN0aXZlRWxlbWVudHMsIC4uLmNvcnJlc3BvbmRpbmdFbGVtZW50c10pO1xuICAgICAgICAgICAgaWYgKGRyb3BUYXJnZXQ/LnRhcmdldCkge1xuICAgICAgICAgICAgICAgIHRhcmdldFBhdGggPSBnZXRQYXRoQnlEcm9wVGFyZ2V0KGJvYXJkLCBkcm9wVGFyZ2V0KTtcblxuICAgICAgICAgICAgICAgIGZha2VEcm9wTm9kZUcgPSBkcmF3RmFrZURyb3BOb2RlKGJvYXJkLCBkcm9wVGFyZ2V0LCB0YXJnZXRQYXRoKTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZENoaWxkKGZha2VEcm9wTm9kZUcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBvZmZzZXRYID0gZW5kUG9pbnRbMF0gLSBzdGFydFBvaW50WzBdO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IGVuZFBvaW50WzFdIC0gc3RhcnRQb2ludFsxXTtcbiAgICAgICAgICAgIGRyYWdGYWtlTm9kZUc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgZHJhZ0Zha2VOb2RlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgICAgIFsuLi5hY3RpdmVFbGVtZW50cywgLi4uY29ycmVzcG9uZGluZ0VsZW1lbnRzXS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgIGFkZEFjdGl2ZU9uRHJhZ09yaWdpbihlbGVtZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYWN0aXZlRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlRyA9IGRyYXdGYWtlRHJhZ05vZGUoYm9hcmQsIGVsZW1lbnQsIG9mZnNldFgsIG9mZnNldFkpO1xuICAgICAgICAgICAgICAgIGRyYWdGYWtlTm9kZUc/LmFwcGVuZENoaWxkKG5vZGVHKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZENoaWxkKGRyYWdGYWtlTm9kZUcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbW91c2Vtb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsTW91c2V1cCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdExldmVsRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudChhY3RpdmVFbGVtZW50cyk7XG4gICAgICAgIGlmICghYm9hcmQub3B0aW9ucy5yZWFkb25seSAmJiBmaXJzdExldmVsRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBmaXJzdExldmVsRWxlbWVudHMucHVzaCguLi5jb3JyZXNwb25kaW5nRWxlbWVudHMpO1xuICAgICAgICAgICAgaWYgKGlzRHJhZ2dpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgZmlyc3RMZXZlbEVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZUFjdGl2ZU9uRHJhZ09yaWdpbihlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkcm9wVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0UGF0aFJlZiA9IGJvYXJkLnBhdGhSZWYodGFyZ2V0UGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0UHJldmlvdXNQYXRoUmVmID0gUGF0aC5oYXNQcmV2aW91cyh0YXJnZXRQYXRoKSAmJiBib2FyZC5wYXRoUmVmKFBhdGgucHJldmlvdXModGFyZ2V0UGF0aCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRQYXRoUmVmID0gYm9hcmQucGF0aFJlZihQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBkcm9wVGFyZ2V0LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgIGxldCBhYnN0cmFjdFJlZnMgPSBnZXRWYWxpZEFic3RyYWN0UmVmcyhib2FyZCwgZmlyc3RMZXZlbEVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxFbGVtZW50cyA9IGZpcnN0TGV2ZWxFbGVtZW50c1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gIWFic3RyYWN0UmVmcy5zb21lKHJlZnMgPT4gcmVmcy5hYnN0cmFjdCA9PT0gZWxlbWVudCkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWRqdXN0QWJzdHJhY3RUb05vZGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNQcmV2aW91c05vZGUgPSB0YXJnZXRQYXRoW3RhcmdldFBhdGgubGVuZ3RoIC0gMV0gIT09IDA7XG4gICAgICAgICAgICAgICAgaWYgKGhhc1ByZXZpb3VzTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c0VsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHRhcmdldFBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29ycmVzcG9uZGluZ0Fic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KHByZXZpb3VzRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEhhc0NvcnJlc3BvbmRBYnN0cmFjdCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgY29ycmVzcG9uZGluZ0Fic3RyYWN0LmVuZCAhPT0gdGFyZ2V0UGF0aFt0YXJnZXRQYXRoLmxlbmd0aCAtIDFdIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldEhhc0NvcnJlc3BvbmRBYnN0cmFjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRqdXN0ZWROb2RlID0gYWJzdHJhY3RSZWZzLm1hcChyZWYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGp1c3RBYnN0cmFjdFRvTm9kZShyZWYuYWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxFbGVtZW50cy5wdXNoKC4uLmFkanVzdGVkTm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhYnN0cmFjdFJlZnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGVmZmVjdGVkQWJzdHJhY3RzID0gZGVsZXRlRWxlbWVudEhhbmRsZUFic3RyYWN0KGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgdGFyZ2V0UGF0aCwgbm9ybWFsRWxlbWVudHMubGVuZ3RoLCBmYWxzZSwgZWZmZWN0ZWRBYnN0cmFjdHMpO1xuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldEFic3RyYWN0c0J5UmVmcyhib2FyZCwgZWZmZWN0ZWRBYnN0cmFjdHMpO1xuXG4gICAgICAgICAgICAgICAgbGV0IHJlZnMgPSBkZWxldGVFbGVtZW50c0hhbmRsZVJpZ2h0Tm9kZUNvdW50KGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucGFyZW50KHRhcmdldFBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRDaGFuZ2VSb290ID0gaXNEcm9wU3RhbmRhcmRSaWdodChwYXJlbnQsIGRyb3BUYXJnZXQpO1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRDaGFuZ2VSb290ICYmIHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmcyA9IGluc2VydEVsZW1lbnRIYW5kbGVSaWdodE5vZGVDb3VudChib2FyZCwgdGFyZ2V0RWxlbWVudFBhdGhSZWYuY3VycmVudC5zbGljZSgwLCAxKSwgbm9ybWFsRWxlbWVudHMubGVuZ3RoLCByZWZzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRSaWdodE5vZGVDb3VudEJ5UmVmcyhib2FyZCwgcmVmcyk7XG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMucmVtb3ZlRWxlbWVudHMoYm9hcmQsIGZpcnN0TGV2ZWxFbGVtZW50cyk7XG5cbiAgICAgICAgICAgICAgICBsZXQgaW5zZXJ0UGF0aCA9IHRhcmdldFBhdGhSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRQYXRoID0gUGF0aC5wYXJlbnQodGFyZ2V0UGF0aFJlZi5jdXJyZW50IHx8IHRhcmdldFBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICghaW5zZXJ0UGF0aCkge1xuICAgICAgICAgICAgICAgICAgICAvL+W9k+aPkuWFpeS9jee9ruWSjOmAieS4reiKgueCueS9jee9ruebuOWQjOaXtu+8jOS9v+eUqOiusOW9leeahCBwcmV2aW91c1BhdGhcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQYXRoID0gdGFyZ2V0UHJldmlvdXNQYXRoUmVmICYmIHRhcmdldFByZXZpb3VzUGF0aFJlZi51bnJlZigpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRQYXRoID0gUGF0aC5uZXh0KHByZXZpb3VzUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXJlbnRQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZ2V0Tm9uQWJzdHJhY3RDaGlsZHJlbihwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0UGF0aCA9IFsuLi5wYXJlbnRQYXRoLCBjaGlsZHJlbi5sZW5ndGggfHwgMF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5pbnNlcnROb2Rlcyhib2FyZCwgbm9ybWFsRWxlbWVudHMsIGluc2VydFBhdGgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFic3RyYWN0UmVmcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0QWJzdHJhY3ROb2Rlcyhib2FyZCwgYWJzdHJhY3RSZWZzLCBub3JtYWxFbGVtZW50cywgaW5zZXJ0UGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50UGF0aFJlZi5jdXJyZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFBhdGhSZWYuY3VycmVudCAmJlxuICAgICAgICAgICAgICAgICAgICBQYXRoLmlzQW5jZXN0b3IodGFyZ2V0RWxlbWVudFBhdGhSZWYuY3VycmVudCwgdGFyZ2V0UGF0aFJlZi5jdXJyZW50KSAmJlxuICAgICAgICAgICAgICAgICAgICBkcm9wVGFyZ2V0LnRhcmdldC5pc0NvbGxhcHNlZFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgaXNDb2xsYXBzZWQ6IGZhbHNlIH0sIHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50UGF0aFJlZi51bnJlZigpO1xuICAgICAgICAgICAgICAgIHRhcmdldFBhdGhSZWYudW5yZWYoKTtcblxuICAgICAgICAgICAgICAgIGxldCBzZXRBY3RpdmVFbGVtZW50czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgICAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb24oKGJvYXJkIGFzIHVua25vd24pIGFzIE1pbmRFbGVtZW50LCBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IGFjdGl2ZUVsZW1lbnRzLnNvbWUoZWxlbWVudCA9PiBlbGVtZW50LmlkID09PSBub2RlLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEFjdGl2ZUVsZW1lbnRzLnB1c2gobm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBzZXRBY3RpdmVFbGVtZW50cyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldElzRHJhZ2dpbmcoYm9hcmQsIGZhbHNlKTtcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gW107XG4gICAgICAgICAgICBkcmFnRmFrZU5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGRyYWdGYWtlTm9kZUcgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBmYWtlRHJvcE5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGZha2VEcm9wTm9kZUcgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBkcm9wVGFyZ2V0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxNb3VzZXVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { mouseLeaveHandle, mouseMoveHandle } from '../utils/node-hover/extend';
2
+ export const withNodeHoverDetect = (board) => {
3
+ const { mousemove, mouseleave } = board;
4
+ let nodeHoveredExtendRef = null;
5
+ board.mousemove = (event) => {
6
+ nodeHoveredExtendRef = mouseMoveHandle(board, event, nodeHoveredExtendRef);
7
+ mousemove(event);
8
+ };
9
+ board.mouseleave = (event) => {
10
+ mouseLeaveHandle(board, event, nodeHoveredExtendRef);
11
+ nodeHoveredExtendRef = null;
12
+ mouseleave(event);
13
+ };
14
+ return board;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWhvdmVyLWRldGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWhvdmVyLWRldGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXdCLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXJHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3JELE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLElBQUksb0JBQW9CLEdBQWdDLElBQUksQ0FBQztJQUU3RCxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1FBQ3BDLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFFM0UsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDckMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUU1QixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE5vZGVIb3ZlcmVkRXh0ZW5kUmVmLCBtb3VzZUxlYXZlSGFuZGxlLCBtb3VzZU1vdmVIYW5kbGUgfSBmcm9tICcuLi91dGlscy9ub2RlLWhvdmVyL2V4dGVuZCc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZUhvdmVyRGV0ZWN0ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBtb3VzZW1vdmUsIG1vdXNlbGVhdmUgfSA9IGJvYXJkO1xuICAgIGxldCBub2RlSG92ZXJlZEV4dGVuZFJlZjogTm9kZUhvdmVyZWRFeHRlbmRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIGJvYXJkLm1vdXNlbW92ZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBub2RlSG92ZXJlZEV4dGVuZFJlZiA9IG1vdXNlTW92ZUhhbmRsZShib2FyZCwgZXZlbnQsIG5vZGVIb3ZlcmVkRXh0ZW5kUmVmKTtcblxuICAgICAgICBtb3VzZW1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5tb3VzZWxlYXZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIG1vdXNlTGVhdmVIYW5kbGUoYm9hcmQsIGV2ZW50LCBub2RlSG92ZXJlZEV4dGVuZFJlZik7XG4gICAgICAgIG5vZGVIb3ZlcmVkRXh0ZW5kUmVmID0gbnVsbDtcblxuICAgICAgICBtb3VzZWxlYXZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { PlaitBoard, getHitElements, isMainPointer, toPoint, transformPoint, hotkeys, clearSelectedElement, PlaitPointerType, addSelectedElement } from '@plait/core';
2
+ import { MindElement } from '../interfaces';
3
+ import { getSelectedImageElement, setImageFocus } from '../utils/node/image';
4
+ import { isHitImage, temporaryDisableSelection } from '../utils';
5
+ import { MindTransforms } from '../transforms';
6
+ export const withNodeImage = (board) => {
7
+ const { keydown, mousedown, globalMouseup } = board;
8
+ board.mousedown = (event) => {
9
+ const selectedImageElement = getSelectedImageElement(board);
10
+ if (PlaitBoard.isReadonly(board) || !isMainPointer(event) || !PlaitBoard.isPointer(board, PlaitPointerType.selection)) {
11
+ if (selectedImageElement) {
12
+ setImageFocus(board, selectedImageElement, false);
13
+ }
14
+ mousedown(event);
15
+ return;
16
+ }
17
+ const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
18
+ const range = { anchor: point, focus: point };
19
+ const hitElements = getHitElements(board, { ranges: [range] });
20
+ const hasImage = hitElements.length && MindElement.hasImage(hitElements[0]);
21
+ const hitImage = hasImage && isHitImage(board, hitElements[0], range);
22
+ if (selectedImageElement && hitImage && hitElements[0] === selectedImageElement) {
23
+ temporaryDisableSelection(board);
24
+ mousedown(event);
25
+ return;
26
+ }
27
+ if (selectedImageElement) {
28
+ setImageFocus(board, selectedImageElement, false);
29
+ }
30
+ if (hitImage) {
31
+ temporaryDisableSelection(board);
32
+ setImageFocus(board, hitElements[0], true);
33
+ clearSelectedElement(board);
34
+ }
35
+ mousedown(event);
36
+ };
37
+ board.keydown = (event) => {
38
+ const selectedImageElement = getSelectedImageElement(board);
39
+ if (!PlaitBoard.isReadonly(board) && selectedImageElement && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
40
+ addSelectedElement(board, selectedImageElement);
41
+ setImageFocus(board, selectedImageElement, false);
42
+ MindTransforms.removeImage(board, selectedImageElement);
43
+ return;
44
+ }
45
+ keydown(event);
46
+ };
47
+ board.globalMouseup = (event) => {
48
+ if (PlaitBoard.isFocus(board)) {
49
+ const isInBoard = event.target instanceof Node && PlaitBoard.getBoardContainer(board).contains(event.target);
50
+ const selectedImageElement = getSelectedImageElement(board);
51
+ // Clear image selection when mouse board outside area
52
+ if (selectedImageElement && !isInBoard) {
53
+ setImageFocus(board, selectedImageElement, false);
54
+ }
55
+ }
56
+ globalMouseup(event);
57
+ };
58
+ return board;
59
+ };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW5vZGUtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFDVixjQUFjLEVBQ2QsYUFBYSxFQUNiLE9BQU8sRUFDUCxjQUFjLEVBRWQsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRXJCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXBELEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDcEMsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuSCxJQUFJLG9CQUFvQixFQUFFO2dCQUN0QixhQUFhLENBQUMsS0FBSyxFQUFFLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3JE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YUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBnZXRIaXRFbGVtZW50cyxcbiAgICBpc01haW5Qb2ludGVyLFxuICAgIHRvUG9pbnQsXG4gICAgdHJhbnNmb3JtUG9pbnQsXG4gICAgUGxhaXRPcHRpb25zQm9hcmQsXG4gICAgaG90a2V5cyxcbiAgICBjbGVhclNlbGVjdGVkRWxlbWVudCxcbiAgICBQbGFpdFBvaW50ZXJUeXBlLFxuICAgIGFkZFNlbGVjdGVkRWxlbWVudCxcbiAgICBBVFRBQ0hFRF9FTEVNRU5UX0NMQVNTX05BTUVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEltYWdlRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudC1kYXRhJztcbmltcG9ydCB7IGdldFNlbGVjdGVkSW1hZ2VFbGVtZW50LCBzZXRJbWFnZUZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9pbWFnZSc7XG5pbXBvcnQgeyBpc0hpdEltYWdlLCB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IHdpdGhOb2RlSW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IGtleWRvd24sIG1vdXNlZG93biwgZ2xvYmFsTW91c2V1cCB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5tb3VzZWRvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSBnZXRTZWxlY3RlZEltYWdlRWxlbWVudChib2FyZCk7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpIHx8ICFpc01haW5Qb2ludGVyKGV2ZW50KSB8fCAhUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgc2V0SW1hZ2VGb2N1cyhib2FyZCwgc2VsZWN0ZWRJbWFnZUVsZW1lbnQsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1vdXNlZG93bihldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB7IGFuY2hvcjogcG9pbnQsIGZvY3VzOiBwb2ludCB9O1xuICAgICAgICBjb25zdCBoaXRFbGVtZW50cyA9IGdldEhpdEVsZW1lbnRzKGJvYXJkLCB7IHJhbmdlczogW3JhbmdlXSB9KTtcbiAgICAgICAgY29uc3QgaGFzSW1hZ2UgPSBoaXRFbGVtZW50cy5sZW5ndGggJiYgTWluZEVsZW1lbnQuaGFzSW1hZ2UoaGl0RWxlbWVudHNbMF0gYXMgTWluZEVsZW1lbnQpO1xuICAgICAgICBjb25zdCBoaXRJbWFnZSA9IGhhc0ltYWdlICYmIGlzSGl0SW1hZ2UoYm9hcmQsIGhpdEVsZW1lbnRzWzBdIGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT4sIHJhbmdlKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJbWFnZUVsZW1lbnQgJiYgaGl0SW1hZ2UgJiYgaGl0RWxlbWVudHNbMF0gPT09IHNlbGVjdGVkSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgICAgICB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKTtcbiAgICAgICAgICAgIG1vdXNlZG93bihldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0ZWRJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldEltYWdlRm9jdXMoYm9hcmQsIHNlbGVjdGVkSW1hZ2VFbGVtZW50LCBmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaGl0SW1hZ2UpIHtcbiAgICAgICAgICAgIHRlbXBvcmFyeURpc2FibGVTZWxlY3Rpb24oYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpO1xuXG4gICAgICAgICAgICBzZXRJbWFnZUZvY3VzKGJvYXJkLCBoaXRFbGVtZW50c1swXSBhcyBNaW5kRWxlbWVudCwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1vdXNlZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSBnZXRTZWxlY3RlZEltYWdlRWxlbWVudChib2FyZCk7XG5cbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIHNlbGVjdGVkSW1hZ2VFbGVtZW50ICYmIChob3RrZXlzLmlzRGVsZXRlQmFja3dhcmQoZXZlbnQpIHx8IGhvdGtleXMuaXNEZWxldGVGb3J3YXJkKGV2ZW50KSkpIHtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgc2VsZWN0ZWRJbWFnZUVsZW1lbnQpO1xuICAgICAgICAgICAgc2V0SW1hZ2VGb2N1cyhib2FyZCwgc2VsZWN0ZWRJbWFnZUVsZW1lbnQsIGZhbHNlKTtcbiAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnJlbW92ZUltYWdlKGJvYXJkLCBzZWxlY3RlZEltYWdlRWxlbWVudCBhcyBNaW5kRWxlbWVudDxJbWFnZURhdGE+KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxNb3VzZXVwID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzRm9jdXMoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBpc0luQm9hcmQgPSBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlICYmIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZEltYWdlRWxlbWVudCA9IGdldFNlbGVjdGVkSW1hZ2VFbGVtZW50KGJvYXJkKTtcblxuICAgICAgICAgICAgLy8gQ2xlYXIgaW1hZ2Ugc2VsZWN0aW9uIHdoZW4gbW91c2UgYm9hcmQgb3V0c2lkZSBhcmVhXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbWFnZUVsZW1lbnQgJiYgIWlzSW5Cb2FyZCkge1xuICAgICAgICAgICAgICAgIHNldEltYWdlRm9jdXMoYm9hcmQsIHNlbGVjdGVkSW1hZ2VFbGVtZW50LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsTW91c2V1cChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
@@ -0,0 +1,122 @@
1
+ import { MERGING, PRESS_AND_MOVE_BUFFER, PlaitBoard, PlaitElement, PlaitNode, ResizeCursorClass, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, getSelectedElements, throttleRAF, toPoint, transformPoint } from '@plait/core';
2
+ import { MindElement } from '../interfaces/element';
3
+ import { getRectangleByNode } from '../utils/position/node';
4
+ import { NodeSpace } from '../utils/space/node-space';
5
+ import { MindTransforms } from '../transforms';
6
+ import { isDragging } from '../utils/dnd/common';
7
+ import { EXTEND_OFFSET } from '../constants/default';
8
+ export const withNodeResize = (board) => {
9
+ const { mousedown, mousemove, globalMouseup } = board;
10
+ let targetElement = null;
11
+ let targetElementRef = null;
12
+ let startPoint = null;
13
+ board.mousedown = (event) => {
14
+ if (targetElement) {
15
+ startPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
16
+ // prevent text from being selected
17
+ event.preventDefault();
18
+ return;
19
+ }
20
+ mousedown(event);
21
+ };
22
+ board.mousemove = (event) => {
23
+ if (PlaitBoard.isReadonly(board) || PlaitBoard.hasBeenTextEditing(board)) {
24
+ mousemove(event);
25
+ return;
26
+ }
27
+ if (startPoint && targetElement && !isMindNodeResizing(board)) {
28
+ const endPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
29
+ const distance = distanceBetweenPointAndPoint(startPoint[0], startPoint[1], endPoint[0], endPoint[1]);
30
+ if (distance > PRESS_AND_MOVE_BUFFER) {
31
+ startPoint = endPoint;
32
+ addResizing(board, targetElement);
33
+ targetElementRef = {
34
+ minWidth: NodeSpace.getNodeResizableMinWidth(board, targetElement),
35
+ currentWidth: NodeSpace.getNodeResizableWidth(board, targetElement),
36
+ path: PlaitBoard.findPath(board, targetElement),
37
+ textManage: PlaitElement.getComponent(targetElement).textManage
38
+ };
39
+ MERGING.set(board, true);
40
+ }
41
+ }
42
+ if (isMindNodeResizing(board) && startPoint && targetElementRef) {
43
+ throttleRAF(() => {
44
+ const endPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
45
+ const offsetX = endPoint[0] - startPoint[0];
46
+ let resizedWidth = targetElementRef.currentWidth + offsetX;
47
+ if (resizedWidth < targetElementRef.minWidth) {
48
+ resizedWidth = targetElementRef.minWidth;
49
+ }
50
+ const newTarget = PlaitNode.get(board, targetElementRef.path);
51
+ if (newTarget && NodeSpace.getNodeTopicMinWidth(board, newTarget) !== resizedWidth) {
52
+ targetElementRef.textManage.updateWidth(resizedWidth);
53
+ const { width, height } = targetElementRef.textManage.getSize();
54
+ MindTransforms.setNodeManualWidth(board, newTarget, resizedWidth, height);
55
+ }
56
+ });
57
+ return;
58
+ }
59
+ else {
60
+ // press and start drag when node is non selected
61
+ if (!isDragging(board)) {
62
+ const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
63
+ const newTargetElement = getTargetElement(board, point);
64
+ if (newTargetElement) {
65
+ PlaitBoard.getBoardContainer(board).classList.add(ResizeCursorClass['ew-resize']);
66
+ }
67
+ else {
68
+ PlaitBoard.getBoardContainer(board).classList.remove(ResizeCursorClass['ew-resize']);
69
+ }
70
+ targetElement = newTargetElement;
71
+ }
72
+ }
73
+ mousemove(event);
74
+ };
75
+ board.globalMouseup = (event) => {
76
+ globalMouseup(event);
77
+ if (isMindNodeResizing(board) || targetElement) {
78
+ targetElement && removeResizing(board, targetElement);
79
+ targetElementRef = null;
80
+ targetElement = null;
81
+ startPoint = null;
82
+ MERGING.set(board, false);
83
+ }
84
+ };
85
+ return board;
86
+ };
87
+ export const IS_MIND_NODE_RESIZING = new WeakMap();
88
+ export const isMindNodeResizing = (board) => {
89
+ return !!IS_MIND_NODE_RESIZING.get(board);
90
+ };
91
+ export const addResizing = (board, element) => {
92
+ PlaitBoard.getBoardContainer(board).classList.add('mind-node-resizing');
93
+ const component = PlaitElement.getComponent(element);
94
+ component.g.classList.add('resizing');
95
+ IS_MIND_NODE_RESIZING.set(board, true);
96
+ };
97
+ export const removeResizing = (board, element) => {
98
+ PlaitBoard.getBoardContainer(board).classList.remove('mind-node-resizing');
99
+ PlaitBoard.getBoardContainer(board).classList.remove(ResizeCursorClass['ew-resize']);
100
+ const component = PlaitElement.getComponent(element);
101
+ if (component && component.g) {
102
+ component.g.classList.remove('resizing');
103
+ }
104
+ IS_MIND_NODE_RESIZING.set(board, false);
105
+ };
106
+ export const getTargetElement = (board, point) => {
107
+ const selectedElements = getSelectedElements(board).filter(value => MindElement.isMindElement(board, value));
108
+ if (selectedElements.length > 0) {
109
+ const target = selectedElements.find(value => {
110
+ const rectangle = getResizeActiveRectangle(board, value);
111
+ return distanceBetweenPointAndRectangle(point[0], point[1], rectangle) <= 0;
112
+ });
113
+ return target ? target : null;
114
+ }
115
+ return null;
116
+ };
117
+ export const getResizeActiveRectangle = (board, element) => {
118
+ const node = MindElement.getNode(element);
119
+ const rectangle = getRectangleByNode(node);
120
+ return { x: rectangle.x + rectangle.width - EXTEND_OFFSET, y: rectangle.y, width: EXTEND_OFFSET * 2, height: rectangle.height };
121
+ };
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsT0FBTyxFQUNQLHFCQUFxQixFQUVyQixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFHVCxpQkFBaUIsRUFDakIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9BQU8sRUFDUCxjQUFjLEVBQ2pCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBU3JELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNoRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDdEQsSUFBSSxhQUFhLEdBQXVCLElBQUksQ0FBQztJQUM3QyxJQUFJLGdCQUFnQixHQUE0QixJQUFJLENBQUM7SUFDckQsSUFBSSxVQUFVLEdBQWlCLElBQUksQ0FBQztJQUVwQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1FBQ3BDLElBQUksYUFBYSxFQUFFO1lBQ2YsVUFBVSxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RixtQ0FBbUM7WUFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87U0FDVjtRQUVELFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1FBQ3BDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pCLE9BQU87U0FDVjtRQUVELElBQUksVUFBVSxJQUFJLGFBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNELE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RixNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RyxJQUFJLFFBQVEsR0FBRyxxQkFBcUIsRUFBRTtnQkFDbEMsVUFBVSxHQUFHLFFBQVEsQ0FBQztnQkFDdEIsV0FBVyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDbEMsZ0JBQWdCLEdBQUc7b0JBQ2YsUUFBUSxFQUFFLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUF1QixFQUFFLGFBQWEsQ0FBQztvQkFDcEYsWUFBWSxFQUFFLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxLQUF1QixFQUFFLGFBQWEsQ0FBQztvQkFDckYsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztvQkFDL0MsVUFBVSxFQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUF1QixDQUFDLFVBQVU7aUJBQ3pGLENBQUM7Z0JBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDNUI7U0FDSjtRQUVELElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxJQUFJLGdCQUFnQixFQUFFO1lBQzdELFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3RixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLFlBQVksR0FBRyxnQkFBaUIsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO2dCQUM1RCxJQUFJLFlBQVksR0FBRyxnQkFBaUIsQ0FBQyxRQUFRLEVBQUU7b0JBQzNDLFlBQVksR0FBRyxnQkFBaUIsQ0FBQyxRQUFRLENBQUM7aUJBQzdDO2dCQUVELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQWMsS0FBSyxFQUFFLGdCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RSxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsb0JBQW9CLENBQUMsS0FBdUIsRUFBRSxTQUFTLENBQUMsS0FBSyxZQUFZLEVBQUU7b0JBQ2xHLGdCQUFpQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3ZELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsZ0JBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNqRSxjQUFjLENBQUMsa0JBQWtCLENBQUMsS0FBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUMvRjtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztTQUNWO2FBQU07WUFDSCxpREFBaUQ7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEIsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRixNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEtBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzFFLElBQUksZ0JBQWdCLEVBQUU7b0JBQ2xCLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQ3JGO3FCQUFNO29CQUNILFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQ3hGO2dCQUNELGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQzthQUNwQztTQUNKO1FBRUQsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxhQUFhLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDeEMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJCLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxFQUFFO1lBQzVDLGFBQWEsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3RELGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUN4QixhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDTCxDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNwRCxPQUFPLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDbkUsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN4RSxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQ3RFLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDM0UsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNyRixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsS0FBWSxFQUFFLEVBQUU7SUFDcEUsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBa0IsQ0FBQztJQUM5SCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RCxPQUFPLGdDQUFnQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQW1CLEVBQUU7SUFDakcsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUNwSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE1FUkdJTkcsXG4gICAgUFJFU1NfQU5EX01PVkVfQlVGRkVSLFxuICAgIFBhdGgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgUGxhaXROb2RlLFxuICAgIFBvaW50LFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBSZXNpemVDdXJzb3JDbGFzcyxcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50LFxuICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUmVjdGFuZ2xlLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgdGhyb3R0bGVSQUYsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9ub2RlJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgaXNEcmFnZ2luZyB9IGZyb20gJy4uL3V0aWxzL2RuZC9jb21tb24nO1xuaW1wb3J0IHsgRVhURU5EX09GRlNFVCB9IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0JztcblxuaW50ZXJmYWNlIFRhcmdldEVsZW1lbnRSZWYge1xuICAgIG1pbldpZHRoOiBudW1iZXI7XG4gICAgY3VycmVudFdpZHRoOiBudW1iZXI7XG4gICAgcGF0aDogUGF0aDtcbiAgICB0ZXh0TWFuYWdlOiBUZXh0TWFuYWdlO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aE5vZGVSZXNpemUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IG1vdXNlZG93biwgbW91c2Vtb3ZlLCBnbG9iYWxNb3VzZXVwIH0gPSBib2FyZDtcbiAgICBsZXQgdGFyZ2V0RWxlbWVudDogTWluZEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdGFyZ2V0RWxlbWVudFJlZjogVGFyZ2V0RWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuICAgIGxldCBzdGFydFBvaW50OiBQb2ludCB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQubW91c2Vkb3duID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICBzdGFydFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgLy8gcHJldmVudCB0ZXh0IGZyb20gYmVpbmcgc2VsZWN0ZWRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5tb3VzZW1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgfHwgUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICBtb3VzZW1vdmUoZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQgJiYgdGFyZ2V0RWxlbWVudCAmJiAhaXNNaW5kTm9kZVJlc2l6aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoc3RhcnRQb2ludFswXSwgc3RhcnRQb2ludFsxXSwgZW5kUG9pbnRbMF0sIGVuZFBvaW50WzFdKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IFBSRVNTX0FORF9NT1ZFX0JVRkZFUikge1xuICAgICAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBlbmRQb2ludDtcbiAgICAgICAgICAgICAgICBhZGRSZXNpemluZyhib2FyZCwgdGFyZ2V0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudFJlZiA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6IE5vZGVTcGFjZS5nZXROb2RlUmVzaXphYmxlTWluV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHRhcmdldEVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGg6IE5vZGVTcGFjZS5nZXROb2RlUmVzaXphYmxlV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHRhcmdldEVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCB0YXJnZXRFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZTogKFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQodGFyZ2V0RWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQpLnRleHRNYW5hZ2VcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc01pbmROb2RlUmVzaXppbmcoYm9hcmQpICYmIHN0YXJ0UG9pbnQgJiYgdGFyZ2V0RWxlbWVudFJlZikge1xuICAgICAgICAgICAgdGhyb3R0bGVSQUYoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFggPSBlbmRQb2ludFswXSAtIHN0YXJ0UG9pbnQhWzBdO1xuICAgICAgICAgICAgICAgIGxldCByZXNpemVkV2lkdGggPSB0YXJnZXRFbGVtZW50UmVmIS5jdXJyZW50V2lkdGggKyBvZmZzZXRYO1xuICAgICAgICAgICAgICAgIGlmIChyZXNpemVkV2lkdGggPCB0YXJnZXRFbGVtZW50UmVmIS5taW5XaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXNpemVkV2lkdGggPSB0YXJnZXRFbGVtZW50UmVmIS5taW5XaWR0aDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdUYXJnZXQgPSBQbGFpdE5vZGUuZ2V0PE1pbmRFbGVtZW50Pihib2FyZCwgdGFyZ2V0RWxlbWVudFJlZiEucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKG5ld1RhcmdldCAmJiBOb2RlU3BhY2UuZ2V0Tm9kZVRvcGljTWluV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIG5ld1RhcmdldCkgIT09IHJlc2l6ZWRXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50UmVmIS50ZXh0TWFuYWdlLnVwZGF0ZVdpZHRoKHJlc2l6ZWRXaWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGFyZ2V0RWxlbWVudFJlZiEudGV4dE1hbmFnZS5nZXRTaXplKCk7XG4gICAgICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldE5vZGVNYW51YWxXaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgbmV3VGFyZ2V0LCByZXNpemVkV2lkdGgsIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBwcmVzcyBhbmQgc3RhcnQgZHJhZyB3aGVuIG5vZGUgaXMgbm9uIHNlbGVjdGVkXG4gICAgICAgICAgICBpZiAoIWlzRHJhZ2dpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VGFyZ2V0RWxlbWVudCA9IGdldFRhcmdldEVsZW1lbnQoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHBvaW50KTtcbiAgICAgICAgICAgICAgICBpZiAobmV3VGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QuYWRkKFJlc2l6ZUN1cnNvckNsYXNzWydldy1yZXNpemUnXSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZShSZXNpemVDdXJzb3JDbGFzc1snZXctcmVzaXplJ10pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50ID0gbmV3VGFyZ2V0RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG1vdXNlbW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbE1vdXNldXAgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZ2xvYmFsTW91c2V1cChldmVudCk7XG5cbiAgICAgICAgaWYgKGlzTWluZE5vZGVSZXNpemluZyhib2FyZCkgfHwgdGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCAmJiByZW1vdmVSZXNpemluZyhib2FyZCwgdGFyZ2V0RWxlbWVudCk7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50UmVmID0gbnVsbDtcbiAgICAgICAgICAgIHRhcmdldEVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCBJU19NSU5EX05PREVfUkVTSVpJTkcgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuPigpO1xuXG5leHBvcnQgY29uc3QgaXNNaW5kTm9kZVJlc2l6aW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuICEhSVNfTUlORF9OT0RFX1JFU0laSU5HLmdldChib2FyZCk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkUmVzaXppbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZCgnbWluZC1ub2RlLXJlc2l6aW5nJyk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KTtcbiAgICBjb21wb25lbnQuZy5jbGFzc0xpc3QuYWRkKCdyZXNpemluZycpO1xuICAgIElTX01JTkRfTk9ERV9SRVNJWklORy5zZXQoYm9hcmQsIHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZVJlc2l6aW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoJ21pbmQtbm9kZS1yZXNpemluZycpO1xuICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoUmVzaXplQ3Vyc29yQ2xhc3NbJ2V3LXJlc2l6ZSddKTtcbiAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpO1xuICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50LmcpIHtcbiAgICAgICAgY29tcG9uZW50LmcuY2xhc3NMaXN0LnJlbW92ZSgncmVzaXppbmcnKTtcbiAgICB9XG4gICAgSVNfTUlORF9OT0RFX1JFU0laSU5HLnNldChib2FyZCwgZmFsc2UpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRhcmdldEVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBwb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkuZmlsdGVyKHZhbHVlID0+IE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIHZhbHVlKSkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHNlbGVjdGVkRWxlbWVudHMuZmluZCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZXNpemVBY3RpdmVSZWN0YW5nbGUoYm9hcmQsIHZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZShwb2ludFswXSwgcG9pbnRbMV0sIHJlY3RhbmdsZSkgPD0gMDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0YXJnZXQgPyB0YXJnZXQgOiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJlc2l6ZUFjdGl2ZVJlY3RhbmdsZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpOiBSZWN0YW5nbGVDbGllbnQgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShub2RlKTtcbiAgICByZXR1cm4geyB4OiByZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAtIEVYVEVORF9PRkZTRVQsIHk6IHJlY3RhbmdsZS55LCB3aWR0aDogRVhURU5EX09GRlNFVCAqIDIsIGhlaWdodDogcmVjdGFuZ2xlLmhlaWdodCB9O1xufTtcbiJdfQ==
@@ -1,12 +1,13 @@
1
1
  import { insertAbstract, setAbstractsByRefs, setAbstractByStandardLayout } from './abstract-node';
2
2
  import { setLayout } from './layout';
3
- import { setTopic, setTopicSize, removeElements, insertNodes, insertAbstractNodes, setRightNodeCountByRefs } from './node';
3
+ import { setTopic, setTopicSize, removeElements, insertNodes, insertAbstractNodes, setRightNodeCountByRefs, setNodeManualWidth } from './node';
4
4
  import { addEmoji, removeEmoji, replaceEmoji } from './emoji';
5
5
  import { removeImage } from './image';
6
6
  export const MindTransforms = {
7
7
  setLayout,
8
8
  setTopic,
9
9
  setTopicSize,
10
+ setNodeManualWidth,
10
11
  addEmoji,
11
12
  removeEmoji,
12
13
  replaceEmoji,
@@ -19,4 +20,4 @@ export const MindTransforms = {
19
20
  setRightNodeCountByRefs,
20
21
  removeImage
21
22
  };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0gsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLFNBQVM7SUFDVCxRQUFRO0lBQ1IsWUFBWTtJQUNaLFFBQVE7SUFDUixXQUFXO0lBQ1gsWUFBWTtJQUNaLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsMkJBQTJCO0lBQzNCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluc2VydEFic3RyYWN0LCBzZXRBYnN0cmFjdHNCeVJlZnMsIHNldEFic3RyYWN0QnlTdGFuZGFyZExheW91dCB9IGZyb20gJy4vYWJzdHJhY3Qtbm9kZSc7XG5pbXBvcnQgeyBzZXRMYXlvdXQgfSBmcm9tICcuL2xheW91dCc7XG5pbXBvcnQgeyBzZXRUb3BpYywgc2V0VG9waWNTaXplLCByZW1vdmVFbGVtZW50cywgaW5zZXJ0Tm9kZXMsIGluc2VydEFic3RyYWN0Tm9kZXMsIHNldFJpZ2h0Tm9kZUNvdW50QnlSZWZzIH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IGFkZEVtb2ppLCByZW1vdmVFbW9qaSwgcmVwbGFjZUVtb2ppIH0gZnJvbSAnLi9lbW9qaSc7XG5pbXBvcnQgeyByZW1vdmVJbWFnZSB9IGZyb20gJy4vaW1hZ2UnO1xuXG5leHBvcnQgY29uc3QgTWluZFRyYW5zZm9ybXMgPSB7XG4gICAgc2V0TGF5b3V0LFxuICAgIHNldFRvcGljLFxuICAgIHNldFRvcGljU2l6ZSxcbiAgICBhZGRFbW9qaSxcbiAgICByZW1vdmVFbW9qaSxcbiAgICByZXBsYWNlRW1vamksXG4gICAgaW5zZXJ0QWJzdHJhY3QsXG4gICAgc2V0QWJzdHJhY3RzQnlSZWZzLFxuICAgIHNldEFic3RyYWN0QnlTdGFuZGFyZExheW91dCxcbiAgICByZW1vdmVFbGVtZW50cyxcbiAgICBpbnNlcnROb2RlcyxcbiAgICBpbnNlcnRBYnN0cmFjdE5vZGVzLFxuICAgIHNldFJpZ2h0Tm9kZUNvdW50QnlSZWZzLFxuICAgIHJlbW92ZUltYWdlXG59O1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0ksT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLFNBQVM7SUFDVCxRQUFRO0lBQ1IsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsV0FBVztJQUNYLFlBQVk7SUFDWixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2QsV0FBVztJQUNYLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsV0FBVztDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnNlcnRBYnN0cmFjdCwgc2V0QWJzdHJhY3RzQnlSZWZzLCBzZXRBYnN0cmFjdEJ5U3RhbmRhcmRMYXlvdXQgfSBmcm9tICcuL2Fic3RyYWN0LW5vZGUnO1xuaW1wb3J0IHsgc2V0TGF5b3V0IH0gZnJvbSAnLi9sYXlvdXQnO1xuaW1wb3J0IHsgc2V0VG9waWMsIHNldFRvcGljU2l6ZSwgcmVtb3ZlRWxlbWVudHMsIGluc2VydE5vZGVzLCBpbnNlcnRBYnN0cmFjdE5vZGVzLCBzZXRSaWdodE5vZGVDb3VudEJ5UmVmcywgc2V0Tm9kZU1hbnVhbFdpZHRoIH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IGFkZEVtb2ppLCByZW1vdmVFbW9qaSwgcmVwbGFjZUVtb2ppIH0gZnJvbSAnLi9lbW9qaSc7XG5pbXBvcnQgeyByZW1vdmVJbWFnZSB9IGZyb20gJy4vaW1hZ2UnO1xuXG5leHBvcnQgY29uc3QgTWluZFRyYW5zZm9ybXMgPSB7XG4gICAgc2V0TGF5b3V0LFxuICAgIHNldFRvcGljLFxuICAgIHNldFRvcGljU2l6ZSxcbiAgICBzZXROb2RlTWFudWFsV2lkdGgsXG4gICAgYWRkRW1vamksXG4gICAgcmVtb3ZlRW1vamksXG4gICAgcmVwbGFjZUVtb2ppLFxuICAgIGluc2VydEFic3RyYWN0LFxuICAgIHNldEFic3RyYWN0c0J5UmVmcyxcbiAgICBzZXRBYnN0cmFjdEJ5U3RhbmRhcmRMYXlvdXQsXG4gICAgcmVtb3ZlRWxlbWVudHMsXG4gICAgaW5zZXJ0Tm9kZXMsXG4gICAgaW5zZXJ0QWJzdHJhY3ROb2RlcyxcbiAgICBzZXRSaWdodE5vZGVDb3VudEJ5UmVmcyxcbiAgICByZW1vdmVJbWFnZVxufTtcbiJdfQ==
@@ -17,11 +17,22 @@ export const setTopic = (board, element, topic, width, height) => {
17
17
  const path = PlaitBoard.findPath(board, element);
18
18
  Transforms.setNode(board, newElement, path);
19
19
  };
20
+ export const setNodeManualWidth = (board, element, width, height) => {
21
+ const path = PlaitBoard.findPath(board, element);
22
+ const { width: normalizedWidth, height: normalizedHeight } = normalizeWidthAndHeight(board, element, width, height);
23
+ const newElement = { manualWidth: normalizedWidth, height: normalizedHeight };
24
+ Transforms.setNode(board, newElement, path);
25
+ };
20
26
  export const setTopicSize = (board, element, width, height) => {
21
27
  const newElement = {
22
28
  ...normalizeWidthAndHeight(board, element, width, height)
23
29
  };
24
- if (Math.floor(element.width) !== Math.floor(newElement.width) || Math.floor(element.height) !== Math.floor(newElement.height)) {
30
+ let isEqualWidth = Math.ceil(element.width) === Math.ceil(newElement.width);
31
+ let isEqualHeight = Math.ceil(element.height) === Math.ceil(newElement.height);
32
+ if (element.manualWidth) {
33
+ isEqualWidth = true;
34
+ }
35
+ if (!isEqualWidth || !isEqualHeight) {
25
36
  const path = PlaitBoard.findPath(board, element);
26
37
  Transforms.setNode(board, newElement, path);
27
38
  }
@@ -68,4 +79,4 @@ export const setRightNodeCountByRefs = (board, refs) => {
68
79
  Transforms.setNode(board, { rightNodeCount: ref.rightNodeCount }, ref.path);
69
80
  });
70
81
  };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFlLGdDQUFnQyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3RELE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQzNHLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRixNQUFNLFFBQVEsR0FBRyxLQUFLLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNqRyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQ2xELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFjLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lB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QUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU8sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLGdDQUFnQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RSxPQUFPO1lBQ0gsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBeUIsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDZixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldEZpcnN0TGV2ZWxFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbWluZCc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlZiwgZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYgfSBmcm9tICcuLi91dGlscy9hYnN0cmFjdC9jb21tb24nO1xuaW1wb3J0IHsgUmlnaHROb2RlQ291bnRSZWYgfSBmcm9tICcuLi91dGlscy9ub2RlL3JpZ2h0LW5vZGUtY291bnQnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vdXRpbHMvc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcblxuY29uc3Qgbm9ybWFsaXplV2lkdGhBbmRIZWlnaHQgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBtaW5XaWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlVG9waWNNaW5XaWR0aChib2FyZCwgZWxlbWVudCwgZWxlbWVudC5pc1Jvb3QpO1xuICAgIGNvbnN0IG5ld1dpZHRoID0gd2lkdGggPCBtaW5XaWR0aCAqIGJvYXJkLnZpZXdwb3J0Lnpvb20gPyBtaW5XaWR0aCA6IHdpZHRoIC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBjb25zdCBuZXdIZWlnaHQgPSBoZWlnaHQgLyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIHJldHVybiB7IHdpZHRoOiBuZXdXaWR0aCwgaGVpZ2h0OiBuZXdIZWlnaHQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRUb3BpYyA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB0b3BpYzogRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSwgdG9waWMgfSxcbiAgICAgICAgLi4ubm9ybWFsaXplV2lkdGhBbmRIZWlnaHQoYm9hcmQsIGVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpXG4gICAgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRUb3BpY1NpemUgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICAuLi5ub3JtYWxpemVXaWR0aEFuZEhlaWdodChib2FyZCwgZWxlbWVudCwgd2lkdGgsIGhlaWdodClcbiAgICB9O1xuICAgIGlmIChNYXRoLmZsb29yKGVsZW1lbnQud2lkdGgpICE9PSBNYXRoLmZsb29yKG5ld0VsZW1lbnQud2lkdGgpIHx8IE1hdGguZmxvb3IoZWxlbWVudC5oZWlnaHQpICE9PSBNYXRoLmZsb29yKG5ld0VsZW1lbnQuaGVpZ2h0KSkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IGRlbGV0YWJsZUVsZW1lbnRzID0gZ2V0Rmlyc3RMZXZlbEVsZW1lbnQoZWxlbWVudHMpO1xuXG4gICAgZGVsZXRhYmxlRWxlbWVudHNcbiAgICAgICAgLm1hcChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IGJvYXJkLnBhdGhSZWYocGF0aCk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZShib2FyZCwgcmVmLmN1cnJlbnQhKTtcbiAgICAgICAgICAgICAgICByZWYudW5yZWYoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKGFjdGlvbiA9PiB7XG4gICAgICAgICAgICBhY3Rpb24oKTtcbiAgICAgICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Tm9kZXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdLCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3QgcGF0aFJlZiA9IGJvYXJkLnBhdGhSZWYocGF0aCk7XG4gICAgZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKHBhdGhSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBlbGVtZW50LCBwYXRoUmVmLmN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcGF0aFJlZi51bnJlZigpO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydEFic3RyYWN0Tm9kZXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHZhbGlkQWJzdHJhY3RSZWZzOiBBYnN0cmFjdFJlZltdLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSwgcGF0aDogUGF0aCkgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucGFyZW50KHBhdGgpKTtcbiAgICBjb25zdCBhYnN0cmFjdFBhdGggPSBbLi4uUGF0aC5wYXJlbnQocGF0aCksIHBhcmVudC5jaGlsZHJlbj8ubGVuZ3RoIV07XG4gICAgY29uc3QgYWJzdHJhY3RzID0gdmFsaWRBYnN0cmFjdFJlZnMubWFwKHJlZnMgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGdldFJlbGF0aXZlU3RhcnRFbmRCeUFic3RyYWN0UmVmKHJlZnMsIGVsZW1lbnRzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlZnMuYWJzdHJhY3QsXG4gICAgICAgICAgICBzdGFydDogc3RhcnQgKyBwYXRoW3BhdGgubGVuZ3RoIC0gMV0sXG4gICAgICAgICAgICBlbmQ6IGVuZCArIHBhdGhbcGF0aC5sZW5ndGggLSAxXVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgaW5zZXJ0Tm9kZXMoYm9hcmQsIGFic3RyYWN0cywgYWJzdHJhY3RQYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRSaWdodE5vZGVDb3VudEJ5UmVmcyA9IChib2FyZDogUGxhaXRCb2FyZCwgcmVmczogUmlnaHROb2RlQ291bnRSZWZbXSkgPT4ge1xuICAgIHJlZnMuZm9yRWFjaChyZWYgPT4ge1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgcmlnaHROb2RlQ291bnQ6IHJlZi5yaWdodE5vZGVDb3VudCB9LCByZWYucGF0aCk7XG4gICAgfSk7XG59O1xuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFlLGdDQUFnQyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3RELE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQzNHLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRixNQUFNLFFBQVEsR0FBRyxLQUFLLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNqRyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQ2xELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFjLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lB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QUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBeUIsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDZixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldEZpcnN0TGV2ZWxFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbWluZCc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlZiwgZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYgfSBmcm9tICcuLi91dGlscy9hYnN0cmFjdC9jb21tb24nO1xuaW1wb3J0IHsgUmlnaHROb2RlQ291bnRSZWYgfSBmcm9tICcuLi91dGlscy9ub2RlL3JpZ2h0LW5vZGUtY291bnQnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vdXRpbHMvc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcblxuY29uc3Qgbm9ybWFsaXplV2lkdGhBbmRIZWlnaHQgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBtaW5XaWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlVG9waWNNaW5XaWR0aChib2FyZCwgZWxlbWVudCwgZWxlbWVudC5pc1Jvb3QpO1xuICAgIGNvbnN0IG5ld1dpZHRoID0gd2lkdGggPCBtaW5XaWR0aCAqIGJvYXJkLnZpZXdwb3J0Lnpvb20gPyBtaW5XaWR0aCA6IHdpZHRoIC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBjb25zdCBuZXdIZWlnaHQgPSBoZWlnaHQgLyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIHJldHVybiB7IHdpZHRoOiBuZXdXaWR0aCwgaGVpZ2h0OiBuZXdIZWlnaHQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRUb3BpYyA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB0b3BpYzogRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSwgdG9waWMgfSxcbiAgICAgICAgLi4ubm9ybWFsaXplV2lkdGhBbmRIZWlnaHQoYm9hcmQsIGVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpXG4gICAgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXROb2RlTWFudWFsV2lkdGggPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgeyB3aWR0aDogbm9ybWFsaXplZFdpZHRoLCBoZWlnaHQ6IG5vcm1hbGl6ZWRIZWlnaHQgfSA9IG5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0geyBtYW51YWxXaWR0aDogbm9ybWFsaXplZFdpZHRoLCBoZWlnaHQ6IG5vcm1hbGl6ZWRIZWlnaHQgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFRvcGljU2l6ZSA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIC4uLm5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KVxuICAgIH07XG4gICAgbGV0IGlzRXF1YWxXaWR0aCA9IE1hdGguY2VpbChlbGVtZW50LndpZHRoKSA9PT0gTWF0aC5jZWlsKG5ld0VsZW1lbnQud2lkdGgpO1xuICAgIGxldCBpc0VxdWFsSGVpZ2h0ID0gTWF0aC5jZWlsKGVsZW1lbnQuaGVpZ2h0KSA9PT0gTWF0aC5jZWlsKG5ld0VsZW1lbnQuaGVpZ2h0KTtcbiAgICBpZiAoZWxlbWVudC5tYW51YWxXaWR0aCkge1xuICAgICAgICBpc0VxdWFsV2lkdGggPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWlzRXF1YWxXaWR0aCB8fCAhaXNFcXVhbEhlaWdodCkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IGRlbGV0YWJsZUVsZW1lbnRzID0gZ2V0Rmlyc3RMZXZlbEVsZW1lbnQoZWxlbWVudHMpO1xuXG4gICAgZGVsZXRhYmxlRWxlbWVudHNcbiAgICAgICAgLm1hcChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IGJvYXJkLnBhdGhSZWYocGF0aCk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZShib2FyZCwgcmVmLmN1cnJlbnQhKTtcbiAgICAgICAgICAgICAgICByZWYudW5yZWYoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKGFjdGlvbiA9PiB7XG4gICAgICAgICAgICBhY3Rpb24oKTtcbiAgICAgICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Tm9kZXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdLCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3QgcGF0aFJlZiA9IGJvYXJkLnBhdGhSZWYocGF0aCk7XG4gICAgZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKHBhdGhSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBlbGVtZW50LCBwYXRoUmVmLmN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcGF0aFJlZi51bnJlZigpO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydEFic3RyYWN0Tm9kZXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHZhbGlkQWJzdHJhY3RSZWZzOiBBYnN0cmFjdFJlZltdLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSwgcGF0aDogUGF0aCkgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucGFyZW50KHBhdGgpKTtcbiAgICBjb25zdCBhYnN0cmFjdFBhdGggPSBbLi4uUGF0aC5wYXJlbnQocGF0aCksIHBhcmVudC5jaGlsZHJlbj8ubGVuZ3RoIV07XG4gICAgY29uc3QgYWJzdHJhY3RzID0gdmFsaWRBYnN0cmFjdFJlZnMubWFwKHJlZnMgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGdldFJlbGF0aXZlU3RhcnRFbmRCeUFic3RyYWN0UmVmKHJlZnMsIGVsZW1lbnRzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlZnMuYWJzdHJhY3QsXG4gICAgICAgICAgICBzdGFydDogc3RhcnQgKyBwYXRoW3BhdGgubGVuZ3RoIC0gMV0sXG4gICAgICAgICAgICBlbmQ6IGVuZCArIHBhdGhbcGF0aC5sZW5ndGggLSAxXVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgaW5zZXJ0Tm9kZXMoYm9hcmQsIGFic3RyYWN0cywgYWJzdHJhY3RQYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRSaWdodE5vZGVDb3VudEJ5UmVmcyA9IChib2FyZDogUGxhaXRCb2FyZCwgcmVmczogUmlnaHROb2RlQ291bnRSZWZbXSkgPT4ge1xuICAgIHJlZnMuZm9yRWFjaChyZWYgPT4ge1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgcmlnaHROb2RlQ291bnQ6IHJlZi5yaWdodE5vZGVDb3VudCB9LCByZWYucGF0aCk7XG4gICAgfSk7XG59O1xuIl19
@@ -1,6 +1,15 @@
1
- import { PlaitElement } from '@plait/core';
1
+ import { PlaitElement, PlaitPluginKey } from '@plait/core';
2
2
  export function editTopic(element) {
3
3
  const component = PlaitElement.getComponent(element);
4
4
  component?.editTopic();
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvbm9kZS9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkzQyxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQW9CO0lBQzFDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFzQixDQUFDO0lBQzFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ub2RlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlZGl0VG9waWMoZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgIGNvbXBvbmVudD8uZWRpdFRvcGljKCk7XG59XG4iXX0=
6
+ export const temporaryDisableSelection = (board) => {
7
+ const currentOptions = board.getPluginOptions(PlaitPluginKey.withSelection);
8
+ board.setPluginOptions(PlaitPluginKey.withSelection, {
9
+ isDisabledSelect: true
10
+ });
11
+ setTimeout(() => {
12
+ board.setPluginOptions(PlaitPluginKey.withSelection, { ...currentOptions });
13
+ }, 0);
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvbm9kZS9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBcUIsY0FBYyxFQUFxQixNQUFNLGFBQWEsQ0FBQztBQUlqRyxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQW9CO0lBQzFDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFzQixDQUFDO0lBQzFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUF3QixFQUFFLEVBQUU7SUFDbEUsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RSxLQUFLLENBQUMsZ0JBQWdCLENBQW9CLGNBQWMsQ0FBQyxhQUFhLEVBQUU7UUFDcEUsZ0JBQWdCLEVBQUUsSUFBSTtLQUN6QixDQUFDLENBQUM7SUFDSCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ1osS0FBSyxDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25HLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0RWxlbWVudCwgUGxhaXRPcHRpb25zQm9hcmQsIFBsYWl0UGx1Z2luS2V5LCBXaXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IE1pbmROb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbm9kZS5jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZWRpdFRvcGljKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KSBhcyBNaW5kTm9kZUNvbXBvbmVudDtcbiAgICBjb21wb25lbnQ/LmVkaXRUb3BpYygpO1xufVxuXG5leHBvcnQgY29uc3QgdGVtcG9yYXJ5RGlzYWJsZVNlbGVjdGlvbiA9IChib2FyZDogUGxhaXRPcHRpb25zQm9hcmQpID0+IHtcbiAgICBjb25zdCBjdXJyZW50T3B0aW9ucyA9IGJvYXJkLmdldFBsdWdpbk9wdGlvbnMoUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbik7XG4gICAgYm9hcmQuc2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbiwge1xuICAgICAgICBpc0Rpc2FibGVkU2VsZWN0OiB0cnVlXG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGJvYXJkLnNldFBsdWdpbk9wdGlvbnM8V2l0aFBsdWdpbk9wdGlvbnM+KFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24sIHsgLi4uY3VycmVudE9wdGlvbnMgfSk7XG4gICAgfSwgMCk7XG59O1xuIl19