canvu-react 0.3.27 → 0.3.29
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 +29 -5
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +29 -5
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
package/dist/react.cjs
CHANGED
|
@@ -3651,6 +3651,10 @@ var TOOLBAR_TOOLTIP_CSS = `
|
|
|
3651
3651
|
opacity: 1;
|
|
3652
3652
|
visibility: visible;
|
|
3653
3653
|
}
|
|
3654
|
+
[data-slot="vector-canvas-toolbar"][data-position^="top-"] .vector-toolbar-tip {
|
|
3655
|
+
top: calc(100% + 8px);
|
|
3656
|
+
bottom: auto;
|
|
3657
|
+
}
|
|
3654
3658
|
`;
|
|
3655
3659
|
var OVERFLOW_MENU_CSS = `
|
|
3656
3660
|
.vector-toolbar-overflow-panel {
|
|
@@ -3733,6 +3737,10 @@ var OVERFLOW_MENU_CSS = `
|
|
|
3733
3737
|
opacity: 1;
|
|
3734
3738
|
visibility: visible;
|
|
3735
3739
|
}
|
|
3740
|
+
[data-slot="vector-canvas-toolbar"][data-position^="top-"] .vector-toolbar-overflow-tip {
|
|
3741
|
+
top: calc(100% + 8px);
|
|
3742
|
+
bottom: auto;
|
|
3743
|
+
}
|
|
3736
3744
|
.vector-toolbar-overflow-cell > button {
|
|
3737
3745
|
background: rgba(24,24,27,0.05);
|
|
3738
3746
|
}
|
|
@@ -7470,7 +7478,14 @@ var VectorViewport = react.forwardRef(
|
|
|
7470
7478
|
onPlacementPreviewChangeRef.current = onPlacementPreviewChange;
|
|
7471
7479
|
const directRemoteStrokePreviewRef = react.useRef(false);
|
|
7472
7480
|
const remoteStrokePreviewFrameRef = react.useRef(null);
|
|
7481
|
+
const remoteStrokePreviewClearTimerRef = react.useRef(null);
|
|
7473
7482
|
const pendingRemoteStrokePreviewRef = react.useRef(null);
|
|
7483
|
+
const cancelPendingRemoteStrokePreviewClear = react.useCallback(() => {
|
|
7484
|
+
if (remoteStrokePreviewClearTimerRef.current != null) {
|
|
7485
|
+
clearTimeout(remoteStrokePreviewClearTimerRef.current);
|
|
7486
|
+
remoteStrokePreviewClearTimerRef.current = null;
|
|
7487
|
+
}
|
|
7488
|
+
}, []);
|
|
7474
7489
|
const flushRemoteStrokePreviewWithStyle = react.useCallback(() => {
|
|
7475
7490
|
remoteStrokePreviewFrameRef.current = null;
|
|
7476
7491
|
const pending = pendingRemoteStrokePreviewRef.current;
|
|
@@ -7485,6 +7500,7 @@ var VectorViewport = react.forwardRef(
|
|
|
7485
7500
|
const emitRemoteStrokePreview = react.useCallback(
|
|
7486
7501
|
(tool, points) => {
|
|
7487
7502
|
if (tool === "laser") return;
|
|
7503
|
+
cancelPendingRemoteStrokePreviewClear();
|
|
7488
7504
|
directRemoteStrokePreviewRef.current = true;
|
|
7489
7505
|
pendingRemoteStrokePreviewRef.current = { tool, points };
|
|
7490
7506
|
if (remoteStrokePreviewFrameRef.current != null) return;
|
|
@@ -7492,17 +7508,22 @@ var VectorViewport = react.forwardRef(
|
|
|
7492
7508
|
flushRemoteStrokePreviewWithStyle
|
|
7493
7509
|
);
|
|
7494
7510
|
},
|
|
7495
|
-
[flushRemoteStrokePreviewWithStyle]
|
|
7511
|
+
[cancelPendingRemoteStrokePreviewClear, flushRemoteStrokePreviewWithStyle]
|
|
7496
7512
|
);
|
|
7513
|
+
const REMOTE_STROKE_PREVIEW_HOLD_MS = 350;
|
|
7497
7514
|
const emitRemoteStrokePreviewClear = react.useCallback(() => {
|
|
7498
7515
|
if (remoteStrokePreviewFrameRef.current != null) {
|
|
7499
7516
|
cancelAnimationFrame(remoteStrokePreviewFrameRef.current);
|
|
7500
7517
|
remoteStrokePreviewFrameRef.current = null;
|
|
7501
7518
|
}
|
|
7502
|
-
|
|
7503
|
-
|
|
7504
|
-
|
|
7505
|
-
|
|
7519
|
+
cancelPendingRemoteStrokePreviewClear();
|
|
7520
|
+
remoteStrokePreviewClearTimerRef.current = window.setTimeout(() => {
|
|
7521
|
+
remoteStrokePreviewClearTimerRef.current = null;
|
|
7522
|
+
pendingRemoteStrokePreviewRef.current = null;
|
|
7523
|
+
directRemoteStrokePreviewRef.current = false;
|
|
7524
|
+
onPlacementPreviewChangeRef.current?.(null);
|
|
7525
|
+
}, REMOTE_STROKE_PREVIEW_HOLD_MS);
|
|
7526
|
+
}, [cancelPendingRemoteStrokePreviewClear]);
|
|
7506
7527
|
const overlayCameraTickRef = react.useRef(false);
|
|
7507
7528
|
overlayCameraTickRef.current = interactive || remotePresence != null && remotePresence.length > 0 || presenceOverlay != null;
|
|
7508
7529
|
const pruneEraserTrail = react.useCallback(
|
|
@@ -7755,6 +7776,9 @@ var VectorViewport = react.forwardRef(
|
|
|
7755
7776
|
if (remoteStrokePreviewFrameRef.current != null) {
|
|
7756
7777
|
cancelAnimationFrame(remoteStrokePreviewFrameRef.current);
|
|
7757
7778
|
}
|
|
7779
|
+
if (remoteStrokePreviewClearTimerRef.current != null) {
|
|
7780
|
+
clearTimeout(remoteStrokePreviewClearTimerRef.current);
|
|
7781
|
+
}
|
|
7758
7782
|
};
|
|
7759
7783
|
}, []);
|
|
7760
7784
|
react.useEffect(() => {
|