@plait/core 0.88.1 → 0.89.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/fesm2022/plait-core.mjs +97 -26
- package/fesm2022/plait-core.mjs.map +1 -1
- package/interfaces/board.d.ts +3 -0
- package/package.json +1 -1
- package/plugins/index.d.ts +1 -0
- package/plugins/with-hand.d.ts +2 -0
- package/utils/pointer.d.ts +1 -0
- package/utils/viewport.d.ts +2 -1
package/fesm2022/plait-core.mjs
CHANGED
|
@@ -2508,7 +2508,36 @@ const isFromViewportChange = (board) => {
|
|
|
2508
2508
|
const setIsFromViewportChange = (board, state) => {
|
|
2509
2509
|
IS_FROM_VIEWPORT_CHANGE.set(board, state);
|
|
2510
2510
|
};
|
|
2511
|
-
|
|
2511
|
+
// I do not know how to confirm if the keyboard is open and the height of keyboard
|
|
2512
|
+
// So I just divide the height of viewport by 2 when the keyboard is open
|
|
2513
|
+
const isInVisibleViewport = (board, client, isOpenKeyboard) => {
|
|
2514
|
+
const viewportContainerRect = PlaitBoard.getViewportContainer(board).getBoundingClientRect();
|
|
2515
|
+
const origination = getViewportOrigination(board);
|
|
2516
|
+
if (!origination) {
|
|
2517
|
+
return true;
|
|
2518
|
+
}
|
|
2519
|
+
const viewport = board.viewport;
|
|
2520
|
+
const visibleRectangle = {
|
|
2521
|
+
x: origination[0],
|
|
2522
|
+
y: origination[1],
|
|
2523
|
+
width: viewportContainerRect.width / viewport.zoom,
|
|
2524
|
+
height: viewportContainerRect.height / viewport.zoom / (isOpenKeyboard ? 2 : 1)
|
|
2525
|
+
};
|
|
2526
|
+
const isFirstPointIn = RectangleClient.isPointInRectangle(visibleRectangle, [client.x, client.y]);
|
|
2527
|
+
const isSecondPointIn = RectangleClient.isPointInRectangle(visibleRectangle, [client.x + client.width, client.y + client.height]);
|
|
2528
|
+
return isFirstPointIn && isSecondPointIn;
|
|
2529
|
+
};
|
|
2530
|
+
function scrollToVisibleWhenKeyboardOpening(board, client) {
|
|
2531
|
+
const center = RectangleClient.getCenterPoint(client);
|
|
2532
|
+
const viewportContainerRect = PlaitBoard.getViewportContainer(board).getBoundingClientRect();
|
|
2533
|
+
const viewport = board.viewport;
|
|
2534
|
+
const startY = center[1] - viewportContainerRect.height / 4 / viewport.zoom;
|
|
2535
|
+
const origination = getViewportOrigination(board);
|
|
2536
|
+
if (!origination) {
|
|
2537
|
+
return;
|
|
2538
|
+
}
|
|
2539
|
+
BoardTransforms.updateViewport(board, [origination[0], startY]);
|
|
2540
|
+
}
|
|
2512
2541
|
|
|
2513
2542
|
function insertNode(board, node, path) {
|
|
2514
2543
|
const operation = { type: 'insert_node', node, path };
|
|
@@ -3864,6 +3893,7 @@ const isTouchEvent = (event) => {
|
|
|
3864
3893
|
const isMouseEvent = (event) => {
|
|
3865
3894
|
return event.pointerType === 'mouse';
|
|
3866
3895
|
};
|
|
3896
|
+
const isTouchDevice = () => 'ontouchstart' in window || navigator.maxTouchPoints;
|
|
3867
3897
|
|
|
3868
3898
|
const addGroup = (board, elements) => {
|
|
3869
3899
|
const selectedGroups = getHighestSelectedGroups(board, elements);
|
|
@@ -5674,6 +5704,9 @@ function createBoard(children, options) {
|
|
|
5674
5704
|
pointerCancel: (pointer) => { },
|
|
5675
5705
|
pointerOut: (pointer) => { },
|
|
5676
5706
|
pointerLeave: (pointer) => { },
|
|
5707
|
+
touchStart: (event) => { },
|
|
5708
|
+
touchMove: (event) => { },
|
|
5709
|
+
touchEnd: (event) => { },
|
|
5677
5710
|
globalPointerMove: (pointer) => { },
|
|
5678
5711
|
globalPointerUp: (pointer) => { },
|
|
5679
5712
|
drop: (event) => {
|
|
@@ -5711,12 +5744,18 @@ const isSmartHand = (board, event) => {
|
|
|
5711
5744
|
};
|
|
5712
5745
|
|
|
5713
5746
|
const ShortcutKey = 'Space';
|
|
5747
|
+
const SECONDARY_POINTER_MOVE_THRESHOLD = 5;
|
|
5748
|
+
const IS_HAND_MODE = new WeakMap();
|
|
5749
|
+
const isHandMode = (board) => {
|
|
5750
|
+
return IS_HAND_MODE.get(board) || false;
|
|
5751
|
+
};
|
|
5714
5752
|
function withHandPointer(board) {
|
|
5715
5753
|
const { pointerDown, pointerMove, globalPointerUp, keyDown, keyUp, pointerUp } = board;
|
|
5716
5754
|
let isHandMoving = false;
|
|
5717
5755
|
let movingPoint = null;
|
|
5718
5756
|
let pointerDownEvent = null;
|
|
5719
5757
|
let hasWheelPressed = false;
|
|
5758
|
+
let hasSecondaryPressed = false;
|
|
5720
5759
|
let beingPressedShortcutKey = false;
|
|
5721
5760
|
board.pointerDown = (event) => {
|
|
5722
5761
|
const options = board.getPluginOptions(PlaitPluginKey.withHand);
|
|
@@ -5737,40 +5776,46 @@ function withHandPointer(board) {
|
|
|
5737
5776
|
}
|
|
5738
5777
|
else if (isWheelPointer(event)) {
|
|
5739
5778
|
hasWheelPressed = true;
|
|
5740
|
-
// Prevent the browser's default behavior of scrolling the page when the mouse wheel is pressed.
|
|
5741
5779
|
event.preventDefault();
|
|
5742
5780
|
movingPoint = {
|
|
5743
5781
|
x: event.x,
|
|
5744
5782
|
y: event.y
|
|
5745
5783
|
};
|
|
5746
|
-
|
|
5747
|
-
|
|
5784
|
+
enterHandMode();
|
|
5785
|
+
}
|
|
5786
|
+
else if (isSecondaryPointer(event)) {
|
|
5787
|
+
hasSecondaryPressed = true;
|
|
5788
|
+
movingPoint = {
|
|
5789
|
+
x: event.x,
|
|
5790
|
+
y: event.y
|
|
5791
|
+
};
|
|
5792
|
+
pointerDownEvent = event;
|
|
5748
5793
|
}
|
|
5749
5794
|
pointerDownEvent = event;
|
|
5750
5795
|
pointerDown(event);
|
|
5751
5796
|
};
|
|
5752
5797
|
board.pointerMove = (event) => {
|
|
5753
5798
|
const options = board.getPluginOptions(PlaitPluginKey.withHand);
|
|
5754
|
-
// 阈值必须大于 withSelection 中 pointerMove 的 PRESS_AND_MOVE_BUFFER:
|
|
5755
|
-
// 1. 首先检测是否满足进入拖选状态的条件
|
|
5756
|
-
// 2. 仅当不满足拖选条件时,才会考虑触发 withHand 行为
|
|
5757
|
-
// Must exceed the DRAG_SELECTION_PRESS_AND_MOVE_BUFFER threshold defined in withSelection's pointerMove.
|
|
5758
|
-
// The system first checks for drag selection state eligibility
|
|
5759
|
-
// withHand behavior is only triggered if drag selection state is not initiated.
|
|
5760
5799
|
const triggerDistance = DRAG_SELECTION_PRESS_AND_MOVE_BUFFER + 4;
|
|
5800
|
+
if (hasSecondaryPressed && movingPoint && !isHandMoving && pointerDownEvent) {
|
|
5801
|
+
const distance = distanceBetweenPointAndPoint(pointerDownEvent.x, pointerDownEvent.y, event.x, event.y);
|
|
5802
|
+
if (distance > SECONDARY_POINTER_MOVE_THRESHOLD) {
|
|
5803
|
+
enterHandMode();
|
|
5804
|
+
}
|
|
5805
|
+
}
|
|
5761
5806
|
if (movingPoint &&
|
|
5762
5807
|
!isHandMoving &&
|
|
5763
5808
|
!isSelectionMoving(board) &&
|
|
5764
5809
|
pointerDownEvent &&
|
|
5765
5810
|
distanceBetweenPointAndPoint(pointerDownEvent.x, pointerDownEvent.y, event.x, event.y) > triggerDistance &&
|
|
5766
5811
|
!isMovingElements(board)) {
|
|
5767
|
-
|
|
5768
|
-
PlaitBoard.getBoardContainer(board).classList.add('viewport-moving');
|
|
5812
|
+
enterHandMode();
|
|
5769
5813
|
}
|
|
5770
5814
|
const canEnterHandMode = options?.isHandMode(board, event) ||
|
|
5771
5815
|
PlaitBoard.isPointer(board, PlaitPointerType.hand) ||
|
|
5772
5816
|
isSmartHand(board, event) ||
|
|
5773
5817
|
hasWheelPressed ||
|
|
5818
|
+
hasSecondaryPressed ||
|
|
5774
5819
|
beingPressedShortcutKey;
|
|
5775
5820
|
if (canEnterHandMode && isHandMoving && movingPoint && !isSelectionMoving(board) && !isMovingElements(board)) {
|
|
5776
5821
|
const viewportContainer = PlaitBoard.getViewportContainer(board);
|
|
@@ -5792,9 +5837,9 @@ function withHandPointer(board) {
|
|
|
5792
5837
|
if (movingPoint) {
|
|
5793
5838
|
movingPoint = null;
|
|
5794
5839
|
}
|
|
5795
|
-
|
|
5796
|
-
PlaitBoard.getBoardContainer(board).classList.remove('viewport-moving');
|
|
5840
|
+
exitHandMode();
|
|
5797
5841
|
hasWheelPressed = false;
|
|
5842
|
+
hasSecondaryPressed = false;
|
|
5798
5843
|
globalPointerUp(event);
|
|
5799
5844
|
};
|
|
5800
5845
|
board.keyDown = (event) => {
|
|
@@ -5816,6 +5861,18 @@ function withHandPointer(board) {
|
|
|
5816
5861
|
}
|
|
5817
5862
|
keyUp(event);
|
|
5818
5863
|
};
|
|
5864
|
+
const enterHandMode = () => {
|
|
5865
|
+
isHandMoving = true;
|
|
5866
|
+
PlaitBoard.getBoardContainer(board).classList.add('viewport-moving');
|
|
5867
|
+
IS_HAND_MODE.set(board, true);
|
|
5868
|
+
};
|
|
5869
|
+
const exitHandMode = () => {
|
|
5870
|
+
isHandMoving = false;
|
|
5871
|
+
PlaitBoard.getBoardContainer(board).classList.remove('viewport-moving');
|
|
5872
|
+
setTimeout(() => {
|
|
5873
|
+
IS_HAND_MODE.set(board, false);
|
|
5874
|
+
}, 0);
|
|
5875
|
+
};
|
|
5819
5876
|
return board;
|
|
5820
5877
|
}
|
|
5821
5878
|
|
|
@@ -6196,7 +6253,7 @@ function isVerticalCross(rectangle, other) {
|
|
|
6196
6253
|
}
|
|
6197
6254
|
|
|
6198
6255
|
function withMoving(board) {
|
|
6199
|
-
const { pointerDown, pointerMove, globalPointerUp, globalPointerMove, globalKeyDown, keyUp } = board;
|
|
6256
|
+
const { pointerDown, pointerMove, globalPointerUp, globalPointerMove, globalKeyDown, keyUp, touchStart, touchMove, touchEnd } = board;
|
|
6200
6257
|
let offsetX = 0;
|
|
6201
6258
|
let offsetY = 0;
|
|
6202
6259
|
let isPreventDefault = false;
|
|
@@ -6241,7 +6298,7 @@ function withMoving(board) {
|
|
|
6241
6298
|
return;
|
|
6242
6299
|
}
|
|
6243
6300
|
const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
6244
|
-
hitTargetElement = getHitElementByPoint(board, point, el => board.isMovable(el));
|
|
6301
|
+
hitTargetElement = getHitElementByPoint(board, point, (el) => board.isMovable(el));
|
|
6245
6302
|
selectedTargetElements = getSelectedTargetElements(board);
|
|
6246
6303
|
isHitSelectedTarget = hitTargetElement && selectedTargetElements.includes(hitTargetElement);
|
|
6247
6304
|
if (hitTargetElement && isHitSelectedTarget) {
|
|
@@ -6268,6 +6325,13 @@ function withMoving(board) {
|
|
|
6268
6325
|
}
|
|
6269
6326
|
pointerDown(event);
|
|
6270
6327
|
};
|
|
6328
|
+
board.touchMove = (event) => {
|
|
6329
|
+
if (startPoint && activeElements.length) {
|
|
6330
|
+
event.preventDefault();
|
|
6331
|
+
return;
|
|
6332
|
+
}
|
|
6333
|
+
touchMove(event);
|
|
6334
|
+
};
|
|
6271
6335
|
board.pointerMove = (event) => {
|
|
6272
6336
|
if (startPoint && activeElements.length && !PlaitBoard.hasBeenTextEditing(board)) {
|
|
6273
6337
|
if (!isPreventDefault) {
|
|
@@ -6329,7 +6393,7 @@ function withMoving(board) {
|
|
|
6329
6393
|
}
|
|
6330
6394
|
globalPointerMove(event);
|
|
6331
6395
|
};
|
|
6332
|
-
board.globalPointerUp = event => {
|
|
6396
|
+
board.globalPointerUp = (event) => {
|
|
6333
6397
|
if (event.altKey && activeElements.length) {
|
|
6334
6398
|
const validElements = getValidElements(board, activeElements);
|
|
6335
6399
|
const rectangle = getRectangleByElements(board, validElements, false);
|
|
@@ -6402,8 +6466,8 @@ function withArrowMoving(board) {
|
|
|
6402
6466
|
}
|
|
6403
6467
|
function getSelectedTargetElements(board) {
|
|
6404
6468
|
const selectedElements = getSelectedElements(board);
|
|
6405
|
-
const movableElements = board.children.filter(item => board.isMovable(item));
|
|
6406
|
-
const targetElements = selectedElements.filter(element => {
|
|
6469
|
+
const movableElements = board.children.filter((item) => board.isMovable(item));
|
|
6470
|
+
const targetElements = selectedElements.filter((element) => {
|
|
6407
6471
|
return movableElements.includes(element);
|
|
6408
6472
|
});
|
|
6409
6473
|
const relatedElements = board.getRelatedFragment([]);
|
|
@@ -6411,14 +6475,14 @@ function getSelectedTargetElements(board) {
|
|
|
6411
6475
|
return targetElements;
|
|
6412
6476
|
}
|
|
6413
6477
|
function getValidElements(board, activeElements) {
|
|
6414
|
-
const validElements = [...activeElements].filter(element => !PlaitGroupElement.isGroup(element) && PlaitElement.isRootElement(element));
|
|
6478
|
+
const validElements = [...activeElements].filter((element) => !PlaitGroupElement.isGroup(element) && PlaitElement.isRootElement(element));
|
|
6415
6479
|
return validElements;
|
|
6416
6480
|
}
|
|
6417
6481
|
function updatePoints(board, activeElements, offsetX, offsetY) {
|
|
6418
6482
|
const validElements = getValidElements(board, activeElements);
|
|
6419
|
-
const currentElements = validElements.map(element => {
|
|
6483
|
+
const currentElements = validElements.map((element) => {
|
|
6420
6484
|
const points = element.points || [];
|
|
6421
|
-
const newPoints = points.map(p => [p[0] + offsetX, p[1] + offsetY]);
|
|
6485
|
+
const newPoints = points.map((p) => [p[0] + offsetX, p[1] + offsetY]);
|
|
6422
6486
|
const index = NODE_TO_INDEX.get(element);
|
|
6423
6487
|
Transforms.setNode(board, {
|
|
6424
6488
|
points: newPoints
|
|
@@ -6432,8 +6496,8 @@ function drawPendingNodesG(board, activeElements, offsetX, offsetY) {
|
|
|
6432
6496
|
let pendingNodesG = null;
|
|
6433
6497
|
const elements = [];
|
|
6434
6498
|
const validElements = getValidElements(board, activeElements);
|
|
6435
|
-
validElements.forEach(element => {
|
|
6436
|
-
depthFirstRecursion(element, node => {
|
|
6499
|
+
validElements.forEach((element) => {
|
|
6500
|
+
depthFirstRecursion(element, (node) => {
|
|
6437
6501
|
elements.push(node);
|
|
6438
6502
|
}, () => true);
|
|
6439
6503
|
});
|
|
@@ -6502,7 +6566,7 @@ function withRelatedFragment(board) {
|
|
|
6502
6566
|
}
|
|
6503
6567
|
|
|
6504
6568
|
function withSelection(board) {
|
|
6505
|
-
const { pointerDown, pointerUp, pointerMove, globalPointerUp, onChange, afterChange,
|
|
6569
|
+
const { pointerDown, pointerUp, pointerMove, globalPointerUp, onChange, afterChange, touchStart, touchMove, touchEnd } = board;
|
|
6506
6570
|
let screenStart = null;
|
|
6507
6571
|
let screenEnd = null;
|
|
6508
6572
|
let selectionMovingG;
|
|
@@ -6538,6 +6602,13 @@ function withSelection(board) {
|
|
|
6538
6602
|
pointerDownEvent = event;
|
|
6539
6603
|
pointerDown(event);
|
|
6540
6604
|
};
|
|
6605
|
+
board.touchMove = (event) => {
|
|
6606
|
+
if (screenStart) {
|
|
6607
|
+
event.preventDefault();
|
|
6608
|
+
return;
|
|
6609
|
+
}
|
|
6610
|
+
touchMove(event);
|
|
6611
|
+
};
|
|
6541
6612
|
board.pointerMove = (event) => {
|
|
6542
6613
|
if (timerId &&
|
|
6543
6614
|
pointerDownEvent &&
|
|
@@ -6902,5 +6973,5 @@ function createModModifierKeys() {
|
|
|
6902
6973
|
* Generated bundle index. Do not edit.
|
|
6903
6974
|
*/
|
|
6904
6975
|
|
|
6905
|
-
export { A, ACTIVE_MOVING_CLASS_NAME, ACTIVE_STROKE_WIDTH, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_AFTER_CHANGE, BOARD_TO_CONTEXT, 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, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, CoreTransforms, CursorClass, D, DASH, DEFAULT_COLOR, DELETE, DOWN_ARROW, DRAG_SELECTION_PRESS_AND_MOVE_BUFFER, DarkThemeColor, DebugGenerator, DefaultThemeColor, Direction, E, EIGHT, ELEMENT_TO_REF, END, ENTER, EQUALS, ESCAPE, ElementFlavour, 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, HISTORY, HIT_DISTANCE_BUFFER, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_ALIVE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, IS_WINDOWS, J, K, KEY_TO_ELEMENT_MAP, L, LAST_MEDIA, LEFT_ARROW, ListRender, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MAX_ZOOM, MERGING, META, MIN_ZOOM, MUTE, N, NINE, NODE_TO_CONTAINER_G, NODE_TO_G, 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, PlaitBoardContext, PlaitElement, PlaitGroupElement, PlaitHistoryBoard, PlaitNode, PlaitOperation, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RESIZE_CURSORS, RESIZE_HANDLE_CLASS_NAME, RIGHT_ARROW, ROTATE_HANDLE_CLASS_NAME, RectangleClient, ResizeCursorClass, RetroThemeColor, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SELECTION_RECTANGLE_BOUNDING_CLASS_NAME, SELECTION_RECTANGLE_CLASS_NAME, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SNAPPING_STROKE_WIDTH, SNAP_TOLERANCE, SPACE, SPLITTING_ONCE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VIEWPORT_PADDING_RATIO, VOLUME_DOWN, VOLUME_UP, Viewport, W, WritableClipboardOperationType, WritableClipboardType, X, Y, Z, ZERO, ZOOM_STEP, addClipboardContext, addOrCreateClipboardContext, addSelectedElement, approximately, arrowPoints, buildPlaitHtml, cacheMovingElements, cacheSelectedElements, cacheSelectedElementsWithGroup, cacheSelectedElementsWithGroupOnShift, calcNewViewBox, calculateViewBox, canAddGroup, canRemoveGroup, canSetZIndex, catmullRomFitting, ceilToDecimal, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createBoard, createClipboardContext, createDebugGenerator, createFakeEvent, createForeignObject, createG, createGroup, createGroupRectangleG, createKeyboardEvent, createMask, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createRect, createSVG, createTestingBoard, createText, createTouchEvent, debounce, degreesToRadians, deleteFragment, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, distanceBetweenPointAndSegments, downloadImage, drawArrow, drawBezierPath, drawCircle, drawDashedLines, drawLine, drawLinearPath, drawPendingNodesG, drawPointSnapLines, drawRectangle, drawRoundRectangle, drawSelectionRectangleG, drawSolidLines, duplicateElements, fakeNodeWeakMap, filterSelectedGroups, findElements, findIndex, findLastIndex, getAllElementsInGroup, getAllGroups, getAllMoveOptions, getAngleBetweenPoints, getAngleByElement, getBarPoint, getBoardRectangle, getBoundingRectangleByElements, getClipboardData, getClipboardFromHtml, getCrossingPointsBetweenEllipseAndSegment, getDataTransferClipboard, getDataTransferClipboardText, getEditingGroup, getElementById, getElementHostBBox, getElementMap, getElementsInGroup, getElementsInGroupByElement, getElementsIndices, getEllipseArcCenter, getEllipseTangentSlope, getGroupByElement, getHighestGroup, getHighestIndexOfElement, getHighestSelectedElements, getHighestSelectedGroup, getHighestSelectedGroups, getHitElementByPoint, getHitElementsByPoint, getHitElementsBySelection, getHitSelectedElements, getI18nValue, getIsRecursionFunc, getMinPointDelta, getMovingElements, getNearestDelta, getNearestPointBetweenPointAndArc, getNearestPointBetweenPointAndDiscreteSegments, getNearestPointBetweenPointAndEllipse, getNearestPointBetweenPointAndSegment, getNearestPointBetweenPointAndSegments, getNearestPointRectangle, getOffsetAfterRotate, getOneMoveOptions, getPointBetween, getProbablySupportsClipboardRead, getProbablySupportsClipboardWrite, getProbablySupportsClipboardWriteText, getRealScrollBarWidth, getRectangleByAngle, getRectangleByElements, getRectangleByGroup, getRotatedBoundingRectangle, getSelectedElements, getSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getSelectedTargetElements, getSelectionAngle, getSelectionOptions, getSnapRectangles, getTemporaryElements, getTemporaryRef, getTripleAxis, getValidElements, getVectorFromPointAndSlope, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnContextChanged, hasSameAngle, hasSelectedElementsInSameGroup, hasSetSelectionOperation, hasValidAngle, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isAxisChangedByAngle, isContextmenu, isDOMElement, isDOMNode, isDebug, isDragging, isFromScrolling, isFromViewportChange, isHandleSelection, isHitElement, isHitSelectedRectangle, isHorizontalDirection, isInPlaitBoard, isIndicesContinuous, isLineHitLine, isLineHitRectangle, isLineHitRectangleEdge, isMainPointer, isMobileDeviceEvent, isMouseEvent, isMovingElements, isNullOrUndefined, isPencilEvent, isPointInEllipse, isPointInPolygon, isPointInRoundRectangle, isSecondaryPointer, isSelectedAllElementsInGroup, isSelectedElement, isSelectedElementOrGroup, isSelectionMoving, isSetSelectionOperation, isSetThemeOperation, isSetViewportOperation, isSingleLineHitRectangleEdge, isSnapPoint, isTouchEvent, isValidAngle, isVerticalDirection, isWheelPointer, mountElementG, moveElementsToNewPath, moveElementsToNewPathAfterAddGroup, nonGroupInHighestSelectedElements, normalizeAngle, normalizePoint, prepareElementBBox, radiansToDegrees, removeMovingElements, removeSelectedElement, replaceAngleBrackets, replaceSelectedElement, reverseReplaceAngleBrackets, rgbaToHEX, rotate, rotateAntiPointsByElement, rotateElements, rotatePoints, rotatePointsByAngle, rotatePointsByElement, rotatedDataPoints,
|
|
6976
|
+
export { A, ACTIVE_MOVING_CLASS_NAME, ACTIVE_STROKE_WIDTH, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_AFTER_CHANGE, BOARD_TO_CONTEXT, 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, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, CoreTransforms, CursorClass, D, DASH, DEFAULT_COLOR, DELETE, DOWN_ARROW, DRAG_SELECTION_PRESS_AND_MOVE_BUFFER, DarkThemeColor, DebugGenerator, DefaultThemeColor, Direction, E, EIGHT, ELEMENT_TO_REF, END, ENTER, EQUALS, ESCAPE, ElementFlavour, 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, HISTORY, HIT_DISTANCE_BUFFER, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_ALIVE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_HAND_MODE, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, IS_WINDOWS, J, K, KEY_TO_ELEMENT_MAP, L, LAST_MEDIA, LEFT_ARROW, ListRender, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MAX_ZOOM, MERGING, META, MIN_ZOOM, MUTE, N, NINE, NODE_TO_CONTAINER_G, NODE_TO_G, 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, PlaitBoardContext, PlaitElement, PlaitGroupElement, PlaitHistoryBoard, PlaitNode, PlaitOperation, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RESIZE_CURSORS, RESIZE_HANDLE_CLASS_NAME, RIGHT_ARROW, ROTATE_HANDLE_CLASS_NAME, RectangleClient, ResizeCursorClass, RetroThemeColor, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SELECTION_RECTANGLE_BOUNDING_CLASS_NAME, SELECTION_RECTANGLE_CLASS_NAME, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SNAPPING_STROKE_WIDTH, SNAP_TOLERANCE, SPACE, SPLITTING_ONCE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VIEWPORT_PADDING_RATIO, VOLUME_DOWN, VOLUME_UP, Viewport, W, WritableClipboardOperationType, WritableClipboardType, X, Y, Z, ZERO, ZOOM_STEP, addClipboardContext, addOrCreateClipboardContext, addSelectedElement, approximately, arrowPoints, buildPlaitHtml, cacheMovingElements, cacheSelectedElements, cacheSelectedElementsWithGroup, cacheSelectedElementsWithGroupOnShift, calcNewViewBox, calculateViewBox, canAddGroup, canRemoveGroup, canSetZIndex, catmullRomFitting, ceilToDecimal, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createBoard, createClipboardContext, createDebugGenerator, createFakeEvent, createForeignObject, createG, createGroup, createGroupRectangleG, createKeyboardEvent, createMask, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createRect, createSVG, createTestingBoard, createText, createTouchEvent, debounce, degreesToRadians, deleteFragment, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, distanceBetweenPointAndSegments, downloadImage, drawArrow, drawBezierPath, drawCircle, drawDashedLines, drawLine, drawLinearPath, drawPendingNodesG, drawPointSnapLines, drawRectangle, drawRoundRectangle, drawSelectionRectangleG, drawSolidLines, duplicateElements, fakeNodeWeakMap, filterSelectedGroups, findElements, findIndex, findLastIndex, getAllElementsInGroup, getAllGroups, getAllMoveOptions, getAngleBetweenPoints, getAngleByElement, getBarPoint, getBoardRectangle, getBoundingRectangleByElements, getClipboardData, getClipboardFromHtml, getCrossingPointsBetweenEllipseAndSegment, getDataTransferClipboard, getDataTransferClipboardText, getEditingGroup, getElementById, getElementHostBBox, getElementMap, getElementsInGroup, getElementsInGroupByElement, getElementsIndices, getEllipseArcCenter, getEllipseTangentSlope, getGroupByElement, getHighestGroup, getHighestIndexOfElement, getHighestSelectedElements, getHighestSelectedGroup, getHighestSelectedGroups, getHitElementByPoint, getHitElementsByPoint, getHitElementsBySelection, getHitSelectedElements, getI18nValue, getIsRecursionFunc, getMinPointDelta, getMovingElements, getNearestDelta, getNearestPointBetweenPointAndArc, getNearestPointBetweenPointAndDiscreteSegments, getNearestPointBetweenPointAndEllipse, getNearestPointBetweenPointAndSegment, getNearestPointBetweenPointAndSegments, getNearestPointRectangle, getOffsetAfterRotate, getOneMoveOptions, getPointBetween, getProbablySupportsClipboardRead, getProbablySupportsClipboardWrite, getProbablySupportsClipboardWriteText, getRealScrollBarWidth, getRectangleByAngle, getRectangleByElements, getRectangleByGroup, getRotatedBoundingRectangle, getSelectedElements, getSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getSelectedTargetElements, getSelectionAngle, getSelectionOptions, getSnapRectangles, getTemporaryElements, getTemporaryRef, getTripleAxis, getValidElements, getVectorFromPointAndSlope, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnContextChanged, hasSameAngle, hasSelectedElementsInSameGroup, hasSetSelectionOperation, hasValidAngle, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isAxisChangedByAngle, isContextmenu, isDOMElement, isDOMNode, isDebug, isDragging, isFromScrolling, isFromViewportChange, isHandMode, isHandleSelection, isHitElement, isHitSelectedRectangle, isHorizontalDirection, isInPlaitBoard, isInVisibleViewport, isIndicesContinuous, isLineHitLine, isLineHitRectangle, isLineHitRectangleEdge, isMainPointer, isMobileDeviceEvent, isMouseEvent, isMovingElements, isNullOrUndefined, isPencilEvent, isPointInEllipse, isPointInPolygon, isPointInRoundRectangle, isSecondaryPointer, isSelectedAllElementsInGroup, isSelectedElement, isSelectedElementOrGroup, isSelectionMoving, isSetSelectionOperation, isSetThemeOperation, isSetViewportOperation, isSingleLineHitRectangleEdge, isSnapPoint, isTouchDevice, isTouchEvent, isValidAngle, isVerticalDirection, isWheelPointer, mountElementG, moveElementsToNewPath, moveElementsToNewPathAfterAddGroup, nonGroupInHighestSelectedElements, normalizeAngle, normalizePoint, prepareElementBBox, radiansToDegrees, removeMovingElements, removeSelectedElement, replaceAngleBrackets, replaceSelectedElement, reverseReplaceAngleBrackets, rgbaToHEX, rotate, rotateAntiPointsByElement, rotateElements, rotatePoints, rotatePointsByAngle, rotatePointsByElement, rotatedDataPoints, scrollToVisibleWhenKeyboardOpening, setAngleForG, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setDragging, setFragment, setIsFromScrolling, setIsFromViewportChange, setPathStrokeLinecap, setSVGViewBox, setSelectedElementsWithGroup, setSelectionMoving, setSelectionOptions, setStrokeLinecap, shouldClear, shouldMerge, shouldSave, sortElements, stripHtml, temporaryDisableSelection, throttleRAF, toActivePoint, toActivePointFromViewBoxPoint, toActiveRectangleFromViewBoxRectangle, toDomPrecision, toFixed, toHostPoint, toHostPointFromViewBoxPoint, toImage, toScreenPointFromActivePoint, toScreenPointFromHostPoint, toViewBoxPoint, toViewBoxPoints, uniqueById, updateForeignObject, updateForeignObjectWidth, updatePoints, updateViewBox, updateViewportByScrolling, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withArrowMoving, withBoard, withHandPointer, withHistory, withHotkey, withI18n, withMoving, withOptions, withRelatedFragment, withSelection };
|
|
6906
6977
|
//# sourceMappingURL=plait-core.mjs.map
|