@pixldocs/canvas-renderer 0.5.283 → 0.5.285
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-DZrJdP7E.js → index-3k0uE4wB.js} +101 -281
- package/dist/index-3k0uE4wB.js.map +1 -0
- package/dist/{index-A4ICnK--.cjs → index-CqoBp7NY.cjs} +101 -281
- package/dist/index-CqoBp7NY.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-DwiSa6HT.js → vectorPdfExport-B0C--0iz.js} +4 -4
- package/dist/{vectorPdfExport-DwiSa6HT.js.map → vectorPdfExport-B0C--0iz.js.map} +1 -1
- package/dist/{vectorPdfExport-48Xfutfv.cjs → vectorPdfExport-BLNaGpPE.cjs} +4 -4
- package/dist/{vectorPdfExport-48Xfutfv.cjs.map → vectorPdfExport-BLNaGpPE.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/index-A4ICnK--.cjs.map +0 -1
- package/dist/index-DZrJdP7E.js.map +0 -1
|
@@ -10494,10 +10494,6 @@ const SELECTION_PRIMARY = "hsl(217, 91%, 60%)";
|
|
|
10494
10494
|
const SELECTION_BORDER_SCALE = 2;
|
|
10495
10495
|
let ensureCanvaControlRenders = () => {
|
|
10496
10496
|
};
|
|
10497
|
-
const shouldLogGroupMove = () => {
|
|
10498
|
-
if (typeof window === "undefined") return false;
|
|
10499
|
-
return window.__pixldocsDebugGroupMove !== false;
|
|
10500
|
-
};
|
|
10501
10497
|
try {
|
|
10502
10498
|
const InteractiveBase = fabric__namespace.InteractiveFabricObject ?? fabric__namespace.Object;
|
|
10503
10499
|
if ((InteractiveBase == null ? void 0 : InteractiveBase.prototype) && !InteractiveBase.prototype.__pixldocsCenteredSelectionBorder) {
|
|
@@ -10947,31 +10943,20 @@ try {
|
|
|
10947
10943
|
} catch (e) {
|
|
10948
10944
|
}
|
|
10949
10945
|
};
|
|
10950
|
-
const
|
|
10951
|
-
|
|
10952
|
-
|
|
10953
|
-
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
target[key] = () => installPillRenders(original());
|
|
10957
|
-
} catch {
|
|
10958
|
-
}
|
|
10959
|
-
};
|
|
10960
|
-
tryPatchFactory(cu, "createObjectDefaultControls");
|
|
10961
|
-
tryPatchFactory(cu, "createTextboxDefaultControls");
|
|
10946
|
+
const origObj = cu.createObjectDefaultControls.bind(cu);
|
|
10947
|
+
cu.createObjectDefaultControls = () => installPillRenders(origObj());
|
|
10948
|
+
if (typeof cu.createTextboxDefaultControls === "function") {
|
|
10949
|
+
const origTb = cu.createTextboxDefaultControls.bind(cu);
|
|
10950
|
+
cu.createTextboxDefaultControls = () => installPillRenders(origTb());
|
|
10951
|
+
}
|
|
10962
10952
|
const wrapClassCreateControls = (Klass) => {
|
|
10963
|
-
|
|
10964
|
-
|
|
10965
|
-
|
|
10966
|
-
|
|
10967
|
-
|
|
10968
|
-
|
|
10969
|
-
|
|
10970
|
-
if (res && res.controls) installPillRenders(res.controls);
|
|
10971
|
-
return res;
|
|
10972
|
-
};
|
|
10973
|
-
} catch {
|
|
10974
|
-
}
|
|
10953
|
+
if (!Klass || typeof Klass.createControls !== "function") return;
|
|
10954
|
+
const orig = Klass.createControls.bind(Klass);
|
|
10955
|
+
Klass.createControls = () => {
|
|
10956
|
+
const res = orig();
|
|
10957
|
+
if (res && res.controls) installPillRenders(res.controls);
|
|
10958
|
+
return res;
|
|
10959
|
+
};
|
|
10975
10960
|
};
|
|
10976
10961
|
wrapClassCreateControls(fabric__namespace.InteractiveFabricObject);
|
|
10977
10962
|
wrapClassCreateControls(fabric__namespace.FabricObject);
|
|
@@ -10994,7 +10979,8 @@ try {
|
|
|
10994
10979
|
};
|
|
10995
10980
|
}
|
|
10996
10981
|
}
|
|
10997
|
-
} catch {
|
|
10982
|
+
} catch (e) {
|
|
10983
|
+
console.warn("[PageCanvas] Failed to install Canva-style control handles:", e);
|
|
10998
10984
|
}
|
|
10999
10985
|
const scaleTextPathConfig = (textPath, sx, sy, uniform) => {
|
|
11000
10986
|
if (!textPath || typeof textPath !== "object") return textPath;
|
|
@@ -11027,9 +11013,9 @@ const scaleUpdateNumber = (updates, source, key, factor) => {
|
|
|
11027
11013
|
const value = Number(source == null ? void 0 : source[key]);
|
|
11028
11014
|
if (Number.isFinite(value)) updates[key] = value * factor;
|
|
11029
11015
|
};
|
|
11030
|
-
const bakeTextboxScaleIntoTypography = (obj, sourceElement
|
|
11031
|
-
const sx = Math.abs(
|
|
11032
|
-
const sy = Math.abs(
|
|
11016
|
+
const bakeTextboxScaleIntoTypography = (obj, sourceElement) => {
|
|
11017
|
+
const sx = Math.abs(obj.scaleX ?? 1) || 1;
|
|
11018
|
+
const sy = Math.abs(obj.scaleY ?? 1) || 1;
|
|
11033
11019
|
if (Math.abs(sx - 1) < 1e-3 && Math.abs(sy - 1) < 1e-3) return null;
|
|
11034
11020
|
const isUniform = Math.abs(sx - sy) < 0.01;
|
|
11035
11021
|
const fontScale = isUniform ? (sx + sy) / 2 : Math.abs(sy - 1) > 1e-3 ? sy : 1;
|
|
@@ -11225,6 +11211,7 @@ const PageCanvas = react.forwardRef(
|
|
|
11225
11211
|
const skipActiveSelectionBakeOnClearRef = react.useRef(false);
|
|
11226
11212
|
const preserveEditingScopeOnSelectionClearRef = react.useRef(false);
|
|
11227
11213
|
const preserveActiveSelectionAfterTransformRef = react.useRef(null);
|
|
11214
|
+
const recentGroupSelectionRestoreRef = react.useRef(null);
|
|
11228
11215
|
const pendingGroupPromotionRef = react.useRef(null);
|
|
11229
11216
|
const pendingGroupDrillInRef = react.useRef(null);
|
|
11230
11217
|
const imageReloadRequestSeqRef = react.useRef(/* @__PURE__ */ new Map());
|
|
@@ -11245,7 +11232,6 @@ const PageCanvas = react.forwardRef(
|
|
|
11245
11232
|
react.useRef(null);
|
|
11246
11233
|
const lastTextEditDimensionsRef = react.useRef(null);
|
|
11247
11234
|
const lastResizeScaleTargetRef = react.useRef(null);
|
|
11248
|
-
const lastResizeScaleCornerRef = react.useRef(null);
|
|
11249
11235
|
const preserveSelectionAfterTransformIdRef = react.useRef(null);
|
|
11250
11236
|
const groupSelectionTransformStartRef = react.useRef(null);
|
|
11251
11237
|
const activeSelectionMoveStartRef = react.useRef(null);
|
|
@@ -11573,7 +11559,6 @@ const PageCanvas = react.forwardRef(
|
|
|
11573
11559
|
fc.__isUserTransforming = true;
|
|
11574
11560
|
didTransformRef.current = true;
|
|
11575
11561
|
lastResizeScaleTargetRef.current = target;
|
|
11576
|
-
lastResizeScaleCornerRef.current = corner;
|
|
11577
11562
|
const targetId = getObjectId(target);
|
|
11578
11563
|
if (targetId && targetId !== "__background__") {
|
|
11579
11564
|
preserveSelectionAfterTransformIdRef.current = targetId;
|
|
@@ -12057,9 +12042,6 @@ const PageCanvas = react.forwardRef(
|
|
|
12057
12042
|
selectionLeft: rect.left,
|
|
12058
12043
|
selectionTop: rect.top
|
|
12059
12044
|
};
|
|
12060
|
-
if (active.__pixldocsGroupSelection) {
|
|
12061
|
-
prepareGroupSelectionTransformStart(active);
|
|
12062
|
-
}
|
|
12063
12045
|
}
|
|
12064
12046
|
if (fabricCanvas._currentTransform) {
|
|
12065
12047
|
fabricCanvas.__isUserTransforming = true;
|
|
@@ -12500,8 +12482,11 @@ const PageCanvas = react.forwardRef(
|
|
|
12500
12482
|
if (shouldRestoreGroupSelection) restorePreservedGroupSelectionSoon(preservedGroupSelection);
|
|
12501
12483
|
return;
|
|
12502
12484
|
}
|
|
12503
|
-
|
|
12485
|
+
const recentGroupSelectionRestore = recentGroupSelectionRestoreRef.current;
|
|
12486
|
+
const shouldReassertRecentGroupSelection = !!((recentGroupSelectionRestore == null ? void 0 : recentGroupSelectionRestore.groupSelectionId) && recentGroupSelectionRestore.expiresAt > Date.now());
|
|
12487
|
+
if (editLockRef.current || syncLockedRef.current || didTransformRef.current || preserveSelectionAfterTransformIdRef.current || shouldRestoreGroupSelection || shouldReassertRecentGroupSelection) {
|
|
12504
12488
|
if (shouldRestoreGroupSelection) restorePreservedGroupSelectionSoon(preservedGroupSelection);
|
|
12489
|
+
else if (shouldReassertRecentGroupSelection) restorePreservedGroupSelectionSoon(recentGroupSelectionRestore);
|
|
12505
12490
|
return;
|
|
12506
12491
|
}
|
|
12507
12492
|
restoreSuppressedGroupBorders();
|
|
@@ -12736,9 +12721,7 @@ const PageCanvas = react.forwardRef(
|
|
|
12736
12721
|
const selection = new fabric__namespace.ActiveSelection(members, { canvas: fc });
|
|
12737
12722
|
restoreGroupSelectionVisualState(selection, groupId);
|
|
12738
12723
|
fc.setActiveObject(selection);
|
|
12739
|
-
|
|
12740
|
-
selection.setCoords();
|
|
12741
|
-
}
|
|
12724
|
+
selection.setCoords();
|
|
12742
12725
|
fc.requestRenderAll();
|
|
12743
12726
|
} finally {
|
|
12744
12727
|
requestAnimationFrame(() => {
|
|
@@ -12927,9 +12910,6 @@ const PageCanvas = react.forwardRef(
|
|
|
12927
12910
|
fabricCanvas.on("mouse:down:before", (opt) => {
|
|
12928
12911
|
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
12929
12912
|
const activeBeforeMouseDown = fabricCanvas.getActiveObject();
|
|
12930
|
-
if (activeBeforeMouseDown instanceof fabric__namespace.ActiveSelection && activeBeforeMouseDown.__pixldocsGroupSelection) {
|
|
12931
|
-
prepareGroupSelectionTransformStart(activeBeforeMouseDown);
|
|
12932
|
-
}
|
|
12933
12913
|
if (editLockRef.current) {
|
|
12934
12914
|
const active = fabricCanvas.getActiveObject();
|
|
12935
12915
|
if (active && (((_a2 = active._ct) == null ? void 0 : _a2.isCropGroup) || active.__cropGroup)) {
|
|
@@ -13044,14 +13024,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13044
13024
|
pendingGroupDrillInRef.current = null;
|
|
13045
13025
|
} else if (drillGroup && !drillGroup.backgroundColor && !targetIsInCrop && alreadyThisGroup && !isMultiSelectKey && effectiveTarget !== activeNow) {
|
|
13046
13026
|
pendingGroupPromotionRef.current = null;
|
|
13047
|
-
|
|
13048
|
-
pendingGroupDrillInRef.current = {
|
|
13049
|
-
groupId: drillGroup.id,
|
|
13050
|
-
childId: effectiveTargetId,
|
|
13051
|
-
target: effectiveTarget,
|
|
13052
|
-
startX: pointer.x,
|
|
13053
|
-
startY: pointer.y
|
|
13054
|
-
};
|
|
13027
|
+
pendingGroupDrillInRef.current = { groupId: drillGroup.id, childId: effectiveTargetId, target: effectiveTarget };
|
|
13055
13028
|
if (effectiveTarget instanceof fabric__namespace.Textbox) {
|
|
13056
13029
|
suppressTextEditForClick(effectiveTarget);
|
|
13057
13030
|
}
|
|
@@ -13198,7 +13171,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13198
13171
|
o.__lockScaleDuringCrop = false;
|
|
13199
13172
|
});
|
|
13200
13173
|
fabricCanvas.on("mouse:up", (e) => {
|
|
13201
|
-
var _a2, _b2, _c
|
|
13174
|
+
var _a2, _b2, _c;
|
|
13202
13175
|
clearTransforming();
|
|
13203
13176
|
setGuides([]);
|
|
13204
13177
|
setRotationLabel(null);
|
|
@@ -13208,21 +13181,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13208
13181
|
dragStarted = false;
|
|
13209
13182
|
const pendingDrillIn = pendingGroupDrillInRef.current;
|
|
13210
13183
|
pendingGroupDrillInRef.current = null;
|
|
13211
|
-
|
|
13212
|
-
if (pendingDrillIn && pendingDrillIn.startX !== void 0 && pendingDrillIn.startY !== void 0) {
|
|
13213
|
-
try {
|
|
13214
|
-
const pointer = fabricCanvas.getPointer(e == null ? void 0 : e.e);
|
|
13215
|
-
const zoom3 = ((_a2 = fabricCanvas.getZoom) == null ? void 0 : _a2.call(fabricCanvas)) || 1;
|
|
13216
|
-
const dragThreshold = Math.max(2, 4 / zoom3);
|
|
13217
|
-
movedPendingDrillPointer = Math.hypot(pointer.x - pendingDrillIn.startX, pointer.y - pendingDrillIn.startY) > dragThreshold;
|
|
13218
|
-
} catch {
|
|
13219
|
-
movedPendingDrillPointer = false;
|
|
13220
|
-
}
|
|
13221
|
-
}
|
|
13222
|
-
if (movedPendingDrillPointer) {
|
|
13223
|
-
didTransformRef.current = true;
|
|
13224
|
-
}
|
|
13225
|
-
if (pendingDrillIn && (didTransformRef.current || movedPendingDrillPointer)) {
|
|
13184
|
+
if (pendingDrillIn && didTransformRef.current) {
|
|
13226
13185
|
const activeNow = fabricCanvas.getActiveObject();
|
|
13227
13186
|
fabricCanvas.__activeEditingGroupId = null;
|
|
13228
13187
|
setDrilledGroupBounds(null);
|
|
@@ -13252,7 +13211,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13252
13211
|
fabricCanvas.__activeEditingGroupId = pendingDrillIn.groupId;
|
|
13253
13212
|
delete pendingDrillIn.target.__pixldocsGroupSelection;
|
|
13254
13213
|
delete pendingDrillIn.target.__pixldocsLogicalGroupIds;
|
|
13255
|
-
(
|
|
13214
|
+
(_b2 = (_a2 = pendingDrillIn.target).set) == null ? void 0 : _b2.call(_a2, { selectable: true, evented: true, hasBorders: true, hasControls: true });
|
|
13256
13215
|
fabricCanvas.setActiveObject(pendingDrillIn.target);
|
|
13257
13216
|
pendingDrillIn.target.setCoords();
|
|
13258
13217
|
if (pendingDrillIn.target instanceof fabric__namespace.Textbox) {
|
|
@@ -13305,7 +13264,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13305
13264
|
}
|
|
13306
13265
|
}
|
|
13307
13266
|
const activeObj = fabricCanvas.getActiveObject();
|
|
13308
|
-
if (activeObj && (activeObj.__cropGroup || ((
|
|
13267
|
+
if (activeObj && (activeObj.__cropGroup || ((_c = activeObj._ct) == null ? void 0 : _c.isCropGroup))) {
|
|
13309
13268
|
activeObj.__lockScaleDuringCrop = false;
|
|
13310
13269
|
if (activeObj.__cropDrag) {
|
|
13311
13270
|
delete activeObj.__cropDrag;
|
|
@@ -13323,9 +13282,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13323
13282
|
syncLockedRef.current = false;
|
|
13324
13283
|
}, 50);
|
|
13325
13284
|
}
|
|
13326
|
-
|
|
13327
|
-
didTransformRef.current = false;
|
|
13328
|
-
});
|
|
13285
|
+
didTransformRef.current = false;
|
|
13329
13286
|
setTimeout(() => {
|
|
13330
13287
|
if (!fabricCanvas._currentTransform) {
|
|
13331
13288
|
editLockRef.current = false;
|
|
@@ -13403,11 +13360,10 @@ const PageCanvas = react.forwardRef(
|
|
|
13403
13360
|
fabricCanvas.on("selection:cleared", () => {
|
|
13404
13361
|
});
|
|
13405
13362
|
fabricCanvas.on("object:scaling", (e) => {
|
|
13406
|
-
var _a2
|
|
13363
|
+
var _a2;
|
|
13407
13364
|
if (!isActiveRef.current) return;
|
|
13408
13365
|
const t = e.target;
|
|
13409
13366
|
if (t) lastResizeScaleTargetRef.current = t;
|
|
13410
|
-
lastResizeScaleCornerRef.current = ((_a2 = e.transform) == null ? void 0 : _a2.corner) ?? null;
|
|
13411
13367
|
prepareGroupSelectionTransformStart(t);
|
|
13412
13368
|
markTransforming(t);
|
|
13413
13369
|
didTransformRef.current = true;
|
|
@@ -13725,17 +13681,16 @@ const PageCanvas = react.forwardRef(
|
|
|
13725
13681
|
setGuides(gridGuidesForScale.length ? [...scaleGuides, ...gridGuidesForScale] : scaleGuides);
|
|
13726
13682
|
if (drilledGroupIdRef.current) {
|
|
13727
13683
|
try {
|
|
13728
|
-
(
|
|
13684
|
+
(_a2 = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _a2.call(fabricCanvas);
|
|
13729
13685
|
} catch {
|
|
13730
13686
|
}
|
|
13731
13687
|
}
|
|
13732
13688
|
});
|
|
13733
13689
|
fabricCanvas.on("object:resizing", (e) => {
|
|
13734
|
-
var _a2
|
|
13690
|
+
var _a2;
|
|
13735
13691
|
if (!isActiveRef.current) return;
|
|
13736
13692
|
const t = e.target;
|
|
13737
13693
|
if (t) lastResizeScaleTargetRef.current = t;
|
|
13738
|
-
lastResizeScaleCornerRef.current = ((_a2 = e.transform) == null ? void 0 : _a2.corner) ?? null;
|
|
13739
13694
|
markTransforming(t);
|
|
13740
13695
|
didTransformRef.current = true;
|
|
13741
13696
|
const transformTargetId = t ? getObjectId(t) : null;
|
|
@@ -13811,7 +13766,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13811
13766
|
setGuides(gridGuidesForTextResize.length ? [...scaleGuides, ...gridGuidesForTextResize] : scaleGuides);
|
|
13812
13767
|
if (drilledGroupIdRef.current) {
|
|
13813
13768
|
try {
|
|
13814
|
-
(
|
|
13769
|
+
(_a2 = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _a2.call(fabricCanvas);
|
|
13815
13770
|
} catch {
|
|
13816
13771
|
}
|
|
13817
13772
|
}
|
|
@@ -13855,26 +13810,19 @@ const PageCanvas = react.forwardRef(
|
|
|
13855
13810
|
const activeDuringMove = fabricCanvas.getActiveObject();
|
|
13856
13811
|
const movingLogicalGroupId = activeDuringMove instanceof fabric__namespace.ActiveSelection ? activeDuringMove.__pixldocsGroupSelection : void 0;
|
|
13857
13812
|
const pendingMoveDrill = pendingGroupDrillInRef.current;
|
|
13858
|
-
const groupIdToKeep = movingLogicalGroupId ?? (pendingMoveDrill == null ? void 0 : pendingMoveDrill.groupId);
|
|
13859
13813
|
if (movingLogicalGroupId || pendingMoveDrill) {
|
|
13814
|
+
const groupIdToKeep = movingLogicalGroupId ?? (pendingMoveDrill == null ? void 0 : pendingMoveDrill.groupId);
|
|
13860
13815
|
pendingGroupDrillInRef.current = null;
|
|
13861
13816
|
fabricCanvas.__activeEditingGroupId = null;
|
|
13862
13817
|
setDrilledGroupBounds(null);
|
|
13863
13818
|
drilledGroupIdRef.current = null;
|
|
13864
13819
|
if (activeDuringMove instanceof fabric__namespace.ActiveSelection && groupIdToKeep) {
|
|
13865
13820
|
restoreGroupSelectionVisualState(activeDuringMove, groupIdToKeep);
|
|
13866
|
-
const memberIds = activeDuringMove.getObjects().map((obj2) => getObjectId(obj2)).filter((id) => !!id && id !== "__background__");
|
|
13867
|
-
if (memberIds.length > 1) {
|
|
13868
|
-
preserveActiveSelectionAfterTransformRef.current = { memberIds, groupSelectionId: groupIdToKeep, expiresAt: Date.now() + 1200 };
|
|
13869
|
-
}
|
|
13870
|
-
preserveSelectionAfterTransformIdRef.current = groupIdToKeep;
|
|
13871
13821
|
}
|
|
13872
13822
|
}
|
|
13873
13823
|
if (e.target) e.target.__pixldocsDragMoved = true;
|
|
13874
13824
|
const moveTargetId = e.target ? getObjectId(e.target) : null;
|
|
13875
|
-
if (
|
|
13876
|
-
preserveSelectionAfterTransformIdRef.current = groupIdToKeep;
|
|
13877
|
-
} else if (moveTargetId && moveTargetId !== "__background__") {
|
|
13825
|
+
if (moveTargetId && moveTargetId !== "__background__") {
|
|
13878
13826
|
preserveSelectionAfterTransformIdRef.current = moveTargetId;
|
|
13879
13827
|
}
|
|
13880
13828
|
if (!dragStarted) {
|
|
@@ -13921,34 +13869,10 @@ const PageCanvas = react.forwardRef(
|
|
|
13921
13869
|
}
|
|
13922
13870
|
});
|
|
13923
13871
|
let cropGroupSaveTimer = null;
|
|
13924
|
-
let objectModifiedInFlight = false;
|
|
13925
13872
|
fabricCanvas.on("object:modified", (e) => {
|
|
13926
|
-
var _a2, _b2, _c, _d, _e, _f, _g
|
|
13927
|
-
if (objectModifiedInFlight) {
|
|
13928
|
-
if (shouldLogGroupMove()) {
|
|
13929
|
-
console.log("[GRP-MOVE] object:modified re-entry skipped", {
|
|
13930
|
-
targetType: (_b2 = (_a2 = e.target) == null ? void 0 : _a2.constructor) == null ? void 0 : _b2.name
|
|
13931
|
-
});
|
|
13932
|
-
}
|
|
13933
|
-
return;
|
|
13934
|
-
}
|
|
13935
|
-
objectModifiedInFlight = true;
|
|
13873
|
+
var _a2, _b2, _c, _d, _e, _f, _g;
|
|
13936
13874
|
try {
|
|
13937
13875
|
dragStarted = false;
|
|
13938
|
-
if (shouldLogGroupMove()) {
|
|
13939
|
-
const t = e.target;
|
|
13940
|
-
console.log("[GRP-MOVE] object:modified fired", {
|
|
13941
|
-
targetType: (_c = t == null ? void 0 : t.constructor) == null ? void 0 : _c.name,
|
|
13942
|
-
isActiveSelection: t instanceof fabric__namespace.ActiveSelection,
|
|
13943
|
-
groupSelectionId: t ? t.__pixldocsGroupSelection : null,
|
|
13944
|
-
memberIds: t instanceof fabric__namespace.ActiveSelection ? t.getObjects().map((o) => getObjectId(o)) : [getObjectId(t)],
|
|
13945
|
-
targetLeft: t == null ? void 0 : t.left,
|
|
13946
|
-
targetTop: t == null ? void 0 : t.top,
|
|
13947
|
-
scaleX: t == null ? void 0 : t.scaleX,
|
|
13948
|
-
scaleY: t == null ? void 0 : t.scaleY,
|
|
13949
|
-
angle: t == null ? void 0 : t.angle
|
|
13950
|
-
});
|
|
13951
|
-
}
|
|
13952
13876
|
setGuides([]);
|
|
13953
13877
|
setGroupOverlayLiveBoundsRef.current(null);
|
|
13954
13878
|
objectResizeActiveSnapRef.current = null;
|
|
@@ -13990,7 +13914,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13990
13914
|
const active = fabricCanvas.getActiveObject();
|
|
13991
13915
|
const activeId = active ? getObjectId(active) : null;
|
|
13992
13916
|
if (active && activeId && activeId !== "__background__" && !(active instanceof fabric__namespace.Group)) {
|
|
13993
|
-
const pageChildrenForParent = ((
|
|
13917
|
+
const pageChildrenForParent = ((_a2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _a2.children) ?? [];
|
|
13994
13918
|
const parentGroup = findParentGroup(pageChildrenForParent, activeId);
|
|
13995
13919
|
if (parentGroup && isGroup(parentGroup) && parentGroup.backgroundColor) {
|
|
13996
13920
|
let fabricSectionGroup = active.group && active.group instanceof fabric__namespace.Group ? active.group : null;
|
|
@@ -14072,7 +13996,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14072
13996
|
useEditorStore.getState().reflowStackGroupInPage(pageId, groupId);
|
|
14073
13997
|
}
|
|
14074
13998
|
const stateAfter = useEditorStore.getState();
|
|
14075
|
-
const pageAfter = ((
|
|
13999
|
+
const pageAfter = ((_b2 = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _b2.children) ?? [];
|
|
14076
14000
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
14077
14001
|
if (groupNodeAfter) {
|
|
14078
14002
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -14134,7 +14058,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14134
14058
|
}
|
|
14135
14059
|
if (active && active instanceof fabric__namespace.Group && active.__docuforgeSectionGroup && getObjectId(active)) {
|
|
14136
14060
|
const groupId = getObjectId(active);
|
|
14137
|
-
const pageChildrenSec = ((
|
|
14061
|
+
const pageChildrenSec = ((_c = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _c.children) ?? [];
|
|
14138
14062
|
const modifiedTarget2 = e == null ? void 0 : e.target;
|
|
14139
14063
|
const resizeScaleTarget = lastResizeScaleTargetRef.current;
|
|
14140
14064
|
lastResizeScaleTargetRef.current = null;
|
|
@@ -14165,7 +14089,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14165
14089
|
const node = findNodeById(pageChildrenSec, groupId);
|
|
14166
14090
|
if (isChildModified && node && !groupMoved) {
|
|
14167
14091
|
const stateAfter = useEditorStore.getState();
|
|
14168
|
-
const pageAfter = ((
|
|
14092
|
+
const pageAfter = ((_d = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _d.children) ?? [];
|
|
14169
14093
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
14170
14094
|
if (groupNodeAfter) {
|
|
14171
14095
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -14181,7 +14105,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14181
14105
|
}
|
|
14182
14106
|
if (active && active instanceof fabric__namespace.Group && !(active instanceof fabric__namespace.ActiveSelection) && getObjectId(active)) {
|
|
14183
14107
|
const groupId = getObjectId(active);
|
|
14184
|
-
const pageChildren3 = ((
|
|
14108
|
+
const pageChildren3 = ((_e = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _e.children) ?? [];
|
|
14185
14109
|
const w = (active.width ?? 0) * (active.scaleX ?? 1);
|
|
14186
14110
|
const h = (active.height ?? 0) * (active.scaleY ?? 1);
|
|
14187
14111
|
const centerX = active.left ?? 0;
|
|
@@ -14203,7 +14127,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14203
14127
|
}
|
|
14204
14128
|
const activeObj = fabricCanvas.getActiveObject();
|
|
14205
14129
|
let activeObjects = fabricCanvas.getActiveObjects();
|
|
14206
|
-
const activeSelectionMoveStart = activeObj instanceof fabric__namespace.ActiveSelection && ((
|
|
14130
|
+
const activeSelectionMoveStart = activeObj instanceof fabric__namespace.ActiveSelection && ((_f = activeSelectionMoveStartRef.current) == null ? void 0 : _f.selection) === activeObj ? activeSelectionMoveStartRef.current : null;
|
|
14207
14131
|
const activeSelectionDelta = activeObj instanceof fabric__namespace.ActiveSelection && activeSelectionMoveStart ? (() => {
|
|
14208
14132
|
const rect = activeObj.getBoundingRect();
|
|
14209
14133
|
return {
|
|
@@ -14294,22 +14218,6 @@ const PageCanvas = react.forwardRef(
|
|
|
14294
14218
|
return memberIds.every((mid) => selectedSet.has(mid));
|
|
14295
14219
|
})();
|
|
14296
14220
|
const groupToMove = candidateIsStack || allMembersSelected ? candidateGroup : null;
|
|
14297
|
-
if (shouldLogGroupMove()) {
|
|
14298
|
-
console.log("[GRP-MOVE] entry", {
|
|
14299
|
-
selectedElementIds,
|
|
14300
|
-
isActiveSelection,
|
|
14301
|
-
activeSelectionGroupId: activeObj instanceof fabric__namespace.ActiveSelection ? activeObj.__pixldocsGroupSelection : null,
|
|
14302
|
-
parentGroupIds: parentGroups.map((g) => g.id),
|
|
14303
|
-
sameDirectParent,
|
|
14304
|
-
commonAncestorId: commonAncestor == null ? void 0 : commonAncestor.id,
|
|
14305
|
-
candidateGroupId: candidateGroup == null ? void 0 : candidateGroup.id,
|
|
14306
|
-
candidateIsStack,
|
|
14307
|
-
allMembersSelected,
|
|
14308
|
-
groupToMoveId: (groupToMove == null ? void 0 : groupToMove.id) ?? null,
|
|
14309
|
-
activeSelectionHadTransform,
|
|
14310
|
-
selectedLogicalGroupIds
|
|
14311
|
-
});
|
|
14312
|
-
}
|
|
14313
14221
|
if (groupToMove) {
|
|
14314
14222
|
const activeGroupSelectionId = activeObj instanceof fabric__namespace.ActiveSelection ? activeObj.__pixldocsGroupSelection : void 0;
|
|
14315
14223
|
const transformStart = activeGroupSelectionId === groupToMove.id ? groupSelectionTransformStartRef.current : null;
|
|
@@ -14367,18 +14275,6 @@ const PageCanvas = react.forwardRef(
|
|
|
14367
14275
|
const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
|
|
14368
14276
|
const newLeft = (groupToMove.left ?? 0) + deltaX;
|
|
14369
14277
|
const newTop = (groupToMove.top ?? 0) + deltaY;
|
|
14370
|
-
const __dbg = shouldLogGroupMove();
|
|
14371
|
-
if (__dbg) {
|
|
14372
|
-
console.log("[GRP-MOVE] commit", {
|
|
14373
|
-
groupId: groupToMove.id,
|
|
14374
|
-
groupAbs,
|
|
14375
|
-
movedGroup: { left: movedGroupLeft, top: movedGroupTop },
|
|
14376
|
-
delta: { x: deltaX, y: deltaY },
|
|
14377
|
-
newStored: { left: newLeft, top: newTop },
|
|
14378
|
-
activeSelectionAngle: isActiveSelection && activeObj ? activeObj.angle : null,
|
|
14379
|
-
hasGroupSelectionId: !!(isActiveSelection && activeObj instanceof fabric__namespace.ActiveSelection && activeObj.__pixldocsGroupSelection)
|
|
14380
|
-
});
|
|
14381
|
-
}
|
|
14382
14278
|
updateNodeStore(groupToMove.id, { left: newLeft, top: newTop }, { recordHistory: false, skipLayoutRecalc: true });
|
|
14383
14279
|
commitHistoryStore();
|
|
14384
14280
|
pendingGroupDrillInRef.current = null;
|
|
@@ -14404,11 +14300,13 @@ const PageCanvas = react.forwardRef(
|
|
|
14404
14300
|
}
|
|
14405
14301
|
setTimeout(() => modifiedIdsThisRound.forEach((id) => justModifiedIdsRef.current.delete(id)), 150);
|
|
14406
14302
|
groupSelectionTransformStartRef.current = null;
|
|
14407
|
-
|
|
14408
|
-
restorePreservedGroupSelectionSoon({
|
|
14303
|
+
const restoreSnapshot = {
|
|
14409
14304
|
memberIds: targetObjects.map((obj) => getObjectId(obj)).filter((id) => !!id && id !== "__background__"),
|
|
14410
|
-
groupSelectionId
|
|
14411
|
-
|
|
14305
|
+
groupSelectionId,
|
|
14306
|
+
expiresAt: Date.now() + 1200
|
|
14307
|
+
};
|
|
14308
|
+
recentGroupSelectionRestoreRef.current = restoreSnapshot;
|
|
14309
|
+
restorePreservedGroupSelectionSoon(restoreSnapshot);
|
|
14412
14310
|
unlockEditsSoon();
|
|
14413
14311
|
return;
|
|
14414
14312
|
}
|
|
@@ -14576,8 +14474,6 @@ const PageCanvas = react.forwardRef(
|
|
|
14576
14474
|
} else if (obj instanceof fabric__namespace.Textbox && isActiveSelection && (Math.abs((decomposed.scaleX ?? 1) - 1) > 1e-3 || Math.abs((decomposed.scaleY ?? 1) - 1) > 1e-3)) {
|
|
14577
14475
|
const sx = Math.abs(decomposed.scaleX || 1);
|
|
14578
14476
|
const sy = Math.abs(decomposed.scaleY || 1);
|
|
14579
|
-
const lastCorner = lastResizeScaleCornerRef.current ?? "";
|
|
14580
|
-
const isCornerGroupScale = lastCorner === "tl" || lastCorner === "tr" || lastCorner === "bl" || lastCorner === "br";
|
|
14581
14477
|
const bakedWidth = Math.max(20, intrinsicWidth * sx);
|
|
14582
14478
|
const bakedHeight = Math.max(1, intrinsicHeight * sy);
|
|
14583
14479
|
finalWidth = bakedWidth;
|
|
@@ -14585,13 +14481,8 @@ const PageCanvas = react.forwardRef(
|
|
|
14585
14481
|
finalScaleX = 1;
|
|
14586
14482
|
finalScaleY = 1;
|
|
14587
14483
|
try {
|
|
14588
|
-
|
|
14589
|
-
|
|
14590
|
-
} else {
|
|
14591
|
-
obj.set({ width: bakedWidth, scaleX: 1, scaleY: 1 });
|
|
14592
|
-
obj.minBoxHeight = bakedHeight;
|
|
14593
|
-
obj.initDimensions();
|
|
14594
|
-
}
|
|
14484
|
+
obj.set({ width: bakedWidth, scaleX: 1, scaleY: 1 });
|
|
14485
|
+
obj.initDimensions();
|
|
14595
14486
|
obj.setCoords();
|
|
14596
14487
|
} catch {
|
|
14597
14488
|
}
|
|
@@ -14670,7 +14561,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14670
14561
|
updateElement(objId, elementUpdate, { recordHistory: false, skipLayoutRecalc: true });
|
|
14671
14562
|
obj.setCoords();
|
|
14672
14563
|
}
|
|
14673
|
-
const pageChildrenForReflow = ((
|
|
14564
|
+
const pageChildrenForReflow = ((_g = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _g.children) ?? [];
|
|
14674
14565
|
const stackGroupsToReflow = /* @__PURE__ */ new Set();
|
|
14675
14566
|
for (const id of modifiedIdsThisRound) {
|
|
14676
14567
|
const parent = findParentGroup(pageChildrenForReflow, id);
|
|
@@ -14732,15 +14623,11 @@ const PageCanvas = react.forwardRef(
|
|
|
14732
14623
|
}
|
|
14733
14624
|
groupSelectionTransformStartRef.current = null;
|
|
14734
14625
|
activeSelectionMoveStartRef.current = null;
|
|
14735
|
-
lastResizeScaleCornerRef.current = null;
|
|
14736
14626
|
setTimeout(() => modifiedIdsThisRound.forEach((id) => justModifiedIdsRef.current.delete(id)), 150);
|
|
14737
14627
|
commitHistory();
|
|
14738
14628
|
unlockEditsSoon();
|
|
14739
14629
|
} catch (e2) {
|
|
14740
|
-
lastResizeScaleCornerRef.current = null;
|
|
14741
14630
|
unlockEditsSoon();
|
|
14742
|
-
} finally {
|
|
14743
|
-
objectModifiedInFlight = false;
|
|
14744
14631
|
}
|
|
14745
14632
|
});
|
|
14746
14633
|
fabricCanvas.on("before:selection:cleared", (e) => {
|
|
@@ -14998,14 +14885,13 @@ const PageCanvas = react.forwardRef(
|
|
|
14998
14885
|
visibilityUpdateInProgressRef.current = false;
|
|
14999
14886
|
}
|
|
15000
14887
|
doSyncRef.current = () => {
|
|
15001
|
-
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i;
|
|
14888
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
15002
14889
|
const shouldSkipUpdates2 = syncLockedRef.current || editLockRef.current;
|
|
15003
14890
|
const state = useEditorStore.getState();
|
|
15004
|
-
const
|
|
15005
|
-
const pageTree = isPreviewMode && (pageChildren == null ? void 0 : pageChildren.length) ? pageChildren ?? [] : (storePage == null ? void 0 : storePage.children) ?? [];
|
|
15006
|
-
const elementsToSync = isPreviewMode ? elements : pageTree.length ? flattenChildren(pageTree) : elements;
|
|
14891
|
+
const elementsToSync = elements;
|
|
15007
14892
|
elementsRef.current = elementsToSync;
|
|
15008
|
-
const
|
|
14893
|
+
const pageTree = isPreviewMode && (pageChildren == null ? void 0 : pageChildren.length) ? pageChildren ?? [] : ((_a2 = state.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _a2.children) ?? [];
|
|
14894
|
+
const selectedIdsFromStore = new Set(((_b2 = state.canvas) == null ? void 0 : _b2.selectedIds) ?? []);
|
|
15009
14895
|
isRebuildingRef.current = true;
|
|
15010
14896
|
const allElementIds = new Set(elementsToSync.map((el) => el.id));
|
|
15011
14897
|
const sectionGroups = pageTree.filter(
|
|
@@ -15033,7 +14919,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15033
14919
|
const activeObjId = activeObj ? getObjectId(activeObj) : null;
|
|
15034
14920
|
const isTextBeingEdited = activeObjId && editingTextIdRef.current === activeObjId;
|
|
15035
14921
|
const isMultiSelect = activeObj instanceof fabric__namespace.ActiveSelection;
|
|
15036
|
-
if (activeObj && isMultiSelect && !(((
|
|
14922
|
+
if (activeObj && isMultiSelect && !(((_c = activeObj._ct) == null ? void 0 : _c.isCropGroup) || activeObj.__cropGroup) && !isTextBeingEdited) {
|
|
15037
14923
|
fc.discardActiveObject();
|
|
15038
14924
|
}
|
|
15039
14925
|
}
|
|
@@ -15070,7 +14956,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15070
14956
|
fc.requestRenderAll();
|
|
15071
14957
|
}
|
|
15072
14958
|
} else if (!skipRestoreSelection && restoreTarget && !isActiveTextBeingEdited) {
|
|
15073
|
-
const isCropGroup2 = ((
|
|
14959
|
+
const isCropGroup2 = ((_d = restoreTarget._ct) == null ? void 0 : _d.isCropGroup) || restoreTarget.__cropGroup;
|
|
15074
14960
|
const isSectionGroup = activeId && sectionGroupIds.has(activeId);
|
|
15075
14961
|
if ((isCropGroup2 || !shouldSkipUpdates2) && !isSectionGroup) {
|
|
15076
14962
|
fc.setActiveObject(restoreTarget);
|
|
@@ -15175,42 +15061,9 @@ const PageCanvas = react.forwardRef(
|
|
|
15175
15061
|
};
|
|
15176
15062
|
fc.add(sectionGroup);
|
|
15177
15063
|
}
|
|
15178
|
-
const getActiveSelectionContainingObject = (obj) => {
|
|
15179
|
-
const active = fc.getActiveObject();
|
|
15180
|
-
return active instanceof fabric__namespace.ActiveSelection && active.getObjects().includes(obj) ? active : null;
|
|
15181
|
-
};
|
|
15182
|
-
const shouldPreserveActiveSelectionMemberPosition = (obj) => {
|
|
15183
|
-
if (syncTriggeredByPanelRef.current) return false;
|
|
15184
|
-
const activeSelection = getActiveSelectionContainingObject(obj);
|
|
15185
|
-
if (!activeSelection) return false;
|
|
15186
|
-
const logicalActiveSelection = activeSelection;
|
|
15187
|
-
const logicalGroupId = logicalActiveSelection.__pixldocsGroupSelection;
|
|
15188
|
-
const logicalGroupIds = logicalActiveSelection.__pixldocsLogicalGroupIds;
|
|
15189
|
-
if (logicalGroupId || Array.isArray(logicalGroupIds)) return true;
|
|
15190
|
-
const id = getObjectId(obj);
|
|
15191
|
-
const preserved = preserveActiveSelectionAfterTransformRef.current;
|
|
15192
|
-
return !!(id && (preserved == null ? void 0 : preserved.memberIds.includes(id)) && (!preserved.expiresAt || preserved.expiresAt > Date.now()));
|
|
15193
|
-
};
|
|
15194
|
-
const getObjectSyncComparePosition = (obj) => {
|
|
15195
|
-
const activeSelection = getActiveSelectionContainingObject(obj);
|
|
15196
|
-
if (!activeSelection) return { left: obj.left ?? 0, top: obj.top ?? 0 };
|
|
15197
|
-
const point = fabric__namespace.util.transformPoint({ x: obj.left ?? 0, y: obj.top ?? 0 }, activeSelection.calcTransformMatrix());
|
|
15198
|
-
let left = point.x;
|
|
15199
|
-
let top = point.y;
|
|
15200
|
-
const cropObj = obj;
|
|
15201
|
-
if (obj instanceof fabric__namespace.Group && cropObj.__cropGroup) {
|
|
15202
|
-
const ct = cropObj.__cropData;
|
|
15203
|
-
left -= ((ct == null ? void 0 : ct.frameW) ?? obj.width ?? 0) * Math.abs(obj.scaleX ?? 1) / 2;
|
|
15204
|
-
top -= ((ct == null ? void 0 : ct.frameH) ?? obj.height ?? 0) * Math.abs(obj.scaleY ?? 1) / 2;
|
|
15205
|
-
} else if (obj instanceof fabric__namespace.FabricImage && (obj.originX === "center" || obj.originY === "center")) {
|
|
15206
|
-
left -= (obj.width ?? 0) * Math.abs(obj.scaleX ?? 1) / 2;
|
|
15207
|
-
top -= (obj.height ?? 0) * Math.abs(obj.scaleY ?? 1) / 2;
|
|
15208
|
-
}
|
|
15209
|
-
return { left, top };
|
|
15210
|
-
};
|
|
15211
15064
|
for (const element of elementsToSync) {
|
|
15212
15065
|
if (sectionDescendantIds.has(element.id)) continue;
|
|
15213
|
-
|
|
15066
|
+
let existingObj = currentFabricObjects.get(element.id);
|
|
15214
15067
|
const isHidden = !element.visible;
|
|
15215
15068
|
if (existingObj) {
|
|
15216
15069
|
const isBeingTransformed = transformingIdsRef.current.has(element.id);
|
|
@@ -15231,7 +15084,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15231
15084
|
const sourceUrlChanged = currentUrlNormalized !== storedUrlNormalized;
|
|
15232
15085
|
const newFadeKey = edgeFadeKey(element);
|
|
15233
15086
|
const oldFadeKey = isCropGroup2 ? existingObj.__edgeFadeInputKey || "" : existingObj.__edgeFadeKey || "";
|
|
15234
|
-
const innerImg = (
|
|
15087
|
+
const innerImg = (_e = existingObj == null ? void 0 : existingObj.__cropData) == null ? void 0 : _e._img;
|
|
15235
15088
|
const innerOldKey = isCropGroup2 ? oldFadeKey : innerImg ? innerImg.__edgeFadeKey || "" : oldFadeKey;
|
|
15236
15089
|
const cropFadeRendererMissing = isCropGroup2 && Boolean(newFadeKey) && !existingObj.__edgeFadeRenderConfig;
|
|
15237
15090
|
const fadeKeyChanged = newFadeKey !== oldFadeKey || newFadeKey !== innerOldKey || cropFadeRendererMissing;
|
|
@@ -15239,14 +15092,14 @@ const PageCanvas = react.forwardRef(
|
|
|
15239
15092
|
const needsCropGroupFadeUpdate = isCropGroup2 && fadeKeyChanged;
|
|
15240
15093
|
const hadUrlBefore = storedImageUrl && String(storedImageUrl).trim() !== "";
|
|
15241
15094
|
if (!hasUrl && hadUrlBefore) {
|
|
15242
|
-
const resolvedSizeImg =
|
|
15095
|
+
const resolvedSizeImg = (pageChildren == null ? void 0 : pageChildren.length) ? getNodeBounds(element, pageChildren) : { width: typeof element.width === "number" ? element.width : 200, height: typeof element.height === "number" ? element.height : 50 };
|
|
15243
15096
|
const hasExplicitSize = typeof element.width === "number" && Number.isFinite(element.width) && element.width > 0 && typeof element.height === "number" && Number.isFinite(element.height) && element.height > 0;
|
|
15244
15097
|
const minVisiblePlaceholder = hasExplicitSize ? 1 : 20;
|
|
15245
15098
|
const nextWidth = Math.max(minVisiblePlaceholder, Number(resolvedSizeImg.width) || 200);
|
|
15246
15099
|
const nextHeight = Math.max(minVisiblePlaceholder, Number(resolvedSizeImg.height) || 50);
|
|
15247
|
-
const storePosImg =
|
|
15248
|
-
const node = findNodeById(
|
|
15249
|
-
return node ? getAbsoluteBounds(node,
|
|
15100
|
+
const storePosImg = pageChildren ? (() => {
|
|
15101
|
+
const node = findNodeById(pageChildren, element.id);
|
|
15102
|
+
return node ? getAbsoluteBounds(node, pageChildren) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15250
15103
|
})() : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15251
15104
|
const elementForPlaceholder = { ...element, width: nextWidth, height: nextHeight };
|
|
15252
15105
|
const placeholder = isCropGroup2 ? createImagePlaceholderForGroup(elementForPlaceholder) : createImagePlaceholder(elementForPlaceholder);
|
|
@@ -15269,8 +15122,8 @@ const PageCanvas = react.forwardRef(
|
|
|
15269
15122
|
fc.requestRenderAll();
|
|
15270
15123
|
continue;
|
|
15271
15124
|
}
|
|
15272
|
-
const imageFitForReplace = element.imageFit || ((
|
|
15273
|
-
const clipShapeForReplace = element.clipShape ?? ((
|
|
15125
|
+
const imageFitForReplace = element.imageFit || ((_f = element.style) == null ? void 0 : _f.imageFit) || "cover";
|
|
15126
|
+
const clipShapeForReplace = element.clipShape ?? ((_g = element.style) == null ? void 0 : _g.imageFrameShape) ?? (isPreviewMode ? "rectangle" : "none");
|
|
15274
15127
|
const needCropGroupForElement = imageFitForReplace !== "fill" || clipShapeForReplace && clipShapeForReplace !== "none";
|
|
15275
15128
|
const plainImageNeedsCropGroup = hasUrl && !isCropGroup2 && existingObj instanceof fabric__namespace.FabricImage && needCropGroupForElement;
|
|
15276
15129
|
if (hasUrl && (needsReload || isPlaceholder || plainImageNeedsCropGroup || needsCropGroupFadeUpdate)) {
|
|
@@ -15307,9 +15160,9 @@ const PageCanvas = react.forwardRef(
|
|
|
15307
15160
|
}
|
|
15308
15161
|
ct.rx = rxRatio;
|
|
15309
15162
|
}
|
|
15310
|
-
const cropPos =
|
|
15311
|
-
const node = findNodeById(
|
|
15312
|
-
return node ? getAbsoluteBounds(node,
|
|
15163
|
+
const cropPos = pageChildren ? (() => {
|
|
15164
|
+
const node = findNodeById(pageChildren, element.id);
|
|
15165
|
+
return node ? getAbsoluteBounds(node, pageChildren) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15313
15166
|
})() : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15314
15167
|
const cropCenterX = cropPos.left + (ct.frameW ?? 0) / 2;
|
|
15315
15168
|
const cropCenterY = cropPos.top + (ct.frameH ?? 0) / 2;
|
|
@@ -15406,7 +15259,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15406
15259
|
continue;
|
|
15407
15260
|
}
|
|
15408
15261
|
} else if (!hasUrl && !isPlaceholder) {
|
|
15409
|
-
const resolvedSizeImg =
|
|
15262
|
+
const resolvedSizeImg = (pageChildren == null ? void 0 : pageChildren.length) ? getNodeBounds(element, pageChildren) : { width: typeof element.width === "number" ? element.width : 200, height: typeof element.height === "number" ? element.height : 50 };
|
|
15410
15263
|
const hasExplicitSize = typeof element.width === "number" && Number.isFinite(element.width) && element.width > 0 && typeof element.height === "number" && Number.isFinite(element.height) && element.height > 0;
|
|
15411
15264
|
const minVisiblePlaceholder = hasExplicitSize ? 1 : 20;
|
|
15412
15265
|
const elementForPlaceholder = {
|
|
@@ -15436,11 +15289,11 @@ const PageCanvas = react.forwardRef(
|
|
|
15436
15289
|
placeholder.__imageSrc = void 0;
|
|
15437
15290
|
} else if (!isBeingTransformed && !isBeingTextEdited && !shouldSkipUpdates2) {
|
|
15438
15291
|
if (isPlaceholderGroup) {
|
|
15439
|
-
const storePosImg =
|
|
15440
|
-
const node = findNodeById(
|
|
15441
|
-
return node ? getAbsoluteBounds(node,
|
|
15292
|
+
const storePosImg = pageChildren ? (() => {
|
|
15293
|
+
const node = findNodeById(pageChildren, element.id);
|
|
15294
|
+
return node ? getAbsoluteBounds(node, pageChildren) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15442
15295
|
})() : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15443
|
-
const resolvedSizeImg =
|
|
15296
|
+
const resolvedSizeImg = (pageChildren == null ? void 0 : pageChildren.length) ? getNodeBounds(element, pageChildren) : { width: typeof element.width === "number" ? element.width : 200, height: typeof element.height === "number" ? element.height : 50 };
|
|
15444
15297
|
const hasExplicitSize = typeof element.width === "number" && Number.isFinite(element.width) && element.width > 0 && typeof element.height === "number" && Number.isFinite(element.height) && element.height > 0;
|
|
15445
15298
|
const minVisiblePlaceholder = hasExplicitSize ? 1 : 20;
|
|
15446
15299
|
const nextWidth = Math.max(minVisiblePlaceholder, Number(resolvedSizeImg.width) || 200);
|
|
@@ -15500,13 +15353,11 @@ const PageCanvas = react.forwardRef(
|
|
|
15500
15353
|
const previousVisible = previousVisibilityRef.current.get(element.id) ?? true;
|
|
15501
15354
|
const currentVisible = element.visible !== false;
|
|
15502
15355
|
const visibilityChanged = previousVisible !== currentVisible;
|
|
15503
|
-
const storePosForImg =
|
|
15504
|
-
const node = findNodeById(
|
|
15505
|
-
return node ? getAbsoluteBounds(node,
|
|
15356
|
+
const storePosForImg = pageChildren ? (() => {
|
|
15357
|
+
const node = findNodeById(pageChildren, element.id);
|
|
15358
|
+
return node ? getAbsoluteBounds(node, pageChildren) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15506
15359
|
})() : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15507
|
-
const
|
|
15508
|
-
const preserveSelectionMemberPosition = shouldPreserveActiveSelectionMemberPosition(existingObj);
|
|
15509
|
-
const positionChanged = !preserveSelectionMemberPosition && (Math.abs(comparePosForImg.left - storePosForImg.left) > 0.1 || Math.abs(comparePosForImg.top - storePosForImg.top) > 0.1);
|
|
15360
|
+
const positionChanged = Math.abs((existingObj.left ?? 0) - storePosForImg.left) > 0.1 || Math.abs((existingObj.top ?? 0) - storePosForImg.top) > 0.1;
|
|
15510
15361
|
if (visibilityChanged && !positionChanged || visibilityUpdateInProgressRef.current) {
|
|
15511
15362
|
const isDynamicField = dynamicFieldIds.includes(element.id);
|
|
15512
15363
|
const canBeEvented = isEditorMode || isPreviewMode && isDynamicField;
|
|
@@ -15521,7 +15372,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15521
15372
|
previousVisibilityRef.current.set(element.id, currentVisible);
|
|
15522
15373
|
} else {
|
|
15523
15374
|
if (!visibilityUpdateInProgressRef.current) {
|
|
15524
|
-
updateFabricObject(existingObj, element, wasJustModified
|
|
15375
|
+
updateFabricObject(existingObj, element, wasJustModified);
|
|
15525
15376
|
}
|
|
15526
15377
|
const isDynamicField = dynamicFieldIds.includes(element.id);
|
|
15527
15378
|
const canBeEvented = isEditorMode || isPreviewMode && isDynamicField;
|
|
@@ -15543,19 +15394,17 @@ const PageCanvas = react.forwardRef(
|
|
|
15543
15394
|
if (!isBeingTransformed && !isBeingTextEdited && !shouldSkipUpdates2) {
|
|
15544
15395
|
previousVisibilityRef.current.get(element.id) ?? true;
|
|
15545
15396
|
const currentVisible = element.visible !== false;
|
|
15546
|
-
const
|
|
15547
|
-
const
|
|
15548
|
-
const
|
|
15549
|
-
|
|
15550
|
-
|
|
15551
|
-
return node ? getAbsoluteBounds(node, pageTree) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15397
|
+
const fabricLeft = existingObj.left ?? 0;
|
|
15398
|
+
const fabricTop = existingObj.top ?? 0;
|
|
15399
|
+
const storePos = pageChildren ? (() => {
|
|
15400
|
+
const node = findNodeById(pageChildren, element.id);
|
|
15401
|
+
return node ? getAbsoluteBounds(node, pageChildren) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15552
15402
|
})() : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
15553
15403
|
const storeLeft = storePos.left;
|
|
15554
15404
|
const storeTop = storePos.top;
|
|
15555
15405
|
const deltaX = Math.abs(fabricLeft - storeLeft);
|
|
15556
15406
|
const deltaY = Math.abs(fabricTop - storeTop);
|
|
15557
|
-
|
|
15558
|
-
let positionChanged = !preserveSelectionMemberPosition && (deltaX > 0.1 || deltaY > 0.1);
|
|
15407
|
+
let positionChanged = deltaX > 0.1 || deltaY > 0.1;
|
|
15559
15408
|
const activeObj = fc.getActiveObject();
|
|
15560
15409
|
const isInActiveSelection = activeObj && (activeObj instanceof fabric__namespace.ActiveSelection ? activeObj.getObjects().includes(existingObj) : activeObj === existingObj);
|
|
15561
15410
|
const isInSelectedIds = selectedIdsFromStore.has(element.id);
|
|
@@ -15563,7 +15412,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15563
15412
|
if (positionChanged && isSelected && (wasJustModified || isBeingTransformed)) {
|
|
15564
15413
|
positionChanged = false;
|
|
15565
15414
|
}
|
|
15566
|
-
const resolvedSizeForCompare =
|
|
15415
|
+
const resolvedSizeForCompare = (pageChildren == null ? void 0 : pageChildren.length) ? getNodeBounds(element, pageChildren) : { width: typeof element.width === "number" ? element.width : 0, height: typeof element.height === "number" ? element.height : 0 };
|
|
15567
15416
|
const fabricText = existingObj.text ?? "";
|
|
15568
15417
|
const storeText = element.text ?? "";
|
|
15569
15418
|
const otherPropsChanged = Math.abs((existingObj.width ?? 0) - resolvedSizeForCompare.width) > 0.1 || Math.abs((existingObj.height ?? 0) - resolvedSizeForCompare.height) > 0.1 || Math.abs((existingObj.angle ?? 0) - (element.angle ?? 0)) > 0.1 || Math.abs((existingObj.scaleX ?? 1) - (element.scaleX ?? 1)) > 0.01 || Math.abs((existingObj.scaleY ?? 1) - (element.scaleY ?? 1)) > 0.01 || (existingObj.flipX ?? false) !== (element.flipX ?? false) || (existingObj.flipY ?? false) !== (element.flipY ?? false) || fabricText !== storeText || existingObj.fill !== (element.fill ?? "") || existingObj.stroke !== (element.stroke ?? "") || Math.abs((existingObj.strokeWidth ?? 0) - (element.strokeWidth ?? 0)) > 0.01 || Math.abs((existingObj.opacity ?? 1) - (element.opacity ?? 1)) > 0.01 || (existingObj.fontSize ?? 0) !== (element.fontSize ?? 0) || (existingObj.fontFamily ?? "") !== (element.fontFamily ?? "") || // Vertical alignment & min box height: panel-driven changes must trigger a re-apply
|
|
@@ -15607,28 +15456,8 @@ const PageCanvas = react.forwardRef(
|
|
|
15607
15456
|
});
|
|
15608
15457
|
previousVisibilityRef.current.set(element.id, currentVisible);
|
|
15609
15458
|
} else {
|
|
15610
|
-
const skipPositionBecauseSelection =
|
|
15459
|
+
const skipPositionBecauseSelection = isSelected && (deltaX > 0.1 || deltaY > 0.1) && (wasJustModified || isBeingTransformed);
|
|
15611
15460
|
const anyChange = positionChanged || otherPropsChanged || forceApplyFromPanel;
|
|
15612
|
-
if (shouldLogGroupMove() && (preserveSelectionMemberPosition || (deltaX > 0.1 || deltaY > 0.1))) {
|
|
15613
|
-
console.log("[GRP-MOVE] doSync-member", {
|
|
15614
|
-
id: element.id,
|
|
15615
|
-
type: element.type,
|
|
15616
|
-
fabric: { left: fabricLeft, top: fabricTop },
|
|
15617
|
-
store: { left: storeLeft, top: storeTop },
|
|
15618
|
-
delta: { x: deltaX, y: deltaY },
|
|
15619
|
-
flags: {
|
|
15620
|
-
preserveSelectionMemberPosition,
|
|
15621
|
-
isSelected,
|
|
15622
|
-
wasJustModified,
|
|
15623
|
-
isBeingTransformed,
|
|
15624
|
-
positionChanged,
|
|
15625
|
-
otherPropsChanged,
|
|
15626
|
-
skipPositionBecauseSelection,
|
|
15627
|
-
anyChange,
|
|
15628
|
-
syncTriggeredByPanel: syncTriggeredByPanelRef.current
|
|
15629
|
-
}
|
|
15630
|
-
});
|
|
15631
|
-
}
|
|
15632
15461
|
if (!visibilityUpdateInProgressRef.current) {
|
|
15633
15462
|
if (anyChange && !skipPositionBecauseSelection) {
|
|
15634
15463
|
updateFabricObject(existingObj, element, wasJustModified);
|
|
@@ -15724,7 +15553,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15724
15553
|
fc.add(placeholder);
|
|
15725
15554
|
fc.bringObjectToFront(placeholder);
|
|
15726
15555
|
const activeObj = fc.getActiveObject();
|
|
15727
|
-
if (activeObj && (((
|
|
15556
|
+
if (activeObj && (((_h = activeObj._ct) == null ? void 0 : _h.isCropGroup) || activeObj.__cropGroup)) {
|
|
15728
15557
|
fc.setActiveObject(activeObj);
|
|
15729
15558
|
}
|
|
15730
15559
|
placeholder.dirty = true;
|
|
@@ -15764,7 +15593,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15764
15593
|
fc.add(obj);
|
|
15765
15594
|
fc.bringObjectToFront(obj);
|
|
15766
15595
|
const activeObj = fc.getActiveObject();
|
|
15767
|
-
if (activeObj && (((
|
|
15596
|
+
if (activeObj && (((_i = activeObj._ct) == null ? void 0 : _i.isCropGroup) || activeObj.__cropGroup)) {
|
|
15768
15597
|
fc.setActiveObject(activeObj);
|
|
15769
15598
|
}
|
|
15770
15599
|
obj.dirty = true;
|
|
@@ -15794,18 +15623,10 @@ const PageCanvas = react.forwardRef(
|
|
|
15794
15623
|
});
|
|
15795
15624
|
allFabricObjects.forEach((obj) => fc.bringObjectToFront(obj));
|
|
15796
15625
|
}
|
|
15797
|
-
const activeAfterObjectSync = fc.getActiveObject();
|
|
15798
|
-
if (activeAfterObjectSync instanceof fabric__namespace.ActiveSelection) {
|
|
15799
|
-
const groupSelectionId = activeAfterObjectSync.__pixldocsGroupSelection;
|
|
15800
|
-
if (groupSelectionId) {
|
|
15801
|
-
applyLogicalGroupSelectionVisualState(activeAfterObjectSync, groupSelectionId);
|
|
15802
|
-
activeAfterObjectSync.setCoords();
|
|
15803
|
-
}
|
|
15804
|
-
}
|
|
15805
15626
|
isRebuildingRef.current = false;
|
|
15806
15627
|
fc.requestRenderAll();
|
|
15807
15628
|
if (activeBeforeSync && fc.getObjects().includes(activeBeforeSync)) {
|
|
15808
|
-
const isCropGroup2 = ((
|
|
15629
|
+
const isCropGroup2 = ((_j = activeBeforeSync._ct) == null ? void 0 : _j.isCropGroup) || activeBeforeSync.__cropGroup;
|
|
15809
15630
|
if (isCropGroup2) {
|
|
15810
15631
|
fc.setActiveObject(activeBeforeSync);
|
|
15811
15632
|
fc.requestRenderAll();
|
|
@@ -15858,9 +15679,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15858
15679
|
applyLogicalGroupSelectionVisualState(newSel, activeSelectionSnapshot.groupSelectionId);
|
|
15859
15680
|
}
|
|
15860
15681
|
fc.setActiveObject(newSel);
|
|
15861
|
-
|
|
15862
|
-
newSel.setCoords();
|
|
15863
|
-
}
|
|
15682
|
+
newSel.setCoords();
|
|
15864
15683
|
fc.requestRenderAll();
|
|
15865
15684
|
} finally {
|
|
15866
15685
|
isSyncingSelectionToFabricRef.current = false;
|
|
@@ -16164,6 +15983,7 @@ const PageCanvas = react.forwardRef(
|
|
|
16164
15983
|
});
|
|
16165
15984
|
if (isPureSingleGroupSelection) {
|
|
16166
15985
|
active.hasBorders = true;
|
|
15986
|
+
active.setCoords();
|
|
16167
15987
|
applyWarpAwareSelectionBorders(active);
|
|
16168
15988
|
}
|
|
16169
15989
|
}
|
|
@@ -16232,7 +16052,7 @@ const PageCanvas = react.forwardRef(
|
|
|
16232
16052
|
if (fc && isTransforming(fc)) {
|
|
16233
16053
|
return;
|
|
16234
16054
|
}
|
|
16235
|
-
const currentPageTree = (
|
|
16055
|
+
const currentPageTree = ((pageChildren == null ? void 0 : pageChildren.length) ? pageChildren : (_a2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _a2.children) ?? [];
|
|
16236
16056
|
const fabricPos = currentPageTree.length > 0 ? (() => {
|
|
16237
16057
|
const node = findNodeById(currentPageTree, element.id);
|
|
16238
16058
|
return node ? getAbsoluteBounds(node, currentPageTree) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
@@ -17300,7 +17120,7 @@ const PageCanvas = react.forwardRef(
|
|
|
17300
17120
|
if (imageFit === "fill" && !needCropGroup2) {
|
|
17301
17121
|
const finalScaleX = baseScaleX * (element.scaleX ?? 1);
|
|
17302
17122
|
const finalScaleY = baseScaleY * (element.scaleY ?? 1);
|
|
17303
|
-
const pageTreeForCreate = ((
|
|
17123
|
+
const pageTreeForCreate = ((pageChildren == null ? void 0 : pageChildren.length) ? pageChildren : (_f = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _f.children) ?? [];
|
|
17304
17124
|
const createPos = pageTreeForCreate.length > 0 ? (() => {
|
|
17305
17125
|
const node = findNodeById(pageTreeForCreate, element.id);
|
|
17306
17126
|
return node ? getAbsoluteBounds(node, pageTreeForCreate) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
@@ -17350,7 +17170,7 @@ const PageCanvas = react.forwardRef(
|
|
|
17350
17170
|
const needCropGroup = imageFitFinal !== "fill" || clipShapeFinal && clipShapeFinal !== "none";
|
|
17351
17171
|
let finalObject = img;
|
|
17352
17172
|
if (needCropGroup) {
|
|
17353
|
-
const pageTreeForCropResolve = ((
|
|
17173
|
+
const pageTreeForCropResolve = ((pageChildren == null ? void 0 : pageChildren.length) ? pageChildren : (_i = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _i.children) ?? [];
|
|
17354
17174
|
const nodeForSize = pageTreeForCropResolve.length ? findNodeById(pageTreeForCropResolve, element.id) : null;
|
|
17355
17175
|
const w = nodeForSize && isElement(nodeForSize) ? nodeForSize.width : element.width;
|
|
17356
17176
|
const h = nodeForSize && isElement(nodeForSize) ? nodeForSize.height : element.height;
|
|
@@ -17394,7 +17214,7 @@ const PageCanvas = react.forwardRef(
|
|
|
17394
17214
|
}
|
|
17395
17215
|
const isDynamicField = dynamicFieldIds.includes(element.id);
|
|
17396
17216
|
const canBeEvented = isEditorMode || isPreviewMode && isDynamicField;
|
|
17397
|
-
const pageTreeForCrop = ((
|
|
17217
|
+
const pageTreeForCrop = ((pageChildren == null ? void 0 : pageChildren.length) ? pageChildren : (_n = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _n.children) ?? [];
|
|
17398
17218
|
const createPosForCrop = pageTreeForCrop.length > 0 ? (() => {
|
|
17399
17219
|
const node = findNodeById(pageTreeForCrop, element.id);
|
|
17400
17220
|
return node ? getAbsoluteBounds(node, pageTreeForCrop) : { left: element.left ?? 0, top: element.top ?? 0 };
|
|
@@ -23810,9 +23630,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
23810
23630
|
}
|
|
23811
23631
|
return svgString;
|
|
23812
23632
|
}
|
|
23813
|
-
const resolvedPackageVersion = "0.5.
|
|
23633
|
+
const resolvedPackageVersion = "0.5.285";
|
|
23814
23634
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
23815
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
23635
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.285";
|
|
23816
23636
|
const roundParityValue = (value) => {
|
|
23817
23637
|
if (typeof value !== "number") return value;
|
|
23818
23638
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -24626,7 +24446,7 @@ class PixldocsRenderer {
|
|
|
24626
24446
|
await this.waitForCanvasScene(container, cloned, i);
|
|
24627
24447
|
}
|
|
24628
24448
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
24629
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
24449
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BLNaGpPE.cjs"));
|
|
24630
24450
|
const prepared = preparePagesForExport(
|
|
24631
24451
|
cloned.pages,
|
|
24632
24452
|
canvasWidth,
|
|
@@ -26946,7 +26766,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
26946
26766
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
26947
26767
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
26948
26768
|
try {
|
|
26949
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
26769
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BLNaGpPE.cjs"));
|
|
26950
26770
|
try {
|
|
26951
26771
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
26952
26772
|
} catch {
|
|
@@ -27343,4 +27163,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
27343
27163
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
27344
27164
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
27345
27165
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
27346
|
-
//# sourceMappingURL=index-
|
|
27166
|
+
//# sourceMappingURL=index-CqoBp7NY.cjs.map
|