@plait/mind 0.26.0 → 0.27.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/image-base.component.d.ts +11 -3
- package/esm2020/base/image-base.component.mjs +36 -2
- package/esm2020/drawer/node-image.drawer.mjs +1 -2
- package/esm2020/interfaces/element.mjs +2 -4
- package/esm2020/node.component.mjs +18 -14
- package/esm2020/plugins/with-mind-create.mjs +5 -3
- package/esm2020/plugins/with-mind-hotkey.mjs +22 -37
- package/esm2020/plugins/with-mind.mjs +23 -37
- package/esm2020/plugins/with-node-dnd.mjs +9 -9
- package/esm2020/plugins/with-node-image-resize.mjs +48 -0
- package/esm2020/plugins/with-node-image.mjs +20 -19
- package/esm2020/plugins/with-node-resize.mjs +21 -15
- package/esm2020/utils/clipboard.mjs +7 -33
- package/esm2020/utils/index.mjs +1 -2
- package/esm2020/utils/node/common.mjs +7 -2
- package/esm2020/utils/node/image.mjs +1 -1
- package/esm2020/utils/position/image.mjs +14 -4
- package/fesm2015/plait-mind.mjs +200 -169
- package/fesm2015/plait-mind.mjs.map +1 -1
- package/fesm2020/plait-mind.mjs +200 -169
- package/fesm2020/plait-mind.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/with-mind-hotkey.d.ts +0 -4
- package/plugins/with-node-image-resize.d.ts +2 -0
- package/plugins/with-node-resize.d.ts +1 -1
- package/styles/styles.scss +0 -2
- package/utils/clipboard.d.ts +3 -6
- package/utils/index.d.ts +0 -1
- package/utils/node/common.d.ts +2 -1
- package/utils/node/image.d.ts +5 -4
- package/utils/position/image.d.ts +11 -1
- package/esm2020/utils/is-virtual-key.mjs +0 -13
- package/utils/is-virtual-key.d.ts +0 -1
|
@@ -2,6 +2,7 @@ import { RectangleClient } from '@plait/core';
|
|
|
2
2
|
import { MindElement } from '../../interfaces/element';
|
|
3
3
|
import { getRectangleByNode } from './node';
|
|
4
4
|
import { NodeSpace } from '../space/node-space';
|
|
5
|
+
import { RESIZE_HANDLE_DIAMETER, getRectangleResizeHandleRefs } from '@plait/common';
|
|
5
6
|
export function getImageForeignRectangle(board, element) {
|
|
6
7
|
let { x, y } = getRectangleByNode(MindElement.getNode(element));
|
|
7
8
|
const elementWidth = element.manualWidth || element.width;
|
|
@@ -17,10 +18,19 @@ export function getImageForeignRectangle(board, element) {
|
|
|
17
18
|
width,
|
|
18
19
|
height
|
|
19
20
|
};
|
|
20
|
-
return
|
|
21
|
+
return rectangle;
|
|
21
22
|
}
|
|
22
23
|
export const isHitImage = (board, element, range) => {
|
|
23
|
-
const
|
|
24
|
-
|
|
24
|
+
const imageRectangle = getImageForeignRectangle(board, element);
|
|
25
|
+
const imageOutlineRectangle = RectangleClient.getOutlineRectangle(imageRectangle, -RESIZE_HANDLE_DIAMETER / 2);
|
|
26
|
+
return RectangleClient.isHit(RectangleClient.toRectangleClient([range.anchor, range.focus]), imageOutlineRectangle);
|
|
25
27
|
};
|
|
26
|
-
|
|
28
|
+
export const getHitImageResizeHandleDirection = (board, element, point) => {
|
|
29
|
+
const imageRectangle = getImageForeignRectangle(board, element);
|
|
30
|
+
const resizeHandleRefs = getRectangleResizeHandleRefs(imageRectangle, RESIZE_HANDLE_DIAMETER);
|
|
31
|
+
const result = resizeHandleRefs.find(resizeHandleRef => {
|
|
32
|
+
return RectangleClient.isHit(RectangleClient.toRectangleClient([point, point]), resizeHandleRef.rectangle);
|
|
33
|
+
});
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9wb3NpdGlvbi9pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQXFCLEVBQUUsT0FBK0I7SUFDM0YsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO0lBRTFELENBQUM7UUFDRyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUNuQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNoRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFNLENBQUM7SUFDOUMsTUFBTSxTQUFTLEdBQUc7UUFDZCxDQUFDO1FBQ0QsQ0FBQztRQUNELEtBQUs7UUFDTCxNQUFNO0tBQ1QsQ0FBQztJQUNGLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsS0FBWSxFQUFFLEVBQUU7SUFDM0YsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUMsS0FBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRyxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3hILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLEtBQVksRUFBRSxFQUFFO0lBQ2pILE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDLEtBQXVCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEYsTUFBTSxnQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUM5RixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDbkQsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRyxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50LCBSYW5nZSwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgSW1hZ2VEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50LWRhdGEnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBSRVNJWkVfSEFORExFX0RJQU1FVEVSLCBnZXRSZWN0YW5nbGVSZXNpemVIYW5kbGVSZWZzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+KTogUmVjdGFuZ2xlQ2xpZW50IHtcbiAgICBsZXQgeyB4LCB5IH0gPSBnZXRSZWN0YW5nbGVCeU5vZGUoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSk7XG4gICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudC5tYW51YWxXaWR0aCB8fCBlbGVtZW50LndpZHRoO1xuXG4gICAgeCA9XG4gICAgICAgIGVsZW1lbnRXaWR0aCA+IGVsZW1lbnQuZGF0YS5pbWFnZS53aWR0aFxuICAgICAgICAgICAgPyB4ICsgTm9kZVNwYWNlLmdldFRleHRMZWZ0U3BhY2UoYm9hcmQsIGVsZW1lbnQpICsgKGVsZW1lbnRXaWR0aCAtIGVsZW1lbnQuZGF0YS5pbWFnZS53aWR0aCkgLyAyXG4gICAgICAgICAgICA6IHggKyBOb2RlU3BhY2UuZ2V0VGV4dExlZnRTcGFjZShib2FyZCwgZWxlbWVudCk7XG4gICAgeSA9IE5vZGVTcGFjZS5nZXRJbWFnZVRvcFNwYWNlKGJvYXJkLCBlbGVtZW50KSArIHk7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBlbGVtZW50LmRhdGEuaW1hZ2UhO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IHtcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodFxuICAgIH07XG4gICAgcmV0dXJuIHJlY3RhbmdsZTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzSGl0SW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4sIHJhbmdlOiBSYW5nZSkgPT4ge1xuICAgIGNvbnN0IGltYWdlUmVjdGFuZ2xlID0gZ2V0SW1hZ2VGb3JlaWduUmVjdGFuZ2xlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBpbWFnZU91dGxpbmVSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0T3V0bGluZVJlY3RhbmdsZShpbWFnZVJlY3RhbmdsZSwgLVJFU0laRV9IQU5ETEVfRElBTUVURVIgLyAyKTtcbiAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcmFuZ2UuYW5jaG9yLCByYW5nZS5mb2N1c10pLCBpbWFnZU91dGxpbmVSZWN0YW5nbGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEhpdEltYWdlUmVzaXplSGFuZGxlRGlyZWN0aW9uID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+LCBwb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCBpbWFnZVJlY3RhbmdsZSA9IGdldEltYWdlRm9yZWlnblJlY3RhbmdsZShib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlUmVmcyA9IGdldFJlY3RhbmdsZVJlc2l6ZUhhbmRsZVJlZnMoaW1hZ2VSZWN0YW5nbGUsIFJFU0laRV9IQU5ETEVfRElBTUVURVIpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHJlc2l6ZUhhbmRsZVJlZnMuZmluZChyZXNpemVIYW5kbGVSZWYgPT4ge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcG9pbnQsIHBvaW50XSksIHJlc2l6ZUhhbmRsZVJlZi5yZWN0YW5nbGUpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuIl19
|