@pixldocs/canvas-renderer 0.5.243 → 0.5.245
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/{index-C5mQ2kl5.js → index-FE8QLDiA.js} +170 -47
- package/dist/index-FE8QLDiA.js.map +1 -0
- package/dist/{index-UuNicsNZ.cjs → index-o3TKXqkj.cjs} +170 -47
- package/dist/index-o3TKXqkj.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-V2qBQ4Xs.cjs → vectorPdfExport-00z0fojJ.cjs} +4 -4
- package/dist/{vectorPdfExport-V2qBQ4Xs.cjs.map → vectorPdfExport-00z0fojJ.cjs.map} +1 -1
- package/dist/{vectorPdfExport-DJD1vq7N.js → vectorPdfExport-qzZ0kZCI.js} +4 -4
- package/dist/{vectorPdfExport-DJD1vq7N.js.map → vectorPdfExport-qzZ0kZCI.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-C5mQ2kl5.js.map +0 -1
- package/dist/index-UuNicsNZ.cjs.map +0 -1
|
@@ -11138,6 +11138,8 @@ const PageCanvas = react.forwardRef(
|
|
|
11138
11138
|
const [guides, setGuides] = react.useState([]);
|
|
11139
11139
|
const [gridResizeLabel, setGridResizeLabel] = react.useState(null);
|
|
11140
11140
|
const [hoverBounds, setHoverBounds] = react.useState(null);
|
|
11141
|
+
const [drilledGroupBounds, setDrilledGroupBounds] = react.useState(null);
|
|
11142
|
+
const drilledGroupIdRef = react.useRef(null);
|
|
11141
11143
|
const [rotationLabel, setRotationLabel] = react.useState(null);
|
|
11142
11144
|
const [sizeLabel, setSizeLabel] = react.useState(null);
|
|
11143
11145
|
const [ready, setReady] = react.useState(false);
|
|
@@ -11194,6 +11196,7 @@ const PageCanvas = react.forwardRef(
|
|
|
11194
11196
|
const preserveEditingScopeOnSelectionClearRef = react.useRef(false);
|
|
11195
11197
|
const preserveActiveSelectionAfterTransformRef = react.useRef(null);
|
|
11196
11198
|
const pendingGroupPromotionRef = react.useRef(null);
|
|
11199
|
+
const pendingGroupDrillInRef = react.useRef(null);
|
|
11197
11200
|
const imageReloadRequestSeqRef = react.useRef(/* @__PURE__ */ new Map());
|
|
11198
11201
|
react.useRef(null);
|
|
11199
11202
|
const groupBoundsResizingRef = react.useRef(false);
|
|
@@ -12004,16 +12007,29 @@ const PageCanvas = react.forwardRef(
|
|
|
12004
12007
|
}
|
|
12005
12008
|
});
|
|
12006
12009
|
fabricCanvas.on("object:scaling", () => {
|
|
12010
|
+
var _a2;
|
|
12007
12011
|
fabricCanvas.__isUserTransforming = true;
|
|
12012
|
+
if (drilledGroupIdRef.current) {
|
|
12013
|
+
try {
|
|
12014
|
+
(_a2 = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _a2.call(fabricCanvas);
|
|
12015
|
+
} catch {
|
|
12016
|
+
}
|
|
12017
|
+
}
|
|
12008
12018
|
});
|
|
12009
12019
|
fabricCanvas.on("object:moving", () => {
|
|
12010
|
-
var _a2;
|
|
12020
|
+
var _a2, _b2;
|
|
12011
12021
|
fabricCanvas.__isUserTransforming = true;
|
|
12012
12022
|
didTransformRef.current = true;
|
|
12023
|
+
if (drilledGroupIdRef.current) {
|
|
12024
|
+
try {
|
|
12025
|
+
(_a2 = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _a2.call(fabricCanvas);
|
|
12026
|
+
} catch {
|
|
12027
|
+
}
|
|
12028
|
+
}
|
|
12013
12029
|
const active = fabricCanvas.getActiveObject();
|
|
12014
12030
|
if (!active) return;
|
|
12015
12031
|
const state = useEditorStore.getState();
|
|
12016
|
-
const canvasPage = (
|
|
12032
|
+
const canvasPage = (_b2 = state.canvas.pages) == null ? void 0 : _b2.find((p) => p.id === pageId);
|
|
12017
12033
|
const children = (canvasPage == null ? void 0 : canvasPage.children) ?? [];
|
|
12018
12034
|
if (!canvasPage) return;
|
|
12019
12035
|
const ids = state.canvas.selectedIds ?? [];
|
|
@@ -12044,8 +12060,15 @@ const PageCanvas = react.forwardRef(
|
|
|
12044
12060
|
}
|
|
12045
12061
|
});
|
|
12046
12062
|
fabricCanvas.on("object:rotating", () => {
|
|
12063
|
+
var _a2;
|
|
12047
12064
|
fabricCanvas.__isUserTransforming = true;
|
|
12048
12065
|
didTransformRef.current = true;
|
|
12066
|
+
if (drilledGroupIdRef.current) {
|
|
12067
|
+
try {
|
|
12068
|
+
(_a2 = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _a2.call(fabricCanvas);
|
|
12069
|
+
} catch {
|
|
12070
|
+
}
|
|
12071
|
+
}
|
|
12049
12072
|
});
|
|
12050
12073
|
const syncSelectionToStore = () => {
|
|
12051
12074
|
var _a2, _b2, _c, _d;
|
|
@@ -12256,7 +12279,7 @@ const PageCanvas = react.forwardRef(
|
|
|
12256
12279
|
}
|
|
12257
12280
|
});
|
|
12258
12281
|
fabricCanvas.on("mouse:dblclick", (opt) => {
|
|
12259
|
-
var _a2, _b2;
|
|
12282
|
+
var _a2, _b2, _c;
|
|
12260
12283
|
const target = opt == null ? void 0 : opt.target;
|
|
12261
12284
|
if (!target) return;
|
|
12262
12285
|
if (target.isEditing) return;
|
|
@@ -12264,7 +12287,7 @@ const PageCanvas = react.forwardRef(
|
|
|
12264
12287
|
const active = fabricCanvas.getActiveObject();
|
|
12265
12288
|
let hitChild = null;
|
|
12266
12289
|
if (active instanceof fabric__namespace.ActiveSelection) {
|
|
12267
|
-
const pointer = fabricCanvas.
|
|
12290
|
+
const pointer = fabricCanvas.getPointer(opt.e);
|
|
12268
12291
|
const objs = active.getObjects();
|
|
12269
12292
|
for (let i = objs.length - 1; i >= 0; i--) {
|
|
12270
12293
|
const o = objs[i];
|
|
@@ -12351,6 +12374,10 @@ const PageCanvas = react.forwardRef(
|
|
|
12351
12374
|
}
|
|
12352
12375
|
const selectedId = selectionIdx < 0 ? childId : chain[selectionIdx].id;
|
|
12353
12376
|
selectElements([selectedId], false, false);
|
|
12377
|
+
try {
|
|
12378
|
+
(_c = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _c.call(fabricCanvas);
|
|
12379
|
+
} catch {
|
|
12380
|
+
}
|
|
12354
12381
|
});
|
|
12355
12382
|
fabricCanvas.on("selection:cleared", () => {
|
|
12356
12383
|
if (!isActiveRef.current || isRebuildingRef.current || !allowSelection) return;
|
|
@@ -12358,6 +12385,8 @@ const PageCanvas = react.forwardRef(
|
|
|
12358
12385
|
groupBoundsResizingRef.current = false;
|
|
12359
12386
|
if (!preserveEditingScopeOnSelectionClearRef.current) {
|
|
12360
12387
|
fabricCanvas.__activeEditingGroupId = null;
|
|
12388
|
+
setDrilledGroupBounds(null);
|
|
12389
|
+
drilledGroupIdRef.current = null;
|
|
12361
12390
|
}
|
|
12362
12391
|
const preservedGroupSelection = preserveActiveSelectionAfterTransformRef.current;
|
|
12363
12392
|
const shouldRestoreGroupSelection = !!((preservedGroupSelection == null ? void 0 : preservedGroupSelection.groupSelectionId) && (!preservedGroupSelection.expiresAt || preservedGroupSelection.expiresAt > Date.now()));
|
|
@@ -12485,10 +12514,36 @@ const PageCanvas = react.forwardRef(
|
|
|
12485
12514
|
}
|
|
12486
12515
|
};
|
|
12487
12516
|
const isMultiSelectModifier = (event) => !!((event == null ? void 0 : event.shiftKey) || (event == null ? void 0 : event.metaKey) || (event == null ? void 0 : event.ctrlKey));
|
|
12517
|
+
const pickChildInActiveSelectionAtPointer = (selection, event) => {
|
|
12518
|
+
var _a2, _b2, _c, _d, _e;
|
|
12519
|
+
try {
|
|
12520
|
+
const pointer = fabricCanvas.getPointer(event);
|
|
12521
|
+
const viewportPointer = (_a2 = fabricCanvas.getViewportPoint) == null ? void 0 : _a2.call(fabricCanvas, event);
|
|
12522
|
+
const zoom3 = ((_b2 = fabricCanvas.getZoom) == null ? void 0 : _b2.call(fabricCanvas)) || 1;
|
|
12523
|
+
const tolerance = Math.max(3, 6 / zoom3);
|
|
12524
|
+
const members = selection.getObjects();
|
|
12525
|
+
for (let i = members.length - 1; i >= 0; i--) {
|
|
12526
|
+
const obj = members[i];
|
|
12527
|
+
const id = getObjectId(obj);
|
|
12528
|
+
if (!id || id === "__background__" || obj.visible === false) continue;
|
|
12529
|
+
(_c = obj.setCoords) == null ? void 0 : _c.call(obj);
|
|
12530
|
+
const containsScene = typeof obj.containsPoint === "function" && obj.containsPoint(pointer);
|
|
12531
|
+
const containsViewport = !!(viewportPointer && typeof obj.containsPoint === "function" && obj.containsPoint(viewportPointer));
|
|
12532
|
+
if (containsScene || containsViewport) return obj;
|
|
12533
|
+
const br = ((_d = obj.getBoundingRect) == null ? void 0 : _d.call(obj, true, true)) ?? ((_e = obj.getBoundingRect) == null ? void 0 : _e.call(obj));
|
|
12534
|
+
if (br && pointer.x >= br.left - tolerance && pointer.x <= br.left + br.width + tolerance && pointer.y >= br.top - tolerance && pointer.y <= br.top + br.height + tolerance) {
|
|
12535
|
+
return obj;
|
|
12536
|
+
}
|
|
12537
|
+
}
|
|
12538
|
+
} catch {
|
|
12539
|
+
return null;
|
|
12540
|
+
}
|
|
12541
|
+
return null;
|
|
12542
|
+
};
|
|
12488
12543
|
const pickSelectableObjectAtPointer = (event) => {
|
|
12489
12544
|
var _a2;
|
|
12490
12545
|
try {
|
|
12491
|
-
const pointer = fabricCanvas.
|
|
12546
|
+
const pointer = fabricCanvas.getPointer(event);
|
|
12492
12547
|
const objects = fabricCanvas.getObjects();
|
|
12493
12548
|
for (let i = objects.length - 1; i >= 0; i--) {
|
|
12494
12549
|
const obj = objects[i];
|
|
@@ -12735,6 +12790,32 @@ const PageCanvas = react.forwardRef(
|
|
|
12735
12790
|
}
|
|
12736
12791
|
return pick;
|
|
12737
12792
|
};
|
|
12793
|
+
const updateDrilledGroupOutline = () => {
|
|
12794
|
+
const gid = fabricCanvas.__activeEditingGroupId ?? null;
|
|
12795
|
+
drilledGroupIdRef.current = gid;
|
|
12796
|
+
if (!gid) {
|
|
12797
|
+
setDrilledGroupBounds(null);
|
|
12798
|
+
return;
|
|
12799
|
+
}
|
|
12800
|
+
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
12801
|
+
const node = pageNow ? findNodeById(pageNow.children ?? [], gid) : null;
|
|
12802
|
+
if (!node || !isGroup(node) || node.backgroundColor) {
|
|
12803
|
+
setDrilledGroupBounds(null);
|
|
12804
|
+
return;
|
|
12805
|
+
}
|
|
12806
|
+
const b = groupFabricUnionBBox(node);
|
|
12807
|
+
if (!b) {
|
|
12808
|
+
setDrilledGroupBounds(null);
|
|
12809
|
+
return;
|
|
12810
|
+
}
|
|
12811
|
+
setDrilledGroupBounds({
|
|
12812
|
+
left: b.left,
|
|
12813
|
+
top: b.top,
|
|
12814
|
+
width: b.right - b.left,
|
|
12815
|
+
height: b.bottom - b.top
|
|
12816
|
+
});
|
|
12817
|
+
};
|
|
12818
|
+
fabricCanvas.__updateDrilledGroupOutline = updateDrilledGroupOutline;
|
|
12738
12819
|
fabricCanvas.on("mouse:down:before", (opt) => {
|
|
12739
12820
|
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
12740
12821
|
if (editLockRef.current) {
|
|
@@ -12755,22 +12836,11 @@ const PageCanvas = react.forwardRef(
|
|
|
12755
12836
|
let target = opt.target;
|
|
12756
12837
|
let targetId = target ? getObjectId(target) : null;
|
|
12757
12838
|
if (target instanceof fabric__namespace.ActiveSelection && target.__pixldocsGroupSelection && target === fabricCanvas.getActiveObject()) {
|
|
12758
|
-
|
|
12759
|
-
|
|
12760
|
-
|
|
12761
|
-
|
|
12762
|
-
|
|
12763
|
-
if (m.visible === false) continue;
|
|
12764
|
-
if (typeof m.containsPoint === "function" && m.containsPoint(pointer)) {
|
|
12765
|
-
const mid = getObjectId(m);
|
|
12766
|
-
if (mid) {
|
|
12767
|
-
target = m;
|
|
12768
|
-
targetId = mid;
|
|
12769
|
-
}
|
|
12770
|
-
break;
|
|
12771
|
-
}
|
|
12772
|
-
}
|
|
12773
|
-
} catch {
|
|
12839
|
+
const child = pickChildInActiveSelectionAtPointer(target, opt.e);
|
|
12840
|
+
const childId = child ? getObjectId(child) : null;
|
|
12841
|
+
if (child && childId) {
|
|
12842
|
+
target = child;
|
|
12843
|
+
targetId = childId;
|
|
12774
12844
|
}
|
|
12775
12845
|
}
|
|
12776
12846
|
const activeEditingGroupId = fabricCanvas.__activeEditingGroupId ?? null;
|
|
@@ -12789,6 +12859,7 @@ const PageCanvas = react.forwardRef(
|
|
|
12789
12859
|
activeObjects: fabricCanvas.getActiveObjects().slice()
|
|
12790
12860
|
};
|
|
12791
12861
|
pendingGroupPromotionRef.current = null;
|
|
12862
|
+
pendingGroupDrillInRef.current = null;
|
|
12792
12863
|
return;
|
|
12793
12864
|
}
|
|
12794
12865
|
}
|
|
@@ -12811,28 +12882,21 @@ const PageCanvas = react.forwardRef(
|
|
|
12811
12882
|
const activeNowEarly = fabricCanvas.getActiveObject();
|
|
12812
12883
|
const asGroupId = target instanceof fabric__namespace.ActiveSelection ? target.__pixldocsGroupSelection : void 0;
|
|
12813
12884
|
if (target instanceof fabric__namespace.ActiveSelection && asGroupId && target === activeNowEarly) {
|
|
12814
|
-
|
|
12815
|
-
|
|
12816
|
-
|
|
12817
|
-
|
|
12818
|
-
|
|
12819
|
-
if (m.visible === false) continue;
|
|
12820
|
-
if (typeof m.containsPoint === "function" && m.containsPoint(pointer)) {
|
|
12821
|
-
const mid = getObjectId(m);
|
|
12822
|
-
if (mid) {
|
|
12823
|
-
effectiveTarget = m;
|
|
12824
|
-
effectiveTargetId = mid;
|
|
12825
|
-
}
|
|
12826
|
-
break;
|
|
12827
|
-
}
|
|
12828
|
-
}
|
|
12829
|
-
} catch {
|
|
12885
|
+
const child = pickChildInActiveSelectionAtPointer(target, opt.e);
|
|
12886
|
+
const childId = child ? getObjectId(child) : null;
|
|
12887
|
+
if (child && childId) {
|
|
12888
|
+
effectiveTarget = child;
|
|
12889
|
+
effectiveTargetId = childId;
|
|
12830
12890
|
}
|
|
12831
12891
|
}
|
|
12832
12892
|
const parent = findTopmostPromotableGroup(effectiveTargetId);
|
|
12833
12893
|
const targetIsInCrop = !!(effectiveTarget instanceof fabric__namespace.Group && isCropGroupInCropMode(effectiveTarget) || (effectiveTarget == null ? void 0 : effectiveTarget.group) instanceof fabric__namespace.Group && isCropGroupInCropMode(effectiveTarget.group));
|
|
12834
12894
|
const activeNow = fabricCanvas.getActiveObject();
|
|
12835
|
-
const
|
|
12895
|
+
const activeGroupSelectionId = activeNow instanceof fabric__namespace.ActiveSelection ? activeNow.__pixldocsGroupSelection : void 0;
|
|
12896
|
+
const activeGroupNode = activeGroupSelectionId ? findNodeById(childrenNow, activeGroupSelectionId) : null;
|
|
12897
|
+
const activeGroupContainsTarget = !!(activeGroupNode && isGroup(activeGroupNode) && getAllElementIds(activeGroupNode.children ?? []).includes(effectiveTargetId));
|
|
12898
|
+
const alreadyThisGroup = !!(activeGroupSelectionId && activeGroupContainsTarget);
|
|
12899
|
+
const drillGroup = alreadyThisGroup && activeGroupNode && isGroup(activeGroupNode) ? activeGroupNode : parent;
|
|
12836
12900
|
const isMultiSelectKey = !!(((_f = opt.e) == null ? void 0 : _f.shiftKey) || ((_g = opt.e) == null ? void 0 : _g.metaKey) || ((_h = opt.e) == null ? void 0 : _h.ctrlKey));
|
|
12837
12901
|
const isDeepSelectKey = !!((_i = opt.e) == null ? void 0 : _i.altKey);
|
|
12838
12902
|
if (isDeepSelectKey) {
|
|
@@ -12862,7 +12926,8 @@ const PageCanvas = react.forwardRef(
|
|
|
12862
12926
|
opt.target = only;
|
|
12863
12927
|
pendingGroupPromotionRef.current = { groupId: parent.id, selection: only };
|
|
12864
12928
|
}
|
|
12865
|
-
|
|
12929
|
+
pendingGroupDrillInRef.current = null;
|
|
12930
|
+
} else if (drillGroup && !drillGroup.backgroundColor && !targetIsInCrop && alreadyThisGroup && !isMultiSelectKey && effectiveTarget !== activeNow) {
|
|
12866
12931
|
try {
|
|
12867
12932
|
skipSelectionClearOnDiscardRef.current = true;
|
|
12868
12933
|
preserveEditingScopeOnSelectionClearRef.current = true;
|
|
@@ -12872,7 +12937,7 @@ const PageCanvas = react.forwardRef(
|
|
|
12872
12937
|
skipSelectionClearOnDiscardRef.current = false;
|
|
12873
12938
|
preserveEditingScopeOnSelectionClearRef.current = false;
|
|
12874
12939
|
}
|
|
12875
|
-
fabricCanvas.__activeEditingGroupId =
|
|
12940
|
+
fabricCanvas.__activeEditingGroupId = drillGroup.id;
|
|
12876
12941
|
delete effectiveTarget.__pixldocsGroupSelection;
|
|
12877
12942
|
delete effectiveTarget.__pixldocsLogicalGroupIds;
|
|
12878
12943
|
try {
|
|
@@ -12884,6 +12949,13 @@ const PageCanvas = react.forwardRef(
|
|
|
12884
12949
|
fabricCanvas._target = effectiveTarget;
|
|
12885
12950
|
opt.target = effectiveTarget;
|
|
12886
12951
|
pendingGroupPromotionRef.current = null;
|
|
12952
|
+
pendingGroupDrillInRef.current = { groupId: drillGroup.id, childId: effectiveTargetId, target: effectiveTarget };
|
|
12953
|
+
effectiveTarget.selected = false;
|
|
12954
|
+
effectiveTarget.__lastSelected = false;
|
|
12955
|
+
effectiveTarget.__corner = void 0;
|
|
12956
|
+
selectElements([effectiveTargetId], false, false);
|
|
12957
|
+
updateDrilledGroupOutline();
|
|
12958
|
+
fabricCanvas.requestRenderAll();
|
|
12887
12959
|
}
|
|
12888
12960
|
} else if (!target || targetId === "__background__") {
|
|
12889
12961
|
const isMultiSelectKey = !!(((_k = opt.e) == null ? void 0 : _k.shiftKey) || ((_l = opt.e) == null ? void 0 : _l.metaKey) || ((_m = opt.e) == null ? void 0 : _m.ctrlKey));
|
|
@@ -12910,6 +12982,7 @@ const PageCanvas = react.forwardRef(
|
|
|
12910
12982
|
fabricCanvas._target = selection;
|
|
12911
12983
|
opt.target = selection;
|
|
12912
12984
|
pendingGroupPromotionRef.current = { groupId: parent.id, selection };
|
|
12985
|
+
pendingGroupDrillInRef.current = null;
|
|
12913
12986
|
} else if (memberObjs.length === 1) {
|
|
12914
12987
|
const only = memberObjs[0];
|
|
12915
12988
|
only.__pixldocsGroupSelection = parent.id;
|
|
@@ -12917,6 +12990,7 @@ const PageCanvas = react.forwardRef(
|
|
|
12917
12990
|
fabricCanvas._target = only;
|
|
12918
12991
|
opt.target = only;
|
|
12919
12992
|
pendingGroupPromotionRef.current = { groupId: parent.id, selection: only };
|
|
12993
|
+
pendingGroupDrillInRef.current = null;
|
|
12920
12994
|
}
|
|
12921
12995
|
}
|
|
12922
12996
|
}
|
|
@@ -13026,7 +13100,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13026
13100
|
o.__lockScaleDuringCrop = false;
|
|
13027
13101
|
});
|
|
13028
13102
|
fabricCanvas.on("mouse:up", (e) => {
|
|
13029
|
-
var _a2;
|
|
13103
|
+
var _a2, _b2, _c;
|
|
13030
13104
|
clearTransforming();
|
|
13031
13105
|
setGuides([]);
|
|
13032
13106
|
setRotationLabel(null);
|
|
@@ -13034,6 +13108,33 @@ const PageCanvas = react.forwardRef(
|
|
|
13034
13108
|
objectResizeActiveSnapRef.current = null;
|
|
13035
13109
|
groupResizeActiveSnapRef.current = null;
|
|
13036
13110
|
dragStarted = false;
|
|
13111
|
+
const pendingDrillIn = pendingGroupDrillInRef.current;
|
|
13112
|
+
pendingGroupDrillInRef.current = null;
|
|
13113
|
+
if (pendingDrillIn && !didTransformRef.current) {
|
|
13114
|
+
const activeNow = fabricCanvas.getActiveObject();
|
|
13115
|
+
if (activeNow !== pendingDrillIn.target) {
|
|
13116
|
+
isSyncingSelectionToFabricRef.current = true;
|
|
13117
|
+
try {
|
|
13118
|
+
restoreSuppressedGroupBorders();
|
|
13119
|
+
fabricCanvas.__activeEditingGroupId = pendingDrillIn.groupId;
|
|
13120
|
+
delete pendingDrillIn.target.__pixldocsGroupSelection;
|
|
13121
|
+
delete pendingDrillIn.target.__pixldocsLogicalGroupIds;
|
|
13122
|
+
(_b2 = (_a2 = pendingDrillIn.target).set) == null ? void 0 : _b2.call(_a2, { selectable: true, evented: true, hasBorders: true, hasControls: true });
|
|
13123
|
+
fabricCanvas.setActiveObject(pendingDrillIn.target);
|
|
13124
|
+
pendingDrillIn.target.setCoords();
|
|
13125
|
+
pendingDrillIn.target.selected = false;
|
|
13126
|
+
pendingDrillIn.target.__lastSelected = false;
|
|
13127
|
+
pendingDrillIn.target.__corner = void 0;
|
|
13128
|
+
fabricCanvas.requestRenderAll();
|
|
13129
|
+
} finally {
|
|
13130
|
+
requestAnimationFrame(() => {
|
|
13131
|
+
isSyncingSelectionToFabricRef.current = false;
|
|
13132
|
+
});
|
|
13133
|
+
}
|
|
13134
|
+
selectElements([pendingDrillIn.childId], false, false);
|
|
13135
|
+
updateDrilledGroupOutline();
|
|
13136
|
+
}
|
|
13137
|
+
}
|
|
13037
13138
|
const pendingPromotion = pendingGroupPromotionRef.current;
|
|
13038
13139
|
pendingGroupPromotionRef.current = null;
|
|
13039
13140
|
if (pendingPromotion && !didTransformRef.current) {
|
|
@@ -13067,7 +13168,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13067
13168
|
}
|
|
13068
13169
|
}
|
|
13069
13170
|
const activeObj = fabricCanvas.getActiveObject();
|
|
13070
|
-
if (activeObj && (activeObj.__cropGroup || ((
|
|
13171
|
+
if (activeObj && (activeObj.__cropGroup || ((_c = activeObj._ct) == null ? void 0 : _c.isCropGroup))) {
|
|
13071
13172
|
activeObj.__lockScaleDuringCrop = false;
|
|
13072
13173
|
if (activeObj.__cropDrag) {
|
|
13073
13174
|
delete activeObj.__cropDrag;
|
|
@@ -17160,6 +17261,28 @@ const PageCanvas = react.forwardRef(
|
|
|
17160
17261
|
)
|
|
17161
17262
|
}
|
|
17162
17263
|
),
|
|
17264
|
+
drilledGroupBounds && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17265
|
+
"svg",
|
|
17266
|
+
{
|
|
17267
|
+
className: "absolute inset-0 pointer-events-none",
|
|
17268
|
+
style: { width: scaledWidth, height: scaledHeight },
|
|
17269
|
+
viewBox: `0 0 ${canvasWidth} ${canvasHeight}`,
|
|
17270
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17271
|
+
"rect",
|
|
17272
|
+
{
|
|
17273
|
+
x: drilledGroupBounds.left,
|
|
17274
|
+
y: drilledGroupBounds.top,
|
|
17275
|
+
width: drilledGroupBounds.width,
|
|
17276
|
+
height: drilledGroupBounds.height,
|
|
17277
|
+
fill: "none",
|
|
17278
|
+
stroke: "rgba(100, 116, 139, 0.7)",
|
|
17279
|
+
strokeWidth: 1,
|
|
17280
|
+
strokeDasharray: "4 4",
|
|
17281
|
+
vectorEffect: "non-scaling-stroke"
|
|
17282
|
+
}
|
|
17283
|
+
)
|
|
17284
|
+
}
|
|
17285
|
+
),
|
|
17163
17286
|
canvas.projectSettings.showGrid && (() => {
|
|
17164
17287
|
const ps = canvas.projectSettings;
|
|
17165
17288
|
const gx = Math.max(1, ps.gridSizeX ?? ps.gridSize ?? 0);
|
|
@@ -23271,9 +23394,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
23271
23394
|
}
|
|
23272
23395
|
return svgString;
|
|
23273
23396
|
}
|
|
23274
|
-
const resolvedPackageVersion = "0.5.
|
|
23397
|
+
const resolvedPackageVersion = "0.5.245";
|
|
23275
23398
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
23276
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
23399
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.245";
|
|
23277
23400
|
const roundParityValue = (value) => {
|
|
23278
23401
|
if (typeof value !== "number") return value;
|
|
23279
23402
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -24087,7 +24210,7 @@ class PixldocsRenderer {
|
|
|
24087
24210
|
await this.waitForCanvasScene(container, cloned, i);
|
|
24088
24211
|
}
|
|
24089
24212
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
24090
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
24213
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-00z0fojJ.cjs"));
|
|
24091
24214
|
const prepared = preparePagesForExport(
|
|
24092
24215
|
cloned.pages,
|
|
24093
24216
|
canvasWidth,
|
|
@@ -26407,7 +26530,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
26407
26530
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
26408
26531
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
26409
26532
|
try {
|
|
26410
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
26533
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-00z0fojJ.cjs"));
|
|
26411
26534
|
try {
|
|
26412
26535
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
26413
26536
|
} catch {
|
|
@@ -26804,4 +26927,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
26804
26927
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
26805
26928
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
26806
26929
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
26807
|
-
//# sourceMappingURL=index-
|
|
26930
|
+
//# sourceMappingURL=index-o3TKXqkj.cjs.map
|