canvu-react 0.3.27 → 0.3.28
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/dist/react.cjs +21 -5
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +21 -5
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
package/dist/react.cjs
CHANGED
|
@@ -7470,7 +7470,14 @@ var VectorViewport = react.forwardRef(
|
|
|
7470
7470
|
onPlacementPreviewChangeRef.current = onPlacementPreviewChange;
|
|
7471
7471
|
const directRemoteStrokePreviewRef = react.useRef(false);
|
|
7472
7472
|
const remoteStrokePreviewFrameRef = react.useRef(null);
|
|
7473
|
+
const remoteStrokePreviewClearTimerRef = react.useRef(null);
|
|
7473
7474
|
const pendingRemoteStrokePreviewRef = react.useRef(null);
|
|
7475
|
+
const cancelPendingRemoteStrokePreviewClear = react.useCallback(() => {
|
|
7476
|
+
if (remoteStrokePreviewClearTimerRef.current != null) {
|
|
7477
|
+
clearTimeout(remoteStrokePreviewClearTimerRef.current);
|
|
7478
|
+
remoteStrokePreviewClearTimerRef.current = null;
|
|
7479
|
+
}
|
|
7480
|
+
}, []);
|
|
7474
7481
|
const flushRemoteStrokePreviewWithStyle = react.useCallback(() => {
|
|
7475
7482
|
remoteStrokePreviewFrameRef.current = null;
|
|
7476
7483
|
const pending = pendingRemoteStrokePreviewRef.current;
|
|
@@ -7485,6 +7492,7 @@ var VectorViewport = react.forwardRef(
|
|
|
7485
7492
|
const emitRemoteStrokePreview = react.useCallback(
|
|
7486
7493
|
(tool, points) => {
|
|
7487
7494
|
if (tool === "laser") return;
|
|
7495
|
+
cancelPendingRemoteStrokePreviewClear();
|
|
7488
7496
|
directRemoteStrokePreviewRef.current = true;
|
|
7489
7497
|
pendingRemoteStrokePreviewRef.current = { tool, points };
|
|
7490
7498
|
if (remoteStrokePreviewFrameRef.current != null) return;
|
|
@@ -7492,17 +7500,22 @@ var VectorViewport = react.forwardRef(
|
|
|
7492
7500
|
flushRemoteStrokePreviewWithStyle
|
|
7493
7501
|
);
|
|
7494
7502
|
},
|
|
7495
|
-
[flushRemoteStrokePreviewWithStyle]
|
|
7503
|
+
[cancelPendingRemoteStrokePreviewClear, flushRemoteStrokePreviewWithStyle]
|
|
7496
7504
|
);
|
|
7505
|
+
const REMOTE_STROKE_PREVIEW_HOLD_MS = 350;
|
|
7497
7506
|
const emitRemoteStrokePreviewClear = react.useCallback(() => {
|
|
7498
7507
|
if (remoteStrokePreviewFrameRef.current != null) {
|
|
7499
7508
|
cancelAnimationFrame(remoteStrokePreviewFrameRef.current);
|
|
7500
7509
|
remoteStrokePreviewFrameRef.current = null;
|
|
7501
7510
|
}
|
|
7502
|
-
|
|
7503
|
-
|
|
7504
|
-
|
|
7505
|
-
|
|
7511
|
+
cancelPendingRemoteStrokePreviewClear();
|
|
7512
|
+
remoteStrokePreviewClearTimerRef.current = window.setTimeout(() => {
|
|
7513
|
+
remoteStrokePreviewClearTimerRef.current = null;
|
|
7514
|
+
pendingRemoteStrokePreviewRef.current = null;
|
|
7515
|
+
directRemoteStrokePreviewRef.current = false;
|
|
7516
|
+
onPlacementPreviewChangeRef.current?.(null);
|
|
7517
|
+
}, REMOTE_STROKE_PREVIEW_HOLD_MS);
|
|
7518
|
+
}, [cancelPendingRemoteStrokePreviewClear]);
|
|
7506
7519
|
const overlayCameraTickRef = react.useRef(false);
|
|
7507
7520
|
overlayCameraTickRef.current = interactive || remotePresence != null && remotePresence.length > 0 || presenceOverlay != null;
|
|
7508
7521
|
const pruneEraserTrail = react.useCallback(
|
|
@@ -7755,6 +7768,9 @@ var VectorViewport = react.forwardRef(
|
|
|
7755
7768
|
if (remoteStrokePreviewFrameRef.current != null) {
|
|
7756
7769
|
cancelAnimationFrame(remoteStrokePreviewFrameRef.current);
|
|
7757
7770
|
}
|
|
7771
|
+
if (remoteStrokePreviewClearTimerRef.current != null) {
|
|
7772
|
+
clearTimeout(remoteStrokePreviewClearTimerRef.current);
|
|
7773
|
+
}
|
|
7758
7774
|
};
|
|
7759
7775
|
}, []);
|
|
7760
7776
|
react.useEffect(() => {
|