canvu-react 0.4.59 → 0.4.60
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/chatbot.d.cts +1 -1
- package/dist/chatbot.d.ts +1 -1
- package/dist/react.cjs +143 -55
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +143 -55
- package/dist/react.js.map +1 -1
- package/dist/realtime.cjs +31 -18
- package/dist/realtime.cjs.map +1 -1
- package/dist/realtime.d.cts +6 -6
- package/dist/realtime.d.ts +6 -6
- package/dist/realtime.js +31 -18
- package/dist/realtime.js.map +1 -1
- package/dist/{types-BFZpRGyr.d.cts → types--jCoyZIF.d.cts} +35 -4
- package/dist/{types-D2zesNI8.d.ts → types-C_PMen-D.d.ts} +35 -4
- package/package.json +1 -1
package/dist/realtime.cjs
CHANGED
|
@@ -1251,7 +1251,10 @@ function RealtimeCommentsOverlay({
|
|
|
1251
1251
|
(item) => item.id === drag.itemId ? moveCommentItem(item, deltaX, deltaY) : item
|
|
1252
1252
|
);
|
|
1253
1253
|
itemsRef.current = nextItems;
|
|
1254
|
-
onItemsChange(nextItems
|
|
1254
|
+
onItemsChange(nextItems, {
|
|
1255
|
+
motive: "plugin",
|
|
1256
|
+
itemIds: [drag.itemId]
|
|
1257
|
+
});
|
|
1255
1258
|
};
|
|
1256
1259
|
const onPointerUp = () => {
|
|
1257
1260
|
dragStateRef.current = null;
|
|
@@ -1757,20 +1760,20 @@ function useRealtimeComments({
|
|
|
1757
1760
|
[author.color]
|
|
1758
1761
|
);
|
|
1759
1762
|
const handleViewportItemsChange = react.useCallback(
|
|
1760
|
-
(nextItems, overrideOnItemsChange) => {
|
|
1763
|
+
(nextItems, overrideOnItemsChange, info) => {
|
|
1761
1764
|
const applyItemsChange = overrideOnItemsChange ?? onItemsChange;
|
|
1762
1765
|
const currentIds = new Set(items.map((item) => item.id));
|
|
1763
1766
|
const draftItem = nextItems.find(
|
|
1764
1767
|
(item) => !currentIds.has(item.id) && isRealtimeCommentDraftItem(item)
|
|
1765
1768
|
);
|
|
1766
1769
|
if (!draftItem) {
|
|
1767
|
-
applyItemsChange(nextItems);
|
|
1770
|
+
applyItemsChange(nextItems, info);
|
|
1768
1771
|
return;
|
|
1769
1772
|
}
|
|
1770
1773
|
const filteredItems = nextItems.filter((item) => item.id !== draftItem.id);
|
|
1771
1774
|
const shouldPersistFiltered = filteredItems.length !== items.length || filteredItems.some((item, index) => items[index]?.id !== item.id);
|
|
1772
1775
|
if (shouldPersistFiltered) {
|
|
1773
|
-
applyItemsChange(filteredItems);
|
|
1776
|
+
applyItemsChange(filteredItems, info);
|
|
1774
1777
|
}
|
|
1775
1778
|
setCommentComposer({
|
|
1776
1779
|
worldX: draftItem.bounds.x + draftItem.bounds.width / 2,
|
|
@@ -1812,7 +1815,10 @@ function useRealtimeComments({
|
|
|
1812
1815
|
authorImage
|
|
1813
1816
|
}
|
|
1814
1817
|
);
|
|
1815
|
-
onItemsChange(items.concat(nextItem)
|
|
1818
|
+
onItemsChange(items.concat(nextItem), {
|
|
1819
|
+
motive: "plugin",
|
|
1820
|
+
itemIds: [nextItem.id]
|
|
1821
|
+
});
|
|
1816
1822
|
setCommentComposer(null);
|
|
1817
1823
|
}, [
|
|
1818
1824
|
author.color,
|
|
@@ -1870,7 +1876,7 @@ function useRealtimeComments({
|
|
|
1870
1876
|
const viewport = react.useMemo(
|
|
1871
1877
|
() => ({
|
|
1872
1878
|
customPlacement,
|
|
1873
|
-
onItemsChange: (nextItems) => handleViewportItemsChange(nextItems),
|
|
1879
|
+
onItemsChange: (nextItems, info) => handleViewportItemsChange(nextItems, void 0, info),
|
|
1874
1880
|
onCameraChange
|
|
1875
1881
|
}),
|
|
1876
1882
|
[customPlacement, handleViewportItemsChange, onCameraChange]
|
|
@@ -3523,7 +3529,7 @@ function RealtimeCollaborationPluginComponent({
|
|
|
3523
3529
|
);
|
|
3524
3530
|
const handleCommentItemsChange = react.useCallback(
|
|
3525
3531
|
(nextItems) => {
|
|
3526
|
-
onItemsChange?.([...nextItems]);
|
|
3532
|
+
onItemsChange?.([...nextItems], { motive: "plugin" });
|
|
3527
3533
|
session.remoteAdapter.send?.([...nextItems]);
|
|
3528
3534
|
},
|
|
3529
3535
|
[onItemsChange, session.remoteAdapter]
|
|
@@ -3573,7 +3579,7 @@ function RealtimeCollaborationPluginComponent({
|
|
|
3573
3579
|
react.useEffect(() => {
|
|
3574
3580
|
if (!onItemsChange || !session.document) return;
|
|
3575
3581
|
if (session.document.updatedByClientId === session.connection.clientId) return;
|
|
3576
|
-
onItemsChange(session.document.items);
|
|
3582
|
+
onItemsChange(session.document.items, { motive: "remote-sync" });
|
|
3577
3583
|
}, [onItemsChange, session.connection.clientId, session.document]);
|
|
3578
3584
|
const contribution = react.useMemo(
|
|
3579
3585
|
() => ({
|
|
@@ -3588,15 +3594,19 @@ function RealtimeCollaborationPluginComponent({
|
|
|
3588
3594
|
onPlacementPreviewChange: presenceBindings.onPlacementPreviewChange,
|
|
3589
3595
|
onCameraChange: onViewportCameraChange
|
|
3590
3596
|
},
|
|
3591
|
-
wrapOnItemsChange: (nextItems, ctx) => {
|
|
3597
|
+
wrapOnItemsChange: (nextItems, ctx, info) => {
|
|
3592
3598
|
if (commentOptions) {
|
|
3593
|
-
comments.handleViewportItemsChange(
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3599
|
+
comments.handleViewportItemsChange(
|
|
3600
|
+
nextItems,
|
|
3601
|
+
(processedItems, processedInfo) => {
|
|
3602
|
+
ctx.next(processedItems, processedInfo);
|
|
3603
|
+
session.remoteAdapter.send?.([...processedItems]);
|
|
3604
|
+
},
|
|
3605
|
+
info
|
|
3606
|
+
);
|
|
3597
3607
|
return;
|
|
3598
3608
|
}
|
|
3599
|
-
ctx.next(nextItems);
|
|
3609
|
+
ctx.next(nextItems, info);
|
|
3600
3610
|
session.remoteAdapter.send?.(nextItems);
|
|
3601
3611
|
}
|
|
3602
3612
|
}),
|
|
@@ -3737,14 +3747,17 @@ function useRealtimeCanvasDocument(options) {
|
|
|
3737
3747
|
[hydrateItems, normalizeItems]
|
|
3738
3748
|
);
|
|
3739
3749
|
const handleItemsChange = react.useCallback(
|
|
3740
|
-
(nextItems) => {
|
|
3750
|
+
(nextItems, info) => {
|
|
3741
3751
|
if (!enabled) {
|
|
3742
|
-
onItemsChange?.(
|
|
3752
|
+
onItemsChange?.(
|
|
3753
|
+
normalizeItems ? normalizeItems(nextItems) : nextItems,
|
|
3754
|
+
info
|
|
3755
|
+
);
|
|
3743
3756
|
return;
|
|
3744
3757
|
}
|
|
3745
3758
|
hasLocalChangeInFlightRef.current = true;
|
|
3746
3759
|
const normalizedItems = normalizeItems ? normalizeItems(nextItems) : nextItems;
|
|
3747
|
-
onItemsChange?.(normalizedItems);
|
|
3760
|
+
onItemsChange?.(normalizedItems, info);
|
|
3748
3761
|
session?.remoteAdapter.send?.(normalizedItems);
|
|
3749
3762
|
},
|
|
3750
3763
|
[enabled, normalizeItems, onItemsChange, session]
|
|
@@ -3795,7 +3808,7 @@ function useRealtimeCanvasDocument(options) {
|
|
|
3795
3808
|
if (resolvedItems.length > 0) {
|
|
3796
3809
|
hasEverPropagatedItemsRef.current = true;
|
|
3797
3810
|
}
|
|
3798
|
-
onItemsChange(resolvedItems);
|
|
3811
|
+
onItemsChange(resolvedItems, { motive: "remote-sync" });
|
|
3799
3812
|
}).finally(() => {
|
|
3800
3813
|
if (inFlightRevisionRef.current === documentRevision) {
|
|
3801
3814
|
inFlightRevisionRef.current = null;
|