@pixldocs/canvas-renderer 0.5.302 → 0.5.303
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-ZeWTxoUj.js → index-BZNOM2c8.js} +62 -8
- package/dist/index-BZNOM2c8.js.map +1 -0
- package/dist/{index-Basn7lBW.cjs → index-RzHOtjZi.cjs} +62 -8
- package/dist/index-RzHOtjZi.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-DXYVw9V2.cjs → vectorPdfExport-BWWx6ATR.cjs} +4 -4
- package/dist/{vectorPdfExport-DXYVw9V2.cjs.map → vectorPdfExport-BWWx6ATR.cjs.map} +1 -1
- package/dist/{vectorPdfExport-Bje676YF.js → vectorPdfExport-DlOAYoOr.js} +4 -4
- package/dist/{vectorPdfExport-Bje676YF.js.map → vectorPdfExport-DlOAYoOr.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-Basn7lBW.cjs.map +0 -1
- package/dist/index-ZeWTxoUj.js.map +0 -1
|
@@ -11366,6 +11366,7 @@ const PageCanvas = react.forwardRef(
|
|
|
11366
11366
|
const lastTextEditDimensionsRef = react.useRef(null);
|
|
11367
11367
|
const lastResizeScaleTargetRef = react.useRef(null);
|
|
11368
11368
|
const activeSelectionResizeHandleRef = react.useRef(null);
|
|
11369
|
+
const groupShiftReflowSnapshotRef = react.useRef(null);
|
|
11369
11370
|
const preserveSelectionAfterTransformIdRef = react.useRef(null);
|
|
11370
11371
|
const groupSelectionTransformStartRef = react.useRef(null);
|
|
11371
11372
|
const activeSelectionMoveStartRef = react.useRef(null);
|
|
@@ -13523,7 +13524,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13523
13524
|
fabricCanvas.on("selection:cleared", () => {
|
|
13524
13525
|
});
|
|
13525
13526
|
fabricCanvas.on("object:scaling", (e) => {
|
|
13526
|
-
var _a2, _b2, _c;
|
|
13527
|
+
var _a2, _b2, _c, _d, _e, _f;
|
|
13527
13528
|
if (!isActiveRef.current) return;
|
|
13528
13529
|
const t = e.target;
|
|
13529
13530
|
if (t) lastResizeScaleTargetRef.current = t;
|
|
@@ -13700,6 +13701,33 @@ const PageCanvas = react.forwardRef(
|
|
|
13700
13701
|
const isXSide = corner === "ml" || corner === "mr";
|
|
13701
13702
|
const sAxis = isXSide ? Math.abs(obj.scaleX ?? 1) : Math.abs(obj.scaleY ?? 1);
|
|
13702
13703
|
if (sAxis > 1e-3) {
|
|
13704
|
+
if (isXSide && ((_b2 = groupShiftReflowSnapshotRef.current) == null ? void 0 : _b2.selection) !== obj) {
|
|
13705
|
+
groupShiftReflowSnapshotRef.current = null;
|
|
13706
|
+
const logicalGroupId = obj.__pixldocsGroupSelection;
|
|
13707
|
+
if (logicalGroupId) {
|
|
13708
|
+
try {
|
|
13709
|
+
const state = useEditorStore.getState();
|
|
13710
|
+
const pageChildren2 = ((_c = state.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _c.children) ?? [];
|
|
13711
|
+
const groupNode = findNodeById(pageChildren2, logicalGroupId);
|
|
13712
|
+
if (groupNode && isGroup(groupNode) && !isStackLayoutMode(groupNode.layoutMode)) {
|
|
13713
|
+
const entries = obj.getObjects().map((c) => ({
|
|
13714
|
+
obj: c,
|
|
13715
|
+
id: getObjectId(c) ?? "",
|
|
13716
|
+
top0: c.top ?? 0,
|
|
13717
|
+
height0: (c.height ?? 0) * Math.abs(c.scaleY ?? 1)
|
|
13718
|
+
})).filter((e2) => e2.id).sort((a, b) => a.top0 - b.top0);
|
|
13719
|
+
if (entries.length > 1) {
|
|
13720
|
+
const gaps = [];
|
|
13721
|
+
for (let i = 1; i < entries.length; i++) {
|
|
13722
|
+
gaps.push(Math.max(0, entries[i].top0 - (entries[i - 1].top0 + entries[i - 1].height0)));
|
|
13723
|
+
}
|
|
13724
|
+
groupShiftReflowSnapshotRef.current = { selection: obj, groupId: logicalGroupId, children: entries, gaps };
|
|
13725
|
+
}
|
|
13726
|
+
}
|
|
13727
|
+
} catch {
|
|
13728
|
+
}
|
|
13729
|
+
}
|
|
13730
|
+
}
|
|
13703
13731
|
const asW0 = obj.width ?? 0;
|
|
13704
13732
|
const asH0 = obj.height ?? 0;
|
|
13705
13733
|
const asSx0 = obj.scaleX ?? 1;
|
|
@@ -13709,7 +13737,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13709
13737
|
const asRect0 = obj.getBoundingRect();
|
|
13710
13738
|
let didReflowTextChild = false;
|
|
13711
13739
|
for (const child of obj.getObjects()) {
|
|
13712
|
-
if (child instanceof fabric__namespace.Group && (child.__cropGroup || ((
|
|
13740
|
+
if (child instanceof fabric__namespace.Group && (child.__cropGroup || ((_d = child._ct) == null ? void 0 : _d.isCropGroup))) {
|
|
13713
13741
|
const ct = child.__cropData;
|
|
13714
13742
|
if (!ct) continue;
|
|
13715
13743
|
if (isXSide) {
|
|
@@ -13814,6 +13842,31 @@ const PageCanvas = react.forwardRef(
|
|
|
13814
13842
|
didReflowTextChild = true;
|
|
13815
13843
|
}
|
|
13816
13844
|
}
|
|
13845
|
+
if (isXSide && ((_e = groupShiftReflowSnapshotRef.current) == null ? void 0 : _e.selection) === obj) {
|
|
13846
|
+
const snap = groupShiftReflowSnapshotRef.current;
|
|
13847
|
+
let prevBottom = -Infinity;
|
|
13848
|
+
let didShift = false;
|
|
13849
|
+
for (let i = 0; i < snap.children.length; i++) {
|
|
13850
|
+
const entry = snap.children[i];
|
|
13851
|
+
const c = entry.obj;
|
|
13852
|
+
let liveH;
|
|
13853
|
+
if (c instanceof fabric__namespace.Textbox) {
|
|
13854
|
+
liveH = c.height ?? entry.height0;
|
|
13855
|
+
} else {
|
|
13856
|
+
liveH = (c.height ?? entry.height0) * Math.abs(c.scaleY ?? 1);
|
|
13857
|
+
}
|
|
13858
|
+
const gap = i === 0 ? 0 : snap.gaps[i - 1];
|
|
13859
|
+
const targetTop = i === 0 ? entry.top0 : Math.max(entry.top0, prevBottom + gap);
|
|
13860
|
+
if (Math.abs((c.top ?? 0) - targetTop) > 0.5) {
|
|
13861
|
+
c._set("top", targetTop);
|
|
13862
|
+
c.setCoords();
|
|
13863
|
+
c.dirty = true;
|
|
13864
|
+
didShift = true;
|
|
13865
|
+
}
|
|
13866
|
+
prevBottom = targetTop + liveH;
|
|
13867
|
+
}
|
|
13868
|
+
if (didShift) didReflowTextChild = true;
|
|
13869
|
+
}
|
|
13817
13870
|
if (isXSide && didReflowTextChild && typeof obj.triggerLayout === "function") {
|
|
13818
13871
|
try {
|
|
13819
13872
|
obj.triggerLayout();
|
|
@@ -13927,7 +13980,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13927
13980
|
setGuides(gridGuidesForScale.length ? [...scaleGuides, ...gridGuidesForScale] : scaleGuides);
|
|
13928
13981
|
if (drilledGroupIdRef.current) {
|
|
13929
13982
|
try {
|
|
13930
|
-
(
|
|
13983
|
+
(_f = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _f.call(fabricCanvas);
|
|
13931
13984
|
} catch {
|
|
13932
13985
|
}
|
|
13933
13986
|
}
|
|
@@ -14134,6 +14187,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14134
14187
|
}
|
|
14135
14188
|
} catch {
|
|
14136
14189
|
}
|
|
14190
|
+
groupShiftReflowSnapshotRef.current = null;
|
|
14137
14191
|
lockEdits();
|
|
14138
14192
|
const modifiedTarget = e.target;
|
|
14139
14193
|
const modifiedTargetId = modifiedTarget ? getObjectId(modifiedTarget) : null;
|
|
@@ -24122,9 +24176,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
24122
24176
|
}
|
|
24123
24177
|
return svgString;
|
|
24124
24178
|
}
|
|
24125
|
-
const resolvedPackageVersion = "0.5.
|
|
24179
|
+
const resolvedPackageVersion = "0.5.303";
|
|
24126
24180
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
24127
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
24181
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.303";
|
|
24128
24182
|
const roundParityValue = (value) => {
|
|
24129
24183
|
if (typeof value !== "number") return value;
|
|
24130
24184
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -24938,7 +24992,7 @@ class PixldocsRenderer {
|
|
|
24938
24992
|
await this.waitForCanvasScene(container, cloned, i);
|
|
24939
24993
|
}
|
|
24940
24994
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
24941
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
24995
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BWWx6ATR.cjs"));
|
|
24942
24996
|
const prepared = preparePagesForExport(
|
|
24943
24997
|
cloned.pages,
|
|
24944
24998
|
canvasWidth,
|
|
@@ -27258,7 +27312,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
27258
27312
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
27259
27313
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
27260
27314
|
try {
|
|
27261
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
27315
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BWWx6ATR.cjs"));
|
|
27262
27316
|
try {
|
|
27263
27317
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
27264
27318
|
} catch {
|
|
@@ -27655,4 +27709,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
27655
27709
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
27656
27710
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
27657
27711
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
27658
|
-
//# sourceMappingURL=index-
|
|
27712
|
+
//# sourceMappingURL=index-RzHOtjZi.cjs.map
|