canvu-react 0.3.8 → 0.3.9
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 +61 -0
- 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 +61 -0
- package/dist/react.js.map +1 -1
- package/dist/realtime.cjs +244 -11
- package/dist/realtime.cjs.map +1 -1
- package/dist/realtime.d.cts +20 -7
- package/dist/realtime.d.ts +20 -7
- package/dist/realtime.js +244 -12
- package/dist/realtime.js.map +1 -1
- package/dist/{types-CW146bKP.d.cts → types-BtLGGw0r.d.cts} +10 -1
- package/dist/{types-CpqlbbCP.d.ts → types-ChnTSRSe.d.ts} +10 -1
- package/package.json +1 -1
package/dist/react.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { V as VectorSceneItem } from './types-CB0TZZuk.cjs';
|
|
2
|
-
import { V as VectorViewportAssetKind, a as VectorViewportAssetStore, b as VectorToolDefinition, C as CanvasPlugin, B as BoardComponentPosition } from './types-
|
|
3
|
-
export { c as CanvasPluginComponentProps, d as CanvasPluginContribution, e as CanvasPluginItemsChangeMiddlewareContext, f as CanvasPluginRenderContext, g as CanvuChromeActiveToolStyle, h as CanvuChromeContext, i as CanvuChromeContextValue, j as CanvuChromeSelectionStyleChange, k as CanvuPluginContext, l as CanvuPluginContextValue, m as CanvuPluginViewportSnapshot, n as CustomShapePlacementOptions, N as NavMenu, o as NavMenuProps, P as PlacementPreview, p as VectorCanvas, q as VectorCanvasBody, r as VectorCanvasHeader, s as VectorCanvasMain, t as VectorCanvasRoot, u as VectorCanvasSlotProps, v as VectorCanvasSpacePosition, w as VectorCanvasSpaceProps, x as VectorCanvasToolbar, y as VectorCanvasToolbarProps, z as VectorCanvasViewportSurface, A as VectorSelectionInspector, D as VectorSelectionInspectorProps, E as VectorViewport, F as VectorViewportAssetResolveRequest, G as VectorViewportAssetResolveResult, H as VectorViewportAssetUploadRequest, I as VectorViewportAssetUploadResult, J as VectorViewportHandle, K as VectorViewportProps, W as WorldPointerDownDetail, L as createCanvuPlugin, M as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, R as useCanvuPluginContext, S as useCanvuPluginContribution, T as useCanvuResolvedTools, U as useCanvuViewportContext } from './types-
|
|
2
|
+
import { V as VectorViewportAssetKind, a as VectorViewportAssetStore, b as VectorToolDefinition, C as CanvasPlugin, B as BoardComponentPosition } from './types-BtLGGw0r.cjs';
|
|
3
|
+
export { c as CanvasPluginComponentProps, d as CanvasPluginContribution, e as CanvasPluginItemsChangeMiddlewareContext, f as CanvasPluginRenderContext, g as CanvuChromeActiveToolStyle, h as CanvuChromeContext, i as CanvuChromeContextValue, j as CanvuChromeSelectionStyleChange, k as CanvuPluginContext, l as CanvuPluginContextValue, m as CanvuPluginViewportSnapshot, n as CustomShapePlacementOptions, N as NavMenu, o as NavMenuProps, P as PlacementPreview, p as VectorCanvas, q as VectorCanvasBody, r as VectorCanvasHeader, s as VectorCanvasMain, t as VectorCanvasRoot, u as VectorCanvasSlotProps, v as VectorCanvasSpacePosition, w as VectorCanvasSpaceProps, x as VectorCanvasToolbar, y as VectorCanvasToolbarProps, z as VectorCanvasViewportSurface, A as VectorSelectionInspector, D as VectorSelectionInspectorProps, E as VectorViewport, F as VectorViewportAssetResolveRequest, G as VectorViewportAssetResolveResult, H as VectorViewportAssetUploadRequest, I as VectorViewportAssetUploadResult, J as VectorViewportHandle, K as VectorViewportProps, W as WorldPointerDownDetail, L as createCanvuPlugin, M as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, R as useCanvuPluginContext, S as useCanvuPluginContribution, T as useCanvuResolvedTools, U as useCanvuViewportContext } from './types-BtLGGw0r.cjs';
|
|
4
4
|
import { V as VectorCanvasPersistenceAdapter, a as VectorCanvasRemoteAdapter } from './types-B58i5k-u.cjs';
|
|
5
5
|
export { b as VectorCanvasSnapshot } from './types-B58i5k-u.cjs';
|
|
6
6
|
import * as react from 'react';
|
package/dist/react.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { V as VectorSceneItem } from './types-CB0TZZuk.js';
|
|
2
|
-
import { V as VectorViewportAssetKind, a as VectorViewportAssetStore, b as VectorToolDefinition, C as CanvasPlugin, B as BoardComponentPosition } from './types-
|
|
3
|
-
export { c as CanvasPluginComponentProps, d as CanvasPluginContribution, e as CanvasPluginItemsChangeMiddlewareContext, f as CanvasPluginRenderContext, g as CanvuChromeActiveToolStyle, h as CanvuChromeContext, i as CanvuChromeContextValue, j as CanvuChromeSelectionStyleChange, k as CanvuPluginContext, l as CanvuPluginContextValue, m as CanvuPluginViewportSnapshot, n as CustomShapePlacementOptions, N as NavMenu, o as NavMenuProps, P as PlacementPreview, p as VectorCanvas, q as VectorCanvasBody, r as VectorCanvasHeader, s as VectorCanvasMain, t as VectorCanvasRoot, u as VectorCanvasSlotProps, v as VectorCanvasSpacePosition, w as VectorCanvasSpaceProps, x as VectorCanvasToolbar, y as VectorCanvasToolbarProps, z as VectorCanvasViewportSurface, A as VectorSelectionInspector, D as VectorSelectionInspectorProps, E as VectorViewport, F as VectorViewportAssetResolveRequest, G as VectorViewportAssetResolveResult, H as VectorViewportAssetUploadRequest, I as VectorViewportAssetUploadResult, J as VectorViewportHandle, K as VectorViewportProps, W as WorldPointerDownDetail, L as createCanvuPlugin, M as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, R as useCanvuPluginContext, S as useCanvuPluginContribution, T as useCanvuResolvedTools, U as useCanvuViewportContext } from './types-
|
|
2
|
+
import { V as VectorViewportAssetKind, a as VectorViewportAssetStore, b as VectorToolDefinition, C as CanvasPlugin, B as BoardComponentPosition } from './types-ChnTSRSe.js';
|
|
3
|
+
export { c as CanvasPluginComponentProps, d as CanvasPluginContribution, e as CanvasPluginItemsChangeMiddlewareContext, f as CanvasPluginRenderContext, g as CanvuChromeActiveToolStyle, h as CanvuChromeContext, i as CanvuChromeContextValue, j as CanvuChromeSelectionStyleChange, k as CanvuPluginContext, l as CanvuPluginContextValue, m as CanvuPluginViewportSnapshot, n as CustomShapePlacementOptions, N as NavMenu, o as NavMenuProps, P as PlacementPreview, p as VectorCanvas, q as VectorCanvasBody, r as VectorCanvasHeader, s as VectorCanvasMain, t as VectorCanvasRoot, u as VectorCanvasSlotProps, v as VectorCanvasSpacePosition, w as VectorCanvasSpaceProps, x as VectorCanvasToolbar, y as VectorCanvasToolbarProps, z as VectorCanvasViewportSurface, A as VectorSelectionInspector, D as VectorSelectionInspectorProps, E as VectorViewport, F as VectorViewportAssetResolveRequest, G as VectorViewportAssetResolveResult, H as VectorViewportAssetUploadRequest, I as VectorViewportAssetUploadResult, J as VectorViewportHandle, K as VectorViewportProps, W as WorldPointerDownDetail, L as createCanvuPlugin, M as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, R as useCanvuPluginContext, S as useCanvuPluginContribution, T as useCanvuResolvedTools, U as useCanvuViewportContext } from './types-ChnTSRSe.js';
|
|
4
4
|
import { V as VectorCanvasPersistenceAdapter, a as VectorCanvasRemoteAdapter } from './types-DgEArHkA.js';
|
|
5
5
|
export { b as VectorCanvasSnapshot } from './types-DgEArHkA.js';
|
|
6
6
|
import * as react from 'react';
|
package/dist/react.js
CHANGED
|
@@ -4884,6 +4884,7 @@ function InteractionOverlay({
|
|
|
4884
4884
|
eraserTrail = [],
|
|
4885
4885
|
laserTrail = [],
|
|
4886
4886
|
eraserPreviewItems = [],
|
|
4887
|
+
marqueeCandidateItems = [],
|
|
4887
4888
|
previewStrokeStyle
|
|
4888
4889
|
}) {
|
|
4889
4890
|
const z = camera.zoom;
|
|
@@ -5132,6 +5133,33 @@ function InteractionOverlay({
|
|
|
5132
5133
|
);
|
|
5133
5134
|
}) });
|
|
5134
5135
|
}
|
|
5136
|
+
let marqueeCandidates = null;
|
|
5137
|
+
if (marqueeCandidateItems.length > 0) {
|
|
5138
|
+
marqueeCandidates = /* @__PURE__ */ jsx("g", { children: marqueeCandidateItems.map((it) => {
|
|
5139
|
+
const b = normalizeRect(it.bounds);
|
|
5140
|
+
return /* @__PURE__ */ jsx(
|
|
5141
|
+
"g",
|
|
5142
|
+
{
|
|
5143
|
+
transform: formatItemPlacementTransform(it),
|
|
5144
|
+
children: /* @__PURE__ */ jsx(
|
|
5145
|
+
"rect",
|
|
5146
|
+
{
|
|
5147
|
+
x: 0,
|
|
5148
|
+
y: 0,
|
|
5149
|
+
width: b.width,
|
|
5150
|
+
height: b.height,
|
|
5151
|
+
fill: "rgba(59, 130, 246, 0.10)",
|
|
5152
|
+
stroke: "#3b82f6",
|
|
5153
|
+
strokeWidth: overlayStrokePx,
|
|
5154
|
+
strokeDasharray: dashPattern,
|
|
5155
|
+
vectorEffect: "non-scaling-stroke"
|
|
5156
|
+
}
|
|
5157
|
+
)
|
|
5158
|
+
},
|
|
5159
|
+
`marquee-cand-${it.id}`
|
|
5160
|
+
);
|
|
5161
|
+
}) });
|
|
5162
|
+
}
|
|
5135
5163
|
let eraserTrailOverlay = null;
|
|
5136
5164
|
if (eraserTrail.length >= 1) {
|
|
5137
5165
|
const now = Date.now();
|
|
@@ -5232,6 +5260,7 @@ function InteractionOverlay({
|
|
|
5232
5260
|
width: "100%",
|
|
5233
5261
|
height: "100%",
|
|
5234
5262
|
children: /* @__PURE__ */ jsxs("g", { transform: rootTransform, children: [
|
|
5263
|
+
marqueeCandidates,
|
|
5235
5264
|
preview,
|
|
5236
5265
|
laserTrailOverlay,
|
|
5237
5266
|
eraserTrailOverlay,
|
|
@@ -5390,6 +5419,17 @@ function PresenceRemoteLayer({
|
|
|
5390
5419
|
);
|
|
5391
5420
|
}
|
|
5392
5421
|
|
|
5422
|
+
// src/react/stable-selection.ts
|
|
5423
|
+
function shallowEqualStringArray(a, b) {
|
|
5424
|
+
if (a === b) return true;
|
|
5425
|
+
if (!a || !b) return a === b;
|
|
5426
|
+
if (a.length !== b.length) return false;
|
|
5427
|
+
for (let i = 0; i < a.length; i++) {
|
|
5428
|
+
if (a[i] !== b[i]) return false;
|
|
5429
|
+
}
|
|
5430
|
+
return true;
|
|
5431
|
+
}
|
|
5432
|
+
|
|
5393
5433
|
// src/react/TextEditOverlay.tsx
|
|
5394
5434
|
init_rect();
|
|
5395
5435
|
init_text_svg();
|
|
@@ -6113,6 +6153,9 @@ var VectorViewport = forwardRef(
|
|
|
6113
6153
|
const [laserTrail, setLaserTrail] = useState([]);
|
|
6114
6154
|
const [eraserPreviewIds, setEraserPreviewIds] = useState([]);
|
|
6115
6155
|
const eraserPreviewIdsRef = useRef(/* @__PURE__ */ new Set());
|
|
6156
|
+
const [marqueeCandidateIds, setMarqueeCandidateIds] = useState([]);
|
|
6157
|
+
const marqueeCandidateIdsRef = useRef([]);
|
|
6158
|
+
marqueeCandidateIdsRef.current = marqueeCandidateIds;
|
|
6116
6159
|
const resolvedSceneItems = useMemo(() => {
|
|
6117
6160
|
if (eraserPreviewIds.length === 0) return resolvedItems;
|
|
6118
6161
|
const hiddenIds = new Set(eraserPreviewIds);
|
|
@@ -7753,6 +7796,14 @@ var VectorViewport = forwardRef(
|
|
|
7753
7796
|
const { worldX: worldX2, worldY: worldY2 } = screenToWorld(ev.clientX, ev.clientY);
|
|
7754
7797
|
const raw = rectFromCorners(st.startWorld, { x: worldX2, y: worldY2 });
|
|
7755
7798
|
setPlacementPreview({ kind: "marquee", rect: raw });
|
|
7799
|
+
const nextCand = collectItemIdsInRect(
|
|
7800
|
+
resolvedItemsRef.current,
|
|
7801
|
+
normalizeRect(raw)
|
|
7802
|
+
);
|
|
7803
|
+
if (!shallowEqualStringArray(nextCand, marqueeCandidateIdsRef.current)) {
|
|
7804
|
+
marqueeCandidateIdsRef.current = nextCand;
|
|
7805
|
+
setMarqueeCandidateIds(nextCand);
|
|
7806
|
+
}
|
|
7756
7807
|
return;
|
|
7757
7808
|
}
|
|
7758
7809
|
if (st.kind === "stroke") {
|
|
@@ -7932,6 +7983,8 @@ var VectorViewport = forwardRef(
|
|
|
7932
7983
|
dragStateRef.current = { kind: "idle" };
|
|
7933
7984
|
releaseInteractionPointer();
|
|
7934
7985
|
setPlacementPreview(null);
|
|
7986
|
+
marqueeCandidateIdsRef.current = [];
|
|
7987
|
+
setMarqueeCandidateIds([]);
|
|
7935
7988
|
return;
|
|
7936
7989
|
}
|
|
7937
7990
|
if (st.kind === "move" || st.kind === "resize" || st.kind === "rotate") {
|
|
@@ -7943,6 +7996,8 @@ var VectorViewport = forwardRef(
|
|
|
7943
7996
|
dragStateRef.current = { kind: "idle" };
|
|
7944
7997
|
releaseInteractionPointer();
|
|
7945
7998
|
setPlacementPreview(null);
|
|
7999
|
+
marqueeCandidateIdsRef.current = [];
|
|
8000
|
+
setMarqueeCandidateIds([]);
|
|
7946
8001
|
const { worldX, worldY } = screenToWorld(ev.clientX, ev.clientY);
|
|
7947
8002
|
const raw = rectFromCorners(st.startWorld, { x: worldX, y: worldY });
|
|
7948
8003
|
const br = normalizeRect(raw);
|
|
@@ -8173,6 +8228,11 @@ var VectorViewport = forwardRef(
|
|
|
8173
8228
|
const eraserPreviewItemsForOverlay = useMemo(() => {
|
|
8174
8229
|
return eraserPreviewIds.map((id) => resolvedItems.find((i) => i.id === id)).filter((i) => i != null);
|
|
8175
8230
|
}, [eraserPreviewIds, resolvedItems]);
|
|
8231
|
+
const marqueeCandidateItemsForOverlay = useMemo(() => {
|
|
8232
|
+
if (marqueeCandidateIds.length === 0) return [];
|
|
8233
|
+
const selected = new Set(effectiveSelectedIds);
|
|
8234
|
+
return marqueeCandidateIds.filter((id) => !selected.has(id)).map((id) => resolvedItems.find((i) => i.id === id)).filter((i) => i != null);
|
|
8235
|
+
}, [marqueeCandidateIds, effectiveSelectedIds, resolvedItems]);
|
|
8176
8236
|
const presenceLayer = useMemo(() => {
|
|
8177
8237
|
if (!cameraForOverlay) return null;
|
|
8178
8238
|
if (presenceOverlay) {
|
|
@@ -8318,6 +8378,7 @@ var VectorViewport = forwardRef(
|
|
|
8318
8378
|
eraserTrail,
|
|
8319
8379
|
laserTrail,
|
|
8320
8380
|
eraserPreviewItems: eraserPreviewItemsForOverlay,
|
|
8381
|
+
marqueeCandidateItems: marqueeCandidateItemsForOverlay,
|
|
8321
8382
|
previewStrokeStyle: strokeStyleRef.current
|
|
8322
8383
|
}
|
|
8323
8384
|
),
|