@plait/core 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants/index.d.ts +2 -0
- package/constants/resize.d.ts +3 -0
- package/esm2020/constants/index.mjs +3 -1
- package/esm2020/constants/resize.mjs +5 -0
- package/esm2020/plugins/with-selection.mjs +16 -5
- package/esm2020/utils/selected-element.mjs +3 -10
- package/esm2020/utils/tree.mjs +12 -1
- package/fesm2015/plait-core.mjs +33 -13
- package/fesm2015/plait-core.mjs.map +1 -1
- package/fesm2020/plait-core.mjs +33 -13
- package/fesm2020/plait-core.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/with-selection.d.ts +4 -0
- package/styles/styles.scss +4 -0
- package/utils/tree.d.ts +3 -0
package/constants/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './keycodes';
|
|
2
|
+
export * from './resize';
|
|
2
3
|
export declare const CLIP_BOARD_FORMAT_KEY = "x-plait-fragment";
|
|
3
4
|
export declare const HOST_CLASS_NAME = "plait-board-container";
|
|
4
5
|
export declare const SCROLL_BAR_WIDTH = 20;
|
|
@@ -9,3 +10,4 @@ export declare const POINTER_BUTTON: {
|
|
|
9
10
|
readonly SECONDARY: 2;
|
|
10
11
|
readonly TOUCH: -1;
|
|
11
12
|
};
|
|
13
|
+
export declare const PRESS_AND_MOVE_BUFFER = 5;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './keycodes';
|
|
2
|
+
export * from './resize';
|
|
2
3
|
export const CLIP_BOARD_FORMAT_KEY = 'x-plait-fragment';
|
|
3
4
|
export const HOST_CLASS_NAME = 'plait-board-container';
|
|
4
5
|
export const SCROLL_BAR_WIDTH = 20;
|
|
@@ -9,4 +10,5 @@ export const POINTER_BUTTON = {
|
|
|
9
10
|
SECONDARY: 2,
|
|
10
11
|
TOUCH: -1,
|
|
11
12
|
};
|
|
12
|
-
|
|
13
|
+
export const PRESS_AND_MOVE_BUFFER = 5;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztBQUU3QixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQztJQUNSLFNBQVMsRUFBRSxDQUFDO0lBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQztDQUNELENBQUM7QUFFYixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2tleWNvZGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplJztcblxuZXhwb3J0IGNvbnN0IENMSVBfQk9BUkRfRk9STUFUX0tFWSA9ICd4LXBsYWl0LWZyYWdtZW50JztcblxuZXhwb3J0IGNvbnN0IEhPU1RfQ0xBU1NfTkFNRSA9ICdwbGFpdC1ib2FyZC1jb250YWluZXInO1xuXG5leHBvcnQgY29uc3QgU0NST0xMX0JBUl9XSURUSCA9IDIwO1xuXG5leHBvcnQgY29uc3QgTUFYX1JBRElVUyA9IDE2O1xuXG5leHBvcnQgY29uc3QgUE9JTlRFUl9CVVRUT04gPSB7XG4gICAgTUFJTjogMCxcbiAgICBXSEVFTDogMSxcbiAgICBTRUNPTkRBUlk6IDIsXG4gICAgVE9VQ0g6IC0xLFxuICB9IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgUFJFU1NfQU5EX01PVkVfQlVGRkVSID0gNTtcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var ResizeCursorClass;
|
|
2
|
+
(function (ResizeCursorClass) {
|
|
3
|
+
ResizeCursorClass["ew-resize"] = "ew-resize";
|
|
4
|
+
})(ResizeCursorClass || (ResizeCursorClass = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhaXQvc3JjL2NvbnN0YW50cy9yZXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksaUJBRVg7QUFGRCxXQUFZLGlCQUFpQjtJQUN6Qiw0Q0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBRlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUU1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFJlc2l6ZUN1cnNvckNsYXNzIHtcbiAgICAnZXctcmVzaXplJyA9ICdldy1yZXNpemUnXG59Il19
|
|
@@ -17,7 +17,12 @@ export function withSelection(board) {
|
|
|
17
17
|
let selectionMovingG;
|
|
18
18
|
let selectionOuterG;
|
|
19
19
|
let previousSelectedElements;
|
|
20
|
+
// prevent text from being selected when user pressed main pointer and is moving
|
|
21
|
+
let needPreventNativeSelectionWhenMoving = false;
|
|
20
22
|
board.mousedown = (event) => {
|
|
23
|
+
if (event.target instanceof Element && !event.target.closest('.plait-richtext-container')) {
|
|
24
|
+
needPreventNativeSelectionWhenMoving = true;
|
|
25
|
+
}
|
|
21
26
|
if (!isMainPointer(event)) {
|
|
22
27
|
mousedown(event);
|
|
23
28
|
return;
|
|
@@ -37,14 +42,13 @@ export function withSelection(board) {
|
|
|
37
42
|
!options.isDisabledSelect) {
|
|
38
43
|
start = point;
|
|
39
44
|
}
|
|
40
|
-
if (PlaitBoard.isPointer(board, PlaitPointerType.selection) && hitElements.length === 0 && !PlaitBoard.hasBeenTextEditing(board)) {
|
|
41
|
-
// prevent text from being selected
|
|
42
|
-
event.preventDefault();
|
|
43
|
-
}
|
|
44
45
|
Transforms.setSelection(board, { ranges: [range] });
|
|
45
46
|
mousedown(event);
|
|
46
47
|
};
|
|
47
48
|
board.globalMousemove = (event) => {
|
|
49
|
+
if (needPreventNativeSelectionWhenMoving) {
|
|
50
|
+
preventNativeSelection(board, event);
|
|
51
|
+
}
|
|
48
52
|
if (start) {
|
|
49
53
|
const movedTarget = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
50
54
|
const { x, y, width, height } = RectangleClient.toRectangleClient([start, movedTarget]);
|
|
@@ -87,6 +91,7 @@ export function withSelection(board) {
|
|
|
87
91
|
}
|
|
88
92
|
start = null;
|
|
89
93
|
end = null;
|
|
94
|
+
needPreventNativeSelectionWhenMoving = false;
|
|
90
95
|
globalMouseup(event);
|
|
91
96
|
};
|
|
92
97
|
board.onChange = () => {
|
|
@@ -168,4 +173,10 @@ export function createSelectionOuterG(board, selectElements) {
|
|
|
168
173
|
fillStyle: 'solid'
|
|
169
174
|
});
|
|
170
175
|
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zZWxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvcGx1Z2lucy93aXRoLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPMUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFpQjtJQUMzQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXRFLElBQUksS0FBSyxHQUFpQixJQUFJLENBQUM7SUFDL0IsSUFBSSxHQUFHLEdBQWlCLElBQUks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O0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWlCO0lBQ2hELFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQWlCO0lBQ2xELFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDekUsNEJBQTRCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBaUIsRUFBRSxjQUE4QjtJQUNuRixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzVELE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsV0FBVyxFQUFFLENBQUM7UUFDZCxTQUFTLEVBQUUsT0FBTztLQUNyQixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50JztcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHRyYW5zZm9ybVBvaW50IH0gZnJvbSAnLi4vdXRpbHMvYm9hcmQnO1xuaW1wb3J0IHsgaXNNYWluUG9pbnRlciwgdG9Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZWN0YW5nbGUtY2xpZW50JztcbmltcG9ydCB7IGNhY2hlU2VsZWN0ZWRFbGVtZW50cywgZ2V0SGl0RWxlbWVudHMsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZC1lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCwgUGxhaXRQb2ludGVyVHlwZSwgU0VMRUNUSU9OX0JPUkRFUl9DT0xPUiwgU0VMRUNUSU9OX0ZJTExfQ09MT1IgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9lbGVtZW50JztcbmltcG9ydCB7IEJPQVJEX1RPX0lTX1NFTEVDVElPTl9NT1ZJTkcsIEJPQVJEX1RPX1RFTVBPUkFSWV9FTEVNRU5UUyB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBBVFRBQ0hFRF9FTEVNRU5UX0NMQVNTX05BTUUgfSBmcm9tICcuLi9jb25zdGFudHMvc2VsZWN0aW9uJztcbmltcG9ydCB7IHRocm90dGxlUkFGIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhaXRPcHRpb25zQm9hcmQsIFBsYWl0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vd2l0aC1vcHRpb25zJztcbmltcG9ydCB7IFBsYWl0UGx1Z2luS2V5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wbHVnaW4ta2V5JztcblxuZXhwb3J0IGludGVyZmFjZSBXaXRoUGx1Z2luT3B0aW9ucyBleHRlbmRzIFBsYWl0UGx1Z2luT3B0aW9ucyB7XG4gICAgaXNNdWx0aXBsZTogYm9vbGVhbjtcbiAgICBpc0Rpc2FibGVkU2VsZWN0OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFNlbGVjdGlvbihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGNvbnN0IHsgbW91c2Vkb3duLCBnbG9iYWxNb3VzZW1vdmUsIGdsb2JhbE1vdXNldXAsIG9uQ2hhbmdlIH0gPSBib2FyZDtcblxuICAgIGxldCBzdGFydDogUG9pbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZW5kOiBQb2ludCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBzZWxlY3Rpb25Nb3ZpbmdHOiBTVkdHRWxlbWVudDtcbiAgICBsZXQgc2VsZWN0aW9uT3V0ZXJHOiBTVkdHRWxlbWVudDtcbiAgICBsZXQgcHJldmlvdXNTZWxlY3RlZEVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXTtcblxuICAgIGJvYXJkLm1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAoIWlzTWFpblBvaW50ZXIoZXZlbnQpKSB7XG4gICAgICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbik7XG5cbiAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGNvbnN0IHJhbmdlID0geyBhbmNob3I6IHBvaW50LCBmb2N1czogcG9pbnQgfTtcbiAgICAgICAgY29uc3QgaGl0RWxlbWVudHMgPSBnZXRIaXRFbGVtZW50cyhib2FyZCwgeyByYW5nZXM6IFtyYW5nZV0gfSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgaWYgKGhpdEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGhpdEVsZW1lbnRzWzBdKSkge1xuICAgICAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pICYmXG4gICAgICAgICAgICBoaXRFbGVtZW50cy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgIG9wdGlvbnMuaXNNdWx0aXBsZSAmJlxuICAgICAgICAgICAgIW9wdGlvbnMuaXNEaXNhYmxlZFNlbGVjdFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gcG9pbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKSAmJiBoaXRFbGVtZW50cy5sZW5ndGggPT09IDAgJiYgIVBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgLy8gcHJldmVudCB0ZXh0IGZyb20gYmVpbmcgc2VsZWN0ZWRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbihib2FyZCwgeyByYW5nZXM6IFtyYW5nZV0gfSk7XG5cbiAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsTW91c2Vtb3ZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydCkge1xuICAgICAgICAgICAgY29uc3QgbW92ZWRUYXJnZXQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbc3RhcnQsIG1vdmVkVGFyZ2V0XSk7XG4gICAgICAgICAgICBzZWxlY3Rpb25Nb3ZpbmdHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmh5cG90KHdpZHRoLCBoZWlnaHQpID4gNSkge1xuICAgICAgICAgICAgICAgIGVuZCA9IG1vdmVkVGFyZ2V0O1xuICAgICAgICAgICAgICAgIHRocm90dGxlUkFGKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb24oYm9hcmQsIHsgcmFuZ2VzOiBbeyBhbmNob3I6IHN0YXJ0LCBmb2N1czogZW5kIH1dIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0aW9uTW92aW5nKGJvYXJkKTtcbiAgICAgICAgICAgICAgICBjb25zdCByb3VnaCA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICAgICAgICAgIHNlbGVjdGlvbk1vdmluZ0cgPSByb3VnaC5yZWN0YW5nbGUoeCwgeSwgd2lkdGgsIGhlaWdodCwge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBTRUxFQ1RJT05fRklMTF9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmQoc2VsZWN0aW9uTW92aW5nRyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsTW91c2Vtb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsTW91c2V1cCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAoc3RhcnQgJiYgZW5kKSB7XG4gICAgICAgICAgICBzZWxlY3Rpb25Nb3ZpbmdHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0aW9uTW92aW5nKGJvYXJkKTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uKGJvYXJkLCB7IHJhbmdlczogW3sgYW5jaG9yOiBzdGFydCwgZm9jdXM6IGVuZCB9XSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzRm9jdXMoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBpc0luQm9hcmQgPSBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlICYmIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCBpc0luRG9jdW1lbnQgPSBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlICYmIGRvY3VtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCBpc0F0dGFjaGVkRWxlbWVudCA9IGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgZXZlbnQudGFyZ2V0LmNsb3Nlc3QoYC4ke0FUVEFDSEVEX0VMRU1FTlRfQ0xBU1NfTkFNRX1gKTtcbiAgICAgICAgICAgIC8vIENsZWFyIHNlbGVjdGlvbiB3aGVuIG1vdXNlIGJvYXJkIG91dHNpZGUgYXJlYVxuICAgICAgICAgICAgLy8gVGhlIGZyYW1ld29yayBuZWVkcyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgYm9hcmQgaXMgZm9jdXNlZCB0aHJvdWdoIHNlbGVjdGlvblxuICAgICAgICAgICAgaWYgKCFpc0luQm9hcmQgJiYgIXN0YXJ0ICYmICFpc0F0dGFjaGVkRWxlbWVudCAmJiBpc0luRG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbihib2FyZCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdGFydCA9IG51bGw7XG4gICAgICAgIGVuZCA9IG51bGw7XG4gICAgICAgIGdsb2JhbE1vdXNldXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5vbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbik7XG4gICAgICAgIC8vIGNhbGMgc2VsZWN0ZWQgZWxlbWVudHMgZW50cnlcbiAgICAgICAgaWYgKGJvYXJkLnBvaW50ZXIgIT09IFBsYWl0UG9pbnRlclR5cGUuaGFuZCAmJiAhb3B0aW9ucy5pc0Rpc2FibGVkU2VsZWN0KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmIChib2FyZC5vcGVyYXRpb25zLmZpbmQodmFsdWUgPT4gdmFsdWUudHlwZSA9PT0gJ3NldF9zZWxlY3Rpb24nKSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1wb3JhcnlFbGVtZW50cyA9IGdldFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRzID0gdGVtcG9yYXJ5RWxlbWVudHMgPyB0ZW1wb3JhcnlFbGVtZW50cyA6IGdldEhpdEVsZW1lbnRzKGJvYXJkKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuaXNNdWx0aXBsZSAmJiBlbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyA9IFtlbGVtZW50c1swXV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2FjaGVTZWxlY3RlZEVsZW1lbnRzKGJvYXJkLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzU2VsZWN0ZWRFbGVtZW50cyA9IGVsZW1lbnRzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGVsZW1lbnRzLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCAmJiBlbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckcgPSBjcmVhdGVTZWxlY3Rpb25PdXRlckcoYm9hcmQsIGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRy5jbGFzc0xpc3QuYWRkKCdzZWxlY3Rpb24tb3V0ZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKHNlbGVjdGlvbk91dGVyRyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlVGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdhaXQgbm9kZSBkZXN0cm95IGFuZCByZW1vdmUgc2VsZWN0ZWQgZWxlbWVudCBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudFNlbGVjdGVkRWxlbWVudHMubGVuZ3RoICYmIGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRDaGFuZ2UgPSBjdXJyZW50U2VsZWN0ZWRFbGVtZW50cy5zb21lKGl0ZW0gPT4gIXByZXZpb3VzU2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhpdGVtKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudENoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckcgPSBjcmVhdGVTZWxlY3Rpb25PdXRlckcoYm9hcmQsIGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGlvbi1vdXRlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZChzZWxlY3Rpb25PdXRlckcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZSgpO1xuICAgIH07XG5cbiAgICAoYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLnNldFBsdWdpbk9wdGlvbnM8V2l0aFBsdWdpbk9wdGlvbnM+KFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24sIHtcbiAgICAgICAgaXNNdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgaXNEaXNhYmxlZFNlbGVjdDogZmFsc2VcbiAgICB9KTtcblxuICAgIHJldHVybiBib2FyZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgcmV0dXJuIEJPQVJEX1RPX1RFTVBPUkFSWV9FTEVNRU5UUy5nZXQoYm9hcmQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlVGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMuZGVsZXRlKGJvYXJkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0aW9uTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgcmV0dXJuICEhQk9BUkRfVE9fSVNfU0VMRUNUSU9OX01PVklORy5nZXQoYm9hcmQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0U2VsZWN0aW9uTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZCgnc2VsZWN0aW9uLW1vdmluZycpO1xuICAgIEJPQVJEX1RPX0lTX1NFTEVDVElPTl9NT1ZJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyU2VsZWN0aW9uTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0aW9uLW1vdmluZycpO1xuICAgIEJPQVJEX1RPX0lTX1NFTEVDVElPTl9NT1ZJTkcuZGVsZXRlKGJvYXJkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdGlvbk91dGVyRyhib2FyZDogUGxhaXRCb2FyZCwgc2VsZWN0RWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSB7XG4gICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBzZWxlY3RFbGVtZW50cywgZmFsc2UpO1xuICAgIGNvbnN0IHJvdWdoID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgcmV0dXJuIHJvdWdoLnJlY3RhbmdsZSh4IC0gMi41LCB5IC0gMi41LCB3aWR0aCArIDUsIGhlaWdodCArIDUsIHtcbiAgICAgICAgc3Ryb2tlOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgfSk7XG59XG4iXX0=
|
|
176
|
+
/**
|
|
177
|
+
* prevent text from being selected
|
|
178
|
+
*/
|
|
179
|
+
export const preventNativeSelection = (board, event) => {
|
|
180
|
+
event.preventDefault();
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zZWxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvcGx1Z2lucy93aXRoLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPMUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFpQjtJQUMzQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXRFLElBQUksS0FBSyxHQUFpQixJQUFJLENBQUM7SUFDL0IsSUFBSSxHQUFHLEdBQWlCLElBQUksQ0FBQztJQUM3QixJQUFJLGdCQUE2QixDQUFDO0lBQ2xDLElBQUksZUFBNEIsQ0FBQztJQUNqQyxJQUFJLHdCQUF3QyxDQUFDO0lBRTdDLGdGQUFnRjtJQUNoRixJQUFJLG9DQUFvQyxHQUFHLEtBQUssQ0FBQztJQUVqRCxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1FBQ3BDLElBQUksS0FBSyxDQUFDLE1BQU0sWUFBWSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO1lBQ3ZGLG9DQUFvQyxHQUFHLElBQUksQ0FBQztTQUMvQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pCLE9BQU87U0FDVjtRQUVELE1BQU0sT0FBTyxHQUFJLEtBQTJCLENBQUMsZ0JBQWdCLENBQW9CLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUvRyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsTUFBTSxLQUFLLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEQsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pCLE9BQU87U0FDVjtRQUVELElBQ0ksVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1lBQ3ZELFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN4QixPQUFPLENBQUMsVUFBVTtZQUNsQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFDM0I7WUFDRSxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ2pCO1FBRUQsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEQsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDMUMsSUFBSSxvQ0FBb0MsRUFBRTtZQUN0QyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDeEM7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNQLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDeEYsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQy9CLEdBQUcsR0FBRyxXQUFXLENBQUM7Z0JBQ2xCLFdBQVcsQ0FBQyxHQUFHLEVBQUU7b0JBQ2IsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFO3dCQUNkLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDL0U7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO29CQUNwRCxNQUFNLEVBQUUsc0JBQXNCO29CQUM5QixXQUFXLEVBQUUsQ0FBQztvQkFDZCxJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixTQUFTLEVBQUUsT0FBTztpQkFDckIsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDdEQ7U0FDSjtRQUNELGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsYUFBYSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1FBQ3hDLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtZQUNkLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvRTtRQUVELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxZQUFZLElBQUksSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxZQUFZLElBQUksSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyRixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxNQUFNLFlBQVksT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksMkJBQTJCLEVBQUUsQ0FBQyxDQUFDO1lBQ3JILGdEQUFnRDtZQUNoRCxrRkFBa0Y7WUFDbEYsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLGlCQUFpQixJQUFJLFlBQVksRUFBRTtnQkFDNUQsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDeEM7U0FDSjtRQUVELEtBQUssR0FBRyxJQUFJLENBQUM7UUFDYixHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ1gsb0NBQW9DLEdBQUcsS0FBSyxDQUFDO1FBQzdDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtRQUNsQixNQUFNLE9BQU8sR0FBSSxLQUEyQixDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0csK0JBQStCO1FBQy9CLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEUsSUFBSTtnQkFDQSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsRUFBRTtvQkFDaEUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUMxQixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN0RCxJQUFJLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFFN0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQzVDLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM1QjtvQkFDRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQ3ZDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztvQkFDcEMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUN6RSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDaEQsZUFBZSxHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQzt3QkFDekQsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7cUJBQ3JEO29CQUNELHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDSCxzREFBc0Q7b0JBQ3RELFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ1osTUFBTSx1QkFBdUIsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDM0QsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLElBQUksdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs0QkFDdEUsTUFBTSxxQkFBcUIsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUM3RyxJQUFJLHFCQUFxQixFQUFFO2dDQUN2QixlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0NBQzFCLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztnQ0FDeEUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQ0FDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7NkJBQ3JEO3lCQUNKOzZCQUFNOzRCQUNILGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQzt5QkFDN0I7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7aUJBQ047YUFDSjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEI7U0FDSjtRQUNELFFBQVEsRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRUQsS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsRUFBRTtRQUMzRixVQUFVLEVBQUUsSUFBSTtRQUNoQixnQkFBZ0IsRUFBRSxLQUFLO0tBQzFCLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBaUI7SUFDbEQsT0FBTywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFpQjtJQUNyRCwyQkFBMkIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFpQjtJQUMvQyxPQUFPLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFpQjtJQUNoRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFpQjtJQUNsRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3pFLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEtBQWlCLEVBQUUsY0FBOEI7SUFDbkYsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLHNCQUFzQixDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUM1RCxNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLFdBQVcsRUFBRSxDQUFDO1FBQ2QsU0FBUyxFQUFFLE9BQU87S0FDckIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQWlCLEVBQUUsRUFBRTtJQUMzRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7QUFDM0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50JztcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHRyYW5zZm9ybVBvaW50IH0gZnJvbSAnLi4vdXRpbHMvYm9hcmQnO1xuaW1wb3J0IHsgaXNNYWluUG9pbnRlciwgdG9Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZWN0YW5nbGUtY2xpZW50JztcbmltcG9ydCB7IGNhY2hlU2VsZWN0ZWRFbGVtZW50cywgZ2V0SGl0RWxlbWVudHMsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZC1lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCwgUGxhaXRQb2ludGVyVHlwZSwgU0VMRUNUSU9OX0JPUkRFUl9DT0xPUiwgU0VMRUNUSU9OX0ZJTExfQ09MT1IgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9lbGVtZW50JztcbmltcG9ydCB7IEJPQVJEX1RPX0lTX1NFTEVDVElPTl9NT1ZJTkcsIEJPQVJEX1RPX1RFTVBPUkFSWV9FTEVNRU5UUyB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBBVFRBQ0hFRF9FTEVNRU5UX0NMQVNTX05BTUUgfSBmcm9tICcuLi9jb25zdGFudHMvc2VsZWN0aW9uJztcbmltcG9ydCB7IHRocm90dGxlUkFGIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhaXRPcHRpb25zQm9hcmQsIFBsYWl0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vd2l0aC1vcHRpb25zJztcbmltcG9ydCB7IFBsYWl0UGx1Z2luS2V5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wbHVnaW4ta2V5JztcblxuZXhwb3J0IGludGVyZmFjZSBXaXRoUGx1Z2luT3B0aW9ucyBleHRlbmRzIFBsYWl0UGx1Z2luT3B0aW9ucyB7XG4gICAgaXNNdWx0aXBsZTogYm9vbGVhbjtcbiAgICBpc0Rpc2FibGVkU2VsZWN0OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFNlbGVjdGlvbihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGNvbnN0IHsgbW91c2Vkb3duLCBnbG9iYWxNb3VzZW1vdmUsIGdsb2JhbE1vdXNldXAsIG9uQ2hhbmdlIH0gPSBib2FyZDtcblxuICAgIGxldCBzdGFydDogUG9pbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZW5kOiBQb2ludCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBzZWxlY3Rpb25Nb3ZpbmdHOiBTVkdHRWxlbWVudDtcbiAgICBsZXQgc2VsZWN0aW9uT3V0ZXJHOiBTVkdHRWxlbWVudDtcbiAgICBsZXQgcHJldmlvdXNTZWxlY3RlZEVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXTtcblxuICAgIC8vIHByZXZlbnQgdGV4dCBmcm9tIGJlaW5nIHNlbGVjdGVkIHdoZW4gdXNlciBwcmVzc2VkIG1haW4gcG9pbnRlciBhbmQgaXMgbW92aW5nXG4gICAgbGV0IG5lZWRQcmV2ZW50TmF0aXZlU2VsZWN0aW9uV2hlbk1vdmluZyA9IGZhbHNlO1xuXG4gICAgYm9hcmQubW91c2Vkb3duID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50ICYmICFldmVudC50YXJnZXQuY2xvc2VzdCgnLnBsYWl0LXJpY2h0ZXh0LWNvbnRhaW5lcicpKSB7XG4gICAgICAgICAgICBuZWVkUHJldmVudE5hdGl2ZVNlbGVjdGlvbldoZW5Nb3ZpbmcgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc01haW5Qb2ludGVyKGV2ZW50KSkge1xuICAgICAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnM8V2l0aFBsdWdpbk9wdGlvbnM+KFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCByYW5nZSA9IHsgYW5jaG9yOiBwb2ludCwgZm9jdXM6IHBvaW50IH07XG4gICAgICAgIGNvbnN0IGhpdEVsZW1lbnRzID0gZ2V0SGl0RWxlbWVudHMoYm9hcmQsIHsgcmFuZ2VzOiBbcmFuZ2VdIH0pO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG5cbiAgICAgICAgaWYgKGhpdEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGhpdEVsZW1lbnRzWzBdKSkge1xuICAgICAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIFBsYWl0Qm9hcmQuaXNQb2ludGVyKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbikgJiZcbiAgICAgICAgICAgIGhpdEVsZW1lbnRzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICAgb3B0aW9ucy5pc011bHRpcGxlICYmXG4gICAgICAgICAgICAhb3B0aW9ucy5pc0Rpc2FibGVkU2VsZWN0XG4gICAgICAgICkge1xuICAgICAgICAgICAgc3RhcnQgPSBwb2ludDtcbiAgICAgICAgfVxuXG4gICAgICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uKGJvYXJkLCB7IHJhbmdlczogW3JhbmdlXSB9KTtcblxuICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxNb3VzZW1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKG5lZWRQcmV2ZW50TmF0aXZlU2VsZWN0aW9uV2hlbk1vdmluZykge1xuICAgICAgICAgICAgcHJldmVudE5hdGl2ZVNlbGVjdGlvbihib2FyZCwgZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1vdmVkVGFyZ2V0ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3N0YXJ0LCBtb3ZlZFRhcmdldF0pO1xuICAgICAgICAgICAgc2VsZWN0aW9uTW92aW5nRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBpZiAoTWF0aC5oeXBvdCh3aWR0aCwgaGVpZ2h0KSA+IDUpIHtcbiAgICAgICAgICAgICAgICBlbmQgPSBtb3ZlZFRhcmdldDtcbiAgICAgICAgICAgICAgICB0aHJvdHRsZVJBRigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uKGJvYXJkLCB7IHJhbmdlczogW3sgYW5jaG9yOiBzdGFydCwgZm9jdXM6IGVuZCB9XSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGlvbk1vdmluZyhib2FyZCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91Z2ggPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25Nb3ZpbmdHID0gcm91Z2gucmVjdGFuZ2xlKHgsIHksIHdpZHRoLCBoZWlnaHQsIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogU0VMRUNUSU9OX0ZJTExfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKHNlbGVjdGlvbk1vdmluZ0cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdsb2JhbE1vdXNlbW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbE1vdXNldXAgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgc2VsZWN0aW9uTW92aW5nRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBjbGVhclNlbGVjdGlvbk1vdmluZyhib2FyZCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbihib2FyZCwgeyByYW5nZXM6IFt7IGFuY2hvcjogc3RhcnQsIGZvY3VzOiBlbmQgfV0gfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0ZvY3VzKGJvYXJkKSkge1xuICAgICAgICAgICAgY29uc3QgaXNJbkJvYXJkID0gZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSAmJiBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgaXNJbkRvY3VtZW50ID0gZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSAmJiBkb2N1bWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgaXNBdHRhY2hlZEVsZW1lbnQgPSBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50ICYmIGV2ZW50LnRhcmdldC5jbG9zZXN0KGAuJHtBVFRBQ0hFRF9FTEVNRU5UX0NMQVNTX05BTUV9YCk7XG4gICAgICAgICAgICAvLyBDbGVhciBzZWxlY3Rpb24gd2hlbiBtb3VzZSBib2FyZCBvdXRzaWRlIGFyZWFcbiAgICAgICAgICAgIC8vIFRoZSBmcmFtZXdvcmsgbmVlZHMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGJvYXJkIGlzIGZvY3VzZWQgdGhyb3VnaCBzZWxlY3Rpb25cbiAgICAgICAgICAgIGlmICghaXNJbkJvYXJkICYmICFzdGFydCAmJiAhaXNBdHRhY2hlZEVsZW1lbnQgJiYgaXNJbkRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb24oYm9hcmQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICBlbmQgPSBudWxsO1xuICAgICAgICBuZWVkUHJldmVudE5hdGl2ZVNlbGVjdGlvbldoZW5Nb3ZpbmcgPSBmYWxzZTtcbiAgICAgICAgZ2xvYmFsTW91c2V1cChldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLm9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uKTtcbiAgICAgICAgLy8gY2FsYyBzZWxlY3RlZCBlbGVtZW50cyBlbnRyeVxuICAgICAgICBpZiAoYm9hcmQucG9pbnRlciAhPT0gUGxhaXRQb2ludGVyVHlwZS5oYW5kICYmICFvcHRpb25zLmlzRGlzYWJsZWRTZWxlY3QpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaWYgKGJvYXJkLm9wZXJhdGlvbnMuZmluZCh2YWx1ZSA9PiB2YWx1ZS50eXBlID09PSAnc2V0X3NlbGVjdGlvbicpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBvcmFyeUVsZW1lbnRzID0gZ2V0VGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZWxlbWVudHMgPSB0ZW1wb3JhcnlFbGVtZW50cyA/IHRlbXBvcmFyeUVsZW1lbnRzIDogZ2V0SGl0RWxlbWVudHMoYm9hcmQpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5pc011bHRpcGxlICYmIGVsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzID0gW2VsZW1lbnRzWzBdXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYWNoZVNlbGVjdGVkRWxlbWVudHMoYm9hcmQsIGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNTZWxlY3RlZEVsZW1lbnRzID0gZWxlbWVudHM7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgZWxlbWVudHMsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwICYmIGVsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRyA9IGNyZWF0ZVNlbGVjdGlvbk91dGVyRyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGlvbi1vdXRlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmQoc2VsZWN0aW9uT3V0ZXJHKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkZWxldGVUZW1wb3JhcnlFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2FpdCBub2RlIGRlc3Ryb3kgYW5kIHJlbW92ZSBzZWxlY3RlZCBlbGVtZW50IHN0YXRlXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50U2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggJiYgY3VycmVudFNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudENoYW5nZSA9IGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzLnNvbWUoaXRlbSA9PiAhcHJldmlvdXNTZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGl0ZW0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRyA9IGNyZWF0ZVNlbGVjdGlvbk91dGVyRyhib2FyZCwgY3VycmVudFNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckcuY2xhc3NMaXN0LmFkZCgnc2VsZWN0aW9uLW91dGVyJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKHNlbGVjdGlvbk91dGVyRyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG9uQ2hhbmdlKCk7XG4gICAgfTtcblxuICAgIChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuc2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbiwge1xuICAgICAgICBpc011bHRpcGxlOiB0cnVlLFxuICAgICAgICBpc0Rpc2FibGVkU2VsZWN0OiBmYWxzZVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICByZXR1cm4gQk9BUkRfVE9fVEVNUE9SQVJZX0VMRU1FTlRTLmdldChib2FyZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVUZW1wb3JhcnlFbGVtZW50cyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIEJPQVJEX1RPX1RFTVBPUkFSWV9FTEVNRU5UUy5kZWxldGUoYm9hcmQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3Rpb25Nb3ZpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICByZXR1cm4gISFCT0FSRF9UT19JU19TRUxFQ1RJT05fTU9WSU5HLmdldChib2FyZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZWxlY3Rpb25Nb3ZpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QuYWRkKCdzZWxlY3Rpb24tbW92aW5nJyk7XG4gICAgQk9BUkRfVE9fSVNfU0VMRUNUSU9OX01PVklORy5zZXQoYm9hcmQsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJTZWxlY3Rpb25Nb3ZpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3Rpb24tbW92aW5nJyk7XG4gICAgQk9BUkRfVE9fSVNfU0VMRUNUSU9OX01PVklORy5kZWxldGUoYm9hcmQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0aW9uT3V0ZXJHKGJvYXJkOiBQbGFpdEJvYXJkLCBzZWxlY3RFbGVtZW50czogUGxhaXRFbGVtZW50W10pIHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIHNlbGVjdEVsZW1lbnRzLCBmYWxzZSk7XG4gICAgY29uc3Qgcm91Z2ggPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICByZXR1cm4gcm91Z2gucmVjdGFuZ2xlKHggLSAyLjUsIHkgLSAyLjUsIHdpZHRoICsgNSwgaGVpZ2h0ICsgNSwge1xuICAgICAgICBzdHJva2U6IFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBwcmV2ZW50IHRleHQgZnJvbSBiZWluZyBzZWxlY3RlZFxuICovXG5leHBvcnQgY29uc3QgcHJldmVudE5hdGl2ZVNlbGVjdGlvbiA9IChib2FyZDogUGxhaXRCb2FyZCwgZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PlaitBoard } from '../interfaces/board';
|
|
2
|
-
import { depthFirstRecursion } from './tree';
|
|
2
|
+
import { depthFirstRecursion, getIsRecursionFunc } from './tree';
|
|
3
3
|
import { BOARD_TO_SELECTED_ELEMENT } from './weak-maps';
|
|
4
4
|
import { Selection } from '../interfaces/selection';
|
|
5
5
|
export const getHitElements = (board, selection, match = () => true) => {
|
|
@@ -18,14 +18,7 @@ export const getHitElements = (board, selection, match = () => true) => {
|
|
|
18
18
|
})) {
|
|
19
19
|
selectedElements.push(node);
|
|
20
20
|
}
|
|
21
|
-
},
|
|
22
|
-
if (PlaitBoard.isBoard(node) || board.isRecursion(node)) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
}, true);
|
|
21
|
+
}, getIsRecursionFunc(board), true);
|
|
29
22
|
return selectedElements;
|
|
30
23
|
};
|
|
31
24
|
export const getHitElementOfRoot = (board, rootElements, range) => {
|
|
@@ -69,4 +62,4 @@ export const isSelectedElement = (board, element) => {
|
|
|
69
62
|
const selectedElements = getSelectedElements(board);
|
|
70
63
|
return !!selectedElements.find(value => value === element);
|
|
71
64
|
};
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYWl0L3NyYy91dGlscy9zZWxlY3RlZC1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQVMsTUFBTSx5QkFBeUIsQ0FBQztBQUczRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFNBQXFCLEVBQUUsUUFBNEMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDL0gsTUFBTSxhQUFhLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBbUIsRUFBRSxDQUFDO0lBQzVDLE1BQU0sV0FBVyxHQUFHLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekgsbUJBQW1CLENBQ2YsS0FBSyxFQUNMLElBQUksQ0FBQyxFQUFFO1FBQ0gsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFdBQVcsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7UUFDRCxJQUNJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDekIsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNYLGFBQWE7WUFDYixhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDOUIsT0FBTyxL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QU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IEFuY2VzdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IGRlcHRoRmlyc3RSZWN1cnNpb24sIGdldElzUmVjdXJzaW9uRnVuYyB9IGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgeyBCT0FSRF9UT19TRUxFQ1RFRF9FTEVNRU5UIH0gZnJvbSAnLi93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uLCBSYW5nZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2VsZWN0aW9uJztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5cbmV4cG9ydCBjb25zdCBnZXRIaXRFbGVtZW50cyA9IChib2FyZDogUGxhaXRCb2FyZCwgc2VsZWN0aW9uPzogU2VsZWN0aW9uLCBtYXRjaDogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWUpID0+IHtcbiAgICBjb25zdCByZWFsU2VsZWN0aW9uID0gc2VsZWN0aW9uIHx8IGJvYXJkLnNlbGVjdGlvbjtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSA9IFtdO1xuICAgIGNvbnN0IGlzQ29sbGFwc2VkID0gcmVhbFNlbGVjdGlvbiAmJiByZWFsU2VsZWN0aW9uLnJhbmdlcy5sZW5ndGggPT09IDEgJiYgU2VsZWN0aW9uLmlzQ29sbGFwc2VkKHJlYWxTZWxlY3Rpb24ucmFuZ2VzWzBdKTtcbiAgICBkZXB0aEZpcnN0UmVjdXJzaW9uPEFuY2VzdG9yPihcbiAgICAgICAgYm9hcmQsXG4gICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMCAmJiBpc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhUGxhaXRCb2FyZC5pc0JvYXJkKG5vZGUpICYmXG4gICAgICAgICAgICAgICAgbWF0Y2gobm9kZSkgJiZcbiAgICAgICAgICAgICAgICByZWFsU2VsZWN0aW9uICYmXG4gICAgICAgICAgICAgICAgcmVhbFNlbGVjdGlvbi5yYW5nZXMuc29tZShyYW5nZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBib2FyZC5pc0hpdFNlbGVjdGlvbihub2RlLCByYW5nZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkRWxlbWVudHMucHVzaChub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZ2V0SXNSZWN1cnNpb25GdW5jKGJvYXJkKSxcbiAgICAgICAgdHJ1ZVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkRWxlbWVudHM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGl0RWxlbWVudE9mUm9vdCA9IChib2FyZDogUGxhaXRCb2FyZCwgcm9vdEVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSwgcmFuZ2U6IFJhbmdlKSA9PiB7XG4gICAgY29uc3QgbmV3Um9vdEVsZW1lbnRzID0gWy4uLnJvb3RFbGVtZW50c10ucmV2ZXJzZSgpO1xuICAgIHJldHVybiBuZXdSb290RWxlbWVudHMuZmluZChpdGVtID0+IHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLmlzSGl0U2VsZWN0aW9uKGl0ZW0sIHJhbmdlKTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0hpdEVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogUGxhaXRFbGVtZW50W10sIHJhbmdlczogUmFuZ2VbXSkgPT4ge1xuICAgIGxldCBpc0ludGVyc2VjdGlvbkVsZW1lbnRzID0gZmFsc2U7XG4gICAgaWYgKGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBlbGVtZW50cy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzSW50ZXJzZWN0aW9uRWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICBpc0ludGVyc2VjdGlvbkVsZW1lbnRzID0gcmFuZ2VzLnNvbWUocmFuZ2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYm9hcmQuaXNIaXRTZWxlY3Rpb24oaXRlbSwgcmFuZ2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlzSW50ZXJzZWN0aW9uRWxlbWVudHM7XG59O1xuXG5leHBvcnQgY29uc3QgY2FjaGVTZWxlY3RlZEVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIEJPQVJEX1RPX1NFTEVDVEVEX0VMRU1FTlQuc2V0KGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZEVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuIEJPQVJEX1RPX1NFTEVDVEVEX0VMRU1FTlQuZ2V0KGJvYXJkKSB8fCBbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRTZWxlY3RlZEVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBjYWNoZVNlbGVjdGVkRWxlbWVudHMoYm9hcmQsIFsuLi5zZWxlY3RlZEVsZW1lbnRzLCBlbGVtZW50XSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlU2VsZWN0ZWRFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgY29uc3QgbmV3U2VsZWN0ZWRFbGVtZW50cyA9IHNlbGVjdGVkRWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBlbGVtZW50KTtcbiAgICBjYWNoZVNlbGVjdGVkRWxlbWVudHMoYm9hcmQsIG5ld1NlbGVjdGVkRWxlbWVudHMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyU2VsZWN0ZWRFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY2FjaGVTZWxlY3RlZEVsZW1lbnRzKGJvYXJkLCBbXSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNTZWxlY3RlZEVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICByZXR1cm4gISFzZWxlY3RlZEVsZW1lbnRzLmZpbmQodmFsdWUgPT4gdmFsdWUgPT09IGVsZW1lbnQpO1xufTtcbiJdfQ==
|
package/esm2020/utils/tree.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlaitBoard } from "../interfaces/board";
|
|
1
2
|
export function depthFirstRecursion(node, callback, recursion, isReverse) {
|
|
2
3
|
if (!recursion || recursion(node)) {
|
|
3
4
|
let children = [];
|
|
@@ -11,4 +12,14 @@ export function depthFirstRecursion(node, callback, recursion, isReverse) {
|
|
|
11
12
|
}
|
|
12
13
|
callback(node);
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
export const getIsRecursionFunc = (board) => {
|
|
16
|
+
return (element) => {
|
|
17
|
+
if (PlaitBoard.isBoard(element) || board.isRecursion(element)) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYWl0L3NyYy91dGlscy90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLElBQU8sRUFDUCxRQUEyQixFQUMzQixTQUFnQyxFQUNoQyxTQUFtQjtJQUVuQixJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQixJQUFJLFFBQVEsR0FBZSxFQUFFLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakM7UUFDRCxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNyRCxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLG1CQUFtQixDQUFDLEtBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDcEQsT0FBTyxDQUFDLE9BQWtDLEVBQUUsRUFBRTtRQUMxQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMzRCxPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9ib2FyZFwiO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZWxlbWVudFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVwdGhGaXJzdFJlY3Vyc2lvbjxUIGV4dGVuZHMgVHJlZU5vZGUgPSBUcmVlTm9kZT4oXG4gICAgbm9kZTogVCxcbiAgICBjYWxsYmFjazogKG5vZGU6IFQpID0+IHZvaWQsXG4gICAgcmVjdXJzaW9uPzogKG5vZGU6IFQpID0+IGJvb2xlYW4sXG4gICAgaXNSZXZlcnNlPzogYm9vbGVhblxuKSB7XG4gICAgaWYgKCFyZWN1cnNpb24gfHwgcmVjdXJzaW9uKG5vZGUpKSB7XG4gICAgICAgIGxldCBjaGlsZHJlbjogVHJlZU5vZGVbXSA9IFtdO1xuICAgICAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgY2hpbGRyZW4gPSBbLi4ubm9kZS5jaGlsZHJlbl07XG4gICAgICAgIH1cbiAgICAgICAgY2hpbGRyZW4gPSBpc1JldmVyc2UgPyBjaGlsZHJlbi5yZXZlcnNlKCkgOiBjaGlsZHJlbjtcbiAgICAgICAgY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICBkZXB0aEZpcnN0UmVjdXJzaW9uKGNoaWxkIGFzIFQsIGNhbGxiYWNrLCByZWN1cnNpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY2FsbGJhY2sobm9kZSk7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRJc1JlY3Vyc2lvbkZ1bmMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICByZXR1cm4gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCB8IFBsYWl0Qm9hcmQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChlbGVtZW50KSB8fCBib2FyZC5pc1JlY3Vyc2lvbihlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZSB7XG4gICAgY2hpbGRyZW4/OiBUcmVlTm9kZVtdO1xufVxuIl19
|
package/fesm2015/plait-core.mjs
CHANGED
|
@@ -43,6 +43,16 @@ function depthFirstRecursion(node, callback, recursion, isReverse) {
|
|
|
43
43
|
}
|
|
44
44
|
callback(node);
|
|
45
45
|
}
|
|
46
|
+
const getIsRecursionFunc = (board) => {
|
|
47
|
+
return (element) => {
|
|
48
|
+
if (PlaitBoard.isBoard(element) || board.isRecursion(element)) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
};
|
|
46
56
|
|
|
47
57
|
function getRectangleByElements(board, elements, recursion) {
|
|
48
58
|
const boundaryBox = {
|
|
@@ -847,6 +857,11 @@ const CLOSE_SQUARE_BRACKET = 221;
|
|
|
847
857
|
const SINGLE_QUOTE = 222;
|
|
848
858
|
const MAC_META = 224;
|
|
849
859
|
|
|
860
|
+
var ResizeCursorClass;
|
|
861
|
+
(function (ResizeCursorClass) {
|
|
862
|
+
ResizeCursorClass["ew-resize"] = "ew-resize";
|
|
863
|
+
})(ResizeCursorClass || (ResizeCursorClass = {}));
|
|
864
|
+
|
|
850
865
|
const CLIP_BOARD_FORMAT_KEY = 'x-plait-fragment';
|
|
851
866
|
const HOST_CLASS_NAME = 'plait-board-container';
|
|
852
867
|
const SCROLL_BAR_WIDTH = 20;
|
|
@@ -857,6 +872,7 @@ const POINTER_BUTTON = {
|
|
|
857
872
|
SECONDARY: 2,
|
|
858
873
|
TOUCH: -1,
|
|
859
874
|
};
|
|
875
|
+
const PRESS_AND_MOVE_BUFFER = 5;
|
|
860
876
|
|
|
861
877
|
const NS = 'http://www.w3.org/2000/svg';
|
|
862
878
|
function toPoint(x, y, container) {
|
|
@@ -939,14 +955,7 @@ const getHitElements = (board, selection, match = () => true) => {
|
|
|
939
955
|
})) {
|
|
940
956
|
selectedElements.push(node);
|
|
941
957
|
}
|
|
942
|
-
},
|
|
943
|
-
if (PlaitBoard.isBoard(node) || board.isRecursion(node)) {
|
|
944
|
-
return true;
|
|
945
|
-
}
|
|
946
|
-
else {
|
|
947
|
-
return false;
|
|
948
|
-
}
|
|
949
|
-
}, true);
|
|
958
|
+
}, getIsRecursionFunc(board), true);
|
|
950
959
|
return selectedElements;
|
|
951
960
|
};
|
|
952
961
|
const getHitElementOfRoot = (board, rootElements, range) => {
|
|
@@ -2225,7 +2234,12 @@ function withSelection(board) {
|
|
|
2225
2234
|
let selectionMovingG;
|
|
2226
2235
|
let selectionOuterG;
|
|
2227
2236
|
let previousSelectedElements;
|
|
2237
|
+
// prevent text from being selected when user pressed main pointer and is moving
|
|
2238
|
+
let needPreventNativeSelectionWhenMoving = false;
|
|
2228
2239
|
board.mousedown = (event) => {
|
|
2240
|
+
if (event.target instanceof Element && !event.target.closest('.plait-richtext-container')) {
|
|
2241
|
+
needPreventNativeSelectionWhenMoving = true;
|
|
2242
|
+
}
|
|
2229
2243
|
if (!isMainPointer(event)) {
|
|
2230
2244
|
mousedown(event);
|
|
2231
2245
|
return;
|
|
@@ -2245,14 +2259,13 @@ function withSelection(board) {
|
|
|
2245
2259
|
!options.isDisabledSelect) {
|
|
2246
2260
|
start = point;
|
|
2247
2261
|
}
|
|
2248
|
-
if (PlaitBoard.isPointer(board, PlaitPointerType.selection) && hitElements.length === 0 && !PlaitBoard.hasBeenTextEditing(board)) {
|
|
2249
|
-
// prevent text from being selected
|
|
2250
|
-
event.preventDefault();
|
|
2251
|
-
}
|
|
2252
2262
|
Transforms.setSelection(board, { ranges: [range] });
|
|
2253
2263
|
mousedown(event);
|
|
2254
2264
|
};
|
|
2255
2265
|
board.globalMousemove = (event) => {
|
|
2266
|
+
if (needPreventNativeSelectionWhenMoving) {
|
|
2267
|
+
preventNativeSelection(board, event);
|
|
2268
|
+
}
|
|
2256
2269
|
if (start) {
|
|
2257
2270
|
const movedTarget = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
2258
2271
|
const { x, y, width, height } = RectangleClient.toRectangleClient([start, movedTarget]);
|
|
@@ -2295,6 +2308,7 @@ function withSelection(board) {
|
|
|
2295
2308
|
}
|
|
2296
2309
|
start = null;
|
|
2297
2310
|
end = null;
|
|
2311
|
+
needPreventNativeSelectionWhenMoving = false;
|
|
2298
2312
|
globalMouseup(event);
|
|
2299
2313
|
};
|
|
2300
2314
|
board.onChange = () => {
|
|
@@ -2376,6 +2390,12 @@ function createSelectionOuterG(board, selectElements) {
|
|
|
2376
2390
|
fillStyle: 'solid'
|
|
2377
2391
|
});
|
|
2378
2392
|
}
|
|
2393
|
+
/**
|
|
2394
|
+
* prevent text from being selected
|
|
2395
|
+
*/
|
|
2396
|
+
const preventNativeSelection = (board, event) => {
|
|
2397
|
+
event.preventDefault();
|
|
2398
|
+
};
|
|
2379
2399
|
|
|
2380
2400
|
function withViewport(board) {
|
|
2381
2401
|
const { onChange } = board;
|
|
@@ -3260,5 +3280,5 @@ function createModModifierKeys() {
|
|
|
3260
3280
|
* Generated bundle index. Do not edit.
|
|
3261
3281
|
*/
|
|
3262
3282
|
|
|
3263
|
-
export { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_COMPONENT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLIP_BOARD_FORMAT_KEY, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, D, DASH, DELETE, DOWN_ARROW, DarkThemeColor, DefaultThemeColor, E, EIGHT, ELEMENT_TO_COMPONENT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MERGING, META, MUTE, N, NINE, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardComponent, PlaitChildrenElement, PlaitElement, PlaitElementComponent, PlaitHistoryBoard, PlaitIslandBaseComponent, PlaitIslandPopoverBaseComponent, PlaitModule, PlaitNode, PlaitOperation, PlaitPluginElementComponent, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RIGHT_ARROW, RectangleClient, RetroThemeColor, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, X, Y, Z, ZERO, addMovingElements, addSelectedElement, arrowPoints, cacheMovingElements, cacheSelectedElements, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createFakeEvent, createForeignObject, createG, createKeyboardEvent, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createSVG, createSelectionOuterG, createTestingBoard, createText, createTouchEvent, debounce, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, downloadImage, drawArrow, drawBezierPath, drawCircle, drawLine, drawLinearPath, drawRoundRectangle, fakeNodeWeakMap, getBoardRectangle, getElementHostBBox, getHitElementOfRoot, getHitElements, getMovingElements, getRealScrollBarWidth, getRectangleByElements, getSelectedElements, getTemporaryElements, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnBoardChange, hasOnContextChanged, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isDOMElement, isDOMNode, isFromScrolling, isFromViewportChange, isHitElements, isInPlaitBoard, isMainPointer, isNullOrUndefined, isSecondaryPointer, isSelectedElement, isSelectionMoving, isSetViewportOperation, normalizePoint, removeMovingElements, removeSelectedElement, rotate, scrollToRectangle, setIsFromScrolling, setIsFromViewportChange, setSVGViewBox, setSelectionMoving, shouldClear, shouldMerge, shouldSave, throttleRAF, toImage, toPoint, transformPoint, transformPoints, updateForeignObject, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withMoving, withOptions, withSelection };
|
|
3283
|
+
export { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_COMPONENT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLIP_BOARD_FORMAT_KEY, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, D, DASH, DELETE, DOWN_ARROW, DarkThemeColor, DefaultThemeColor, E, EIGHT, ELEMENT_TO_COMPONENT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MERGING, META, MUTE, N, NINE, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRESS_AND_MOVE_BUFFER, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardComponent, PlaitChildrenElement, PlaitElement, PlaitElementComponent, PlaitHistoryBoard, PlaitIslandBaseComponent, PlaitIslandPopoverBaseComponent, PlaitModule, PlaitNode, PlaitOperation, PlaitPluginElementComponent, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RIGHT_ARROW, RectangleClient, ResizeCursorClass, RetroThemeColor, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, X, Y, Z, ZERO, addMovingElements, addSelectedElement, arrowPoints, cacheMovingElements, cacheSelectedElements, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createFakeEvent, createForeignObject, createG, createKeyboardEvent, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createSVG, createSelectionOuterG, createTestingBoard, createText, createTouchEvent, debounce, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, downloadImage, drawArrow, drawBezierPath, drawCircle, drawLine, drawLinearPath, drawRoundRectangle, fakeNodeWeakMap, getBoardRectangle, getElementHostBBox, getHitElementOfRoot, getHitElements, getIsRecursionFunc, getMovingElements, getRealScrollBarWidth, getRectangleByElements, getSelectedElements, getTemporaryElements, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnBoardChange, hasOnContextChanged, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isDOMElement, isDOMNode, isFromScrolling, isFromViewportChange, isHitElements, isInPlaitBoard, isMainPointer, isNullOrUndefined, isSecondaryPointer, isSelectedElement, isSelectionMoving, isSetViewportOperation, normalizePoint, preventNativeSelection, removeMovingElements, removeSelectedElement, rotate, scrollToRectangle, setIsFromScrolling, setIsFromViewportChange, setSVGViewBox, setSelectionMoving, shouldClear, shouldMerge, shouldSave, throttleRAF, toImage, toPoint, transformPoint, transformPoints, updateForeignObject, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withMoving, withOptions, withSelection };
|
|
3264
3284
|
//# sourceMappingURL=plait-core.mjs.map
|