@plait/core 0.24.0-next.6 → 0.24.0-next.8
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/board/board.component.interface.d.ts +3 -1
- package/constants/selection.d.ts +1 -0
- package/core/island/island-base.component.d.ts +3 -1
- package/esm2022/board/board.component.interface.mjs +1 -1
- package/esm2022/board/board.component.mjs +5 -8
- package/esm2022/constants/selection.mjs +2 -1
- package/esm2022/core/island/island-base.component.mjs +12 -9
- package/esm2022/interfaces/board.mjs +1 -1
- package/esm2022/interfaces/rectangle-client.mjs +10 -1
- package/esm2022/plugins/create-board.mjs +7 -2
- package/esm2022/plugins/with-hotkey.mjs +7 -2
- package/esm2022/plugins/with-moving.mjs +9 -4
- package/esm2022/plugins/with-selection.mjs +6 -6
- package/esm2022/transforms/element.mjs +22 -0
- package/esm2022/transforms/index.mjs +2 -1
- package/esm2022/utils/draw/line.mjs +6 -3
- package/esm2022/utils/touch.mjs +32 -5
- package/esm2022/utils/weak-maps.mjs +1 -2
- package/fesm2022/plait-core.mjs +97 -27
- package/fesm2022/plait-core.mjs.map +1 -1
- package/interfaces/board.d.ts +1 -0
- package/interfaces/rectangle-client.d.ts +6 -0
- package/package.json +1 -1
- package/transforms/element.d.ts +6 -0
- package/transforms/index.d.ts +1 -0
- package/utils/draw/line.d.ts +1 -1
- package/utils/touch.d.ts +14 -1
- package/utils/weak-maps.d.ts +0 -1
package/fesm2022/plait-core.mjs
CHANGED
|
@@ -27,7 +27,6 @@ const BOARD_TO_IS_SELECTION_MOVING = new WeakMap();
|
|
|
27
27
|
// save no standard selected elements
|
|
28
28
|
const BOARD_TO_TEMPORARY_ELEMENTS = new WeakMap();
|
|
29
29
|
const BOARD_TO_MOVING_ELEMENT = new WeakMap();
|
|
30
|
-
const IS_PREVENT_TOUCH_MOVE = new WeakMap();
|
|
31
30
|
const PATH_REFS = new WeakMap();
|
|
32
31
|
|
|
33
32
|
var PlaitPointerType;
|
|
@@ -271,6 +270,7 @@ var ResizeCursorClass;
|
|
|
271
270
|
})(ResizeCursorClass || (ResizeCursorClass = {}));
|
|
272
271
|
|
|
273
272
|
const ATTACHED_ELEMENT_CLASS_NAME = 'plait-board-attached';
|
|
273
|
+
const ACTIVE_STROKE_WIDTH = 1;
|
|
274
274
|
|
|
275
275
|
const CLIP_BOARD_FORMAT_KEY = 'x-plait-fragment';
|
|
276
276
|
const HOST_CLASS_NAME = 'plait-board-container';
|
|
@@ -473,6 +473,15 @@ const RectangleClient = {
|
|
|
473
473
|
height: rectangle.height - offset * 2
|
|
474
474
|
};
|
|
475
475
|
},
|
|
476
|
+
inflate: (rectangle, delta) => {
|
|
477
|
+
const half = delta / 2;
|
|
478
|
+
return {
|
|
479
|
+
x: rectangle.x - half,
|
|
480
|
+
y: rectangle.y - half,
|
|
481
|
+
width: rectangle.width + half * 2,
|
|
482
|
+
height: rectangle.height + half * 2
|
|
483
|
+
};
|
|
484
|
+
},
|
|
476
485
|
isEqual: (rectangle, otherRectangle) => {
|
|
477
486
|
return (rectangle.x === otherRectangle.x &&
|
|
478
487
|
rectangle.y === otherRectangle.y &&
|
|
@@ -986,7 +995,7 @@ function drawCircle(roughSVG, point, diameter, options) {
|
|
|
986
995
|
function drawLine(rs, start, end, options) {
|
|
987
996
|
return rs.linearPath([start, end], options);
|
|
988
997
|
}
|
|
989
|
-
function drawLinearPath(points, options) {
|
|
998
|
+
function drawLinearPath(points, options, closePath) {
|
|
990
999
|
const g = createG();
|
|
991
1000
|
const path = createPath();
|
|
992
1001
|
let polylinePath = '';
|
|
@@ -998,10 +1007,13 @@ function drawLinearPath(points, options) {
|
|
|
998
1007
|
polylinePath += `L ${point[0]} ${point[1]} `;
|
|
999
1008
|
}
|
|
1000
1009
|
});
|
|
1010
|
+
if (closePath) {
|
|
1011
|
+
polylinePath += 'Z';
|
|
1012
|
+
}
|
|
1001
1013
|
path.setAttribute('d', polylinePath);
|
|
1002
1014
|
path.setAttribute('stroke', `${options?.stroke}`);
|
|
1003
1015
|
path.setAttribute('stroke-width', `${options?.strokeWidth}`);
|
|
1004
|
-
path.setAttribute('fill',
|
|
1016
|
+
path.setAttribute('fill', `${options?.fill || 'none'}`);
|
|
1005
1017
|
g.appendChild(path);
|
|
1006
1018
|
return g;
|
|
1007
1019
|
}
|
|
@@ -1376,11 +1388,37 @@ const getClipboardDataByMedia = (data, key) => {
|
|
|
1376
1388
|
return imageItem;
|
|
1377
1389
|
};
|
|
1378
1390
|
|
|
1391
|
+
const BOARD_TO_TOUCH_REF = new WeakMap();
|
|
1379
1392
|
const isPreventTouchMove = (board) => {
|
|
1380
|
-
return !!
|
|
1393
|
+
return !!BOARD_TO_TOUCH_REF.get(board);
|
|
1394
|
+
};
|
|
1395
|
+
const preventTouchMove = (board, event, state) => {
|
|
1396
|
+
if (state && (event.target instanceof HTMLElement || event.target instanceof SVGElement)) {
|
|
1397
|
+
BOARD_TO_TOUCH_REF.set(board, { state, target: event.target });
|
|
1398
|
+
}
|
|
1399
|
+
else {
|
|
1400
|
+
const ref = BOARD_TO_TOUCH_REF.get(board);
|
|
1401
|
+
if (ref) {
|
|
1402
|
+
BOARD_TO_TOUCH_REF.delete(board);
|
|
1403
|
+
ref.host?.remove();
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1381
1406
|
};
|
|
1382
|
-
|
|
1383
|
-
|
|
1407
|
+
/**
|
|
1408
|
+
* some intersection maybe cause target is removed from current browser window,
|
|
1409
|
+
* after it was removed touch move event will not be fired
|
|
1410
|
+
* so scroll behavior will can not be prevented in mobile browser device
|
|
1411
|
+
* this function will prevent target element being remove.
|
|
1412
|
+
*/
|
|
1413
|
+
const handleTouchTarget = (board) => {
|
|
1414
|
+
const touchRef = BOARD_TO_TOUCH_REF.get(board);
|
|
1415
|
+
if (touchRef && !touchRef.target.contains(PlaitBoard.getElementActiveHost(board))) {
|
|
1416
|
+
touchRef.target.style.opacity = '0';
|
|
1417
|
+
const host = createG();
|
|
1418
|
+
host.appendChild(touchRef.target);
|
|
1419
|
+
touchRef.host = host;
|
|
1420
|
+
PlaitBoard.getElementActiveHost(board).append(host);
|
|
1421
|
+
}
|
|
1384
1422
|
};
|
|
1385
1423
|
|
|
1386
1424
|
const PlaitElement = {
|
|
@@ -2257,6 +2295,25 @@ const BoardTransforms = {
|
|
|
2257
2295
|
fitViewportWidth
|
|
2258
2296
|
};
|
|
2259
2297
|
|
|
2298
|
+
const removeElements = (board, elements) => {
|
|
2299
|
+
elements
|
|
2300
|
+
.map(element => {
|
|
2301
|
+
const path = PlaitBoard.findPath(board, element);
|
|
2302
|
+
const ref = board.pathRef(path);
|
|
2303
|
+
return () => {
|
|
2304
|
+
removeNode(board, ref.current);
|
|
2305
|
+
ref.unref();
|
|
2306
|
+
removeSelectedElement(board, element);
|
|
2307
|
+
};
|
|
2308
|
+
})
|
|
2309
|
+
.forEach(action => {
|
|
2310
|
+
action();
|
|
2311
|
+
});
|
|
2312
|
+
};
|
|
2313
|
+
const CoreTransforms = {
|
|
2314
|
+
removeElements
|
|
2315
|
+
};
|
|
2316
|
+
|
|
2260
2317
|
const Transforms = {
|
|
2261
2318
|
...GeneralTransforms,
|
|
2262
2319
|
...ViewportTransforms$1,
|
|
@@ -2352,7 +2409,11 @@ function createBoard(children, options) {
|
|
|
2352
2409
|
dblclick: (event) => { },
|
|
2353
2410
|
setFragment: (data) => { },
|
|
2354
2411
|
insertFragment: (data) => { },
|
|
2355
|
-
deleteFragment: (data) => {
|
|
2412
|
+
deleteFragment: (data) => {
|
|
2413
|
+
const elements = board.getDeletedFragment([]);
|
|
2414
|
+
CoreTransforms.removeElements(board, elements);
|
|
2415
|
+
},
|
|
2416
|
+
getDeletedFragment: (data) => data,
|
|
2356
2417
|
drawElement: (context) => [],
|
|
2357
2418
|
redrawElement: (context, previousContext) => { },
|
|
2358
2419
|
destroyElement: (context) => { },
|
|
@@ -2555,7 +2616,7 @@ function withSelection(board) {
|
|
|
2555
2616
|
options.isMultiple &&
|
|
2556
2617
|
!options.isDisabledSelect) {
|
|
2557
2618
|
start = point;
|
|
2558
|
-
preventTouchMove(board, true);
|
|
2619
|
+
preventTouchMove(board, event, true);
|
|
2559
2620
|
}
|
|
2560
2621
|
Transforms.setSelection(board, { ranges: [range] });
|
|
2561
2622
|
pointerDown(event);
|
|
@@ -2607,7 +2668,7 @@ function withSelection(board) {
|
|
|
2607
2668
|
start = null;
|
|
2608
2669
|
end = null;
|
|
2609
2670
|
needPreventNativeSelectionWhenMoving = false;
|
|
2610
|
-
preventTouchMove(board, false);
|
|
2671
|
+
preventTouchMove(board, event, false);
|
|
2611
2672
|
globalPointerUp(event);
|
|
2612
2673
|
};
|
|
2613
2674
|
board.onChange = () => {
|
|
@@ -2686,9 +2747,9 @@ function clearSelectionMoving(board) {
|
|
|
2686
2747
|
}
|
|
2687
2748
|
function createSelectionOuterG(board, selectElements) {
|
|
2688
2749
|
const rectangle = getRectangleByElements(board, selectElements, false);
|
|
2689
|
-
return drawRectangle(board, RectangleClient.
|
|
2750
|
+
return drawRectangle(board, RectangleClient.inflate(rectangle, ACTIVE_STROKE_WIDTH), {
|
|
2690
2751
|
stroke: SELECTION_BORDER_COLOR,
|
|
2691
|
-
strokeWidth:
|
|
2752
|
+
strokeWidth: ACTIVE_STROKE_WIDTH,
|
|
2692
2753
|
fillStyle: 'solid'
|
|
2693
2754
|
});
|
|
2694
2755
|
}
|
|
@@ -2743,6 +2804,9 @@ function withMoving(board) {
|
|
|
2743
2804
|
else if (hitElement) {
|
|
2744
2805
|
activeElements = [hitElement];
|
|
2745
2806
|
}
|
|
2807
|
+
if (activeElements.length > 0) {
|
|
2808
|
+
preventTouchMove(board, event, true);
|
|
2809
|
+
}
|
|
2746
2810
|
}
|
|
2747
2811
|
pointerDown(event);
|
|
2748
2812
|
};
|
|
@@ -2756,8 +2820,9 @@ function withMoving(board) {
|
|
|
2756
2820
|
offsetX = endPoint[0] - startPoint[0];
|
|
2757
2821
|
offsetY = endPoint[1] - startPoint[1];
|
|
2758
2822
|
const offsetBuffer = 5;
|
|
2759
|
-
if (Math.abs(offsetX) > offsetBuffer || Math.abs(offsetY) > offsetBuffer) {
|
|
2823
|
+
if (Math.abs(offsetX) > offsetBuffer || Math.abs(offsetY) > offsetBuffer || getMovingElements(board).length > 0) {
|
|
2760
2824
|
throttleRAF(() => {
|
|
2825
|
+
handleTouchTarget(board);
|
|
2761
2826
|
const currentElements = activeElements.map(activeElement => {
|
|
2762
2827
|
const points = activeElement.points || [];
|
|
2763
2828
|
const [x, y] = activeElement.points[0];
|
|
@@ -2794,6 +2859,7 @@ function withMoving(board) {
|
|
|
2794
2859
|
if (startPoint) {
|
|
2795
2860
|
cancelMove(board);
|
|
2796
2861
|
}
|
|
2862
|
+
preventTouchMove(board, event, false);
|
|
2797
2863
|
globalPointerUp(event);
|
|
2798
2864
|
};
|
|
2799
2865
|
function cancelMove(board) {
|
|
@@ -2844,16 +2910,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
2844
2910
|
}]
|
|
2845
2911
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
2846
2912
|
class PlaitIslandPopoverBaseComponent {
|
|
2913
|
+
constructor(cdr) {
|
|
2914
|
+
this.cdr = cdr;
|
|
2915
|
+
}
|
|
2847
2916
|
initialize(board) {
|
|
2848
2917
|
this.board = board;
|
|
2849
|
-
const
|
|
2850
|
-
|
|
2851
|
-
onChange();
|
|
2918
|
+
const boardComponent = PlaitBoard.getComponent(board);
|
|
2919
|
+
this.subscription = boardComponent.plaitChange.subscribe(() => {
|
|
2852
2920
|
if (hasOnBoardChange(this)) {
|
|
2853
2921
|
this.onBoardChange();
|
|
2854
2922
|
}
|
|
2855
|
-
|
|
2856
|
-
|
|
2923
|
+
this.cdr.markForCheck();
|
|
2924
|
+
});
|
|
2857
2925
|
}
|
|
2858
2926
|
ngOnInit() {
|
|
2859
2927
|
if (!this.board) {
|
|
@@ -2863,10 +2931,10 @@ class PlaitIslandPopoverBaseComponent {
|
|
|
2863
2931
|
this.islandOnInit();
|
|
2864
2932
|
}
|
|
2865
2933
|
ngOnDestroy() {
|
|
2866
|
-
this.
|
|
2934
|
+
this.subscription?.unsubscribe();
|
|
2867
2935
|
this.islandOnDestroy();
|
|
2868
2936
|
}
|
|
2869
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitIslandPopoverBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2937
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitIslandPopoverBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2870
2938
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: PlaitIslandPopoverBaseComponent, inputs: { board: "board" }, host: { classAttribute: "plait-island-popover-container" }, ngImport: i0 }); }
|
|
2871
2939
|
}
|
|
2872
2940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitIslandPopoverBaseComponent, decorators: [{
|
|
@@ -2876,7 +2944,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
2876
2944
|
class: 'plait-island-popover-container'
|
|
2877
2945
|
}
|
|
2878
2946
|
}]
|
|
2879
|
-
}], propDecorators: { board: [{
|
|
2947
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { board: [{
|
|
2880
2948
|
type: Input
|
|
2881
2949
|
}] } });
|
|
2882
2950
|
const hasOnBoardChange = (value) => {
|
|
@@ -2911,6 +2979,11 @@ const withHotkey = (board) => {
|
|
|
2911
2979
|
Transforms.setSelectionWithTemporaryElements(board, elements);
|
|
2912
2980
|
return;
|
|
2913
2981
|
}
|
|
2982
|
+
const selectedElements = getSelectedElements(board);
|
|
2983
|
+
if (!PlaitBoard.isReadonly(board) && selectedElements.length > 0 && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
|
|
2984
|
+
event.preventDefault();
|
|
2985
|
+
board.deleteFragment(null);
|
|
2986
|
+
}
|
|
2914
2987
|
keydown(event);
|
|
2915
2988
|
};
|
|
2916
2989
|
board.globalKeydown = (event) => {
|
|
@@ -3318,11 +3391,6 @@ class PlaitBoardComponent {
|
|
|
3318
3391
|
this.board.globalKeydown(event);
|
|
3319
3392
|
}), filter(event => this.isFocused && !PlaitBoard.hasBeenTextEditing(this.board) && !hasInputOrTextareaTarget(event.target)))
|
|
3320
3393
|
.subscribe((event) => {
|
|
3321
|
-
const selectedElements = getSelectedElements(this.board);
|
|
3322
|
-
if (selectedElements.length > 0 && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
|
|
3323
|
-
event.preventDefault();
|
|
3324
|
-
this.board.deleteFragment(null);
|
|
3325
|
-
}
|
|
3326
3394
|
this.board.keydown(event);
|
|
3327
3395
|
});
|
|
3328
3396
|
fromEvent(document, 'keyup')
|
|
@@ -3380,7 +3448,9 @@ class PlaitBoardComponent {
|
|
|
3380
3448
|
});
|
|
3381
3449
|
});
|
|
3382
3450
|
this.ngZone.runOutsideAngular(() => {
|
|
3383
|
-
fromEvent(this.viewportContainer.nativeElement, 'touchmove', { passive: false })
|
|
3451
|
+
fromEvent(this.viewportContainer.nativeElement, 'touchmove', { passive: false })
|
|
3452
|
+
.pipe(takeUntil(this.destroy$))
|
|
3453
|
+
.subscribe((event) => {
|
|
3384
3454
|
if (isPreventTouchMove(this.board)) {
|
|
3385
3455
|
event.preventDefault();
|
|
3386
3456
|
}
|
|
@@ -3676,5 +3746,5 @@ function createModModifierKeys() {
|
|
|
3676
3746
|
* Generated bundle index. Do not edit.
|
|
3677
3747
|
*/
|
|
3678
3748
|
|
|
3679
|
-
export { A, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, 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,
|
|
3749
|
+
export { A, ACTIVE_STROKE_WIDTH, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, 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_TOUCH_REF, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLIP_BOARD_FORMAT_KEY, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, CoreTransforms, 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, PlaitContextService, 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, createMask, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createRect, createSVG, createSelectionOuterG, createTestingBoard, createText, createTouchEvent, debounce, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, distanceBetweenPointAndSegments, downloadImage, drawArrow, drawBezierPath, drawCircle, drawLine, drawLinearPath, drawRectangle, drawRoundRectangle, fakeNodeWeakMap, findElements, getBoardRectangle, getClipboardByKey, getClipboardDataByMedia, getDataFromClipboard, getElementById, getElementHostBBox, getHitElementOfRoot, getHitElements, getIsRecursionFunc, getMovingElements, getNearestPointBetweenPointAndSegment, getNearestPointBetweenPointAndSegments, getRealScrollBarWidth, getRectangleByElements, getSelectedElements, getTemporaryElements, getTextFromClipboard, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, handleTouchTarget, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnBoardChange, hasOnContextChanged, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isDOMElement, isDOMNode, isFromScrolling, isFromViewportChange, isHitElements, isInPlaitBoard, isLineHitLine, isMainPointer, isNullOrUndefined, isPointInEllipse, isPointInPolygon, isPointInRoundRectangle, isPolylineHitRectangle, isPreventTouchMove, isSecondaryPointer, isSelectedElement, isSelectionMoving, isSetViewportOperation, normalizePoint, preventTouchMove, removeMovingElements, removeSelectedElement, rotate, scrollToRectangle, setClipboardData, setClipboardDataByMedia, setClipboardDataByText, setIsFromScrolling, setIsFromViewportChange, setPathStrokeLinecap, setSVGViewBox, setSelectionMoving, setStrokeLinecap, shouldClear, shouldMerge, shouldSave, throttleRAF, toImage, toPoint, transformPoint, transformPoints, updateForeignObject, updateForeignObjectWidth, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withMoving, withOptions, withSelection };
|
|
3680
3750
|
//# sourceMappingURL=plait-core.mjs.map
|