@pixldocs/canvas-renderer 0.5.375 → 0.5.377

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.
@@ -10676,12 +10676,57 @@ try {
10676
10676
  if (p < 1) ctx.stroke();
10677
10677
  ctx.restore();
10678
10678
  };
10679
- const installPillRenders = (controls) => {
10680
- var _a2;
10681
- const CUR_SIZE = 22;
10682
- const HOT = Math.round(CUR_SIZE / 2);
10683
- const makeCursor = (angleDeg) => {
10684
- const svg = `<?xml version="1.0" encoding="UTF-8"?>
10679
+ const ROTATE_PATHS_2D = [
10680
+ new Path2D("M22 12l-3 3-3-3"),
10681
+ new Path2D("M2 12l3-3 3 3"),
10682
+ new Path2D("M19.016 14v-1.95A7.05 7.05 0 0 0 8 6.22"),
10683
+ new Path2D("M16.016 17.845A7.05 7.05 0 0 1 5 12.015V10"),
10684
+ new Path2D("M5 10V9"),
10685
+ new Path2D("M19 15v-1")
10686
+ ];
10687
+ const renderRotateHandle = (ctx, left, top, _styleOverride, fabricObject) => {
10688
+ var _a2, _b2;
10689
+ const action = (_b2 = (_a2 = fabricObject.canvas) == null ? void 0 : _a2._currentTransform) == null ? void 0 : _b2.action;
10690
+ if (action === "drag" && fabricObject.__pixldocsDragMoved) return;
10691
+ const scale = getVisualScale(fabricObject);
10692
+ const p = getHoverProgress(fabricObject, "mtr");
10693
+ const r = 11 * scale;
10694
+ ctx.save();
10695
+ ctx.beginPath();
10696
+ ctx.arc(left, top, r, 0, Math.PI * 2);
10697
+ ctx.closePath();
10698
+ ctx.fillStyle = lerpFill(p);
10699
+ ctx.strokeStyle = `rgba(15, 23, 42, ${0.18 * (1 - p)})`;
10700
+ ctx.lineWidth = 0.75 * (1 - p);
10701
+ ctx.shadowColor = "rgba(15, 23, 42, 0.4)";
10702
+ ctx.shadowBlur = 10;
10703
+ ctx.shadowOffsetY = 2;
10704
+ ctx.fill();
10705
+ if (p < 1) ctx.stroke();
10706
+ ctx.shadowColor = "transparent";
10707
+ ctx.shadowBlur = 0;
10708
+ ctx.shadowOffsetY = 0;
10709
+ const iconColor = p > 0.5 ? "#ffffff" : "rgba(15, 23, 42, 0.85)";
10710
+ const target = r * 1.55;
10711
+ const s = target / 24;
10712
+ ctx.translate(left, top);
10713
+ ctx.scale(s, s);
10714
+ ctx.translate(-12, -12);
10715
+ ctx.strokeStyle = iconColor;
10716
+ ctx.fillStyle = iconColor;
10717
+ ctx.lineJoin = "miter";
10718
+ ctx.miterLimit = 4;
10719
+ ctx.lineWidth = 1 / s;
10720
+ ROTATE_PATHS_2D.forEach((p2d, index) => {
10721
+ ctx.lineCap = index >= 4 ? "round" : "square";
10722
+ ctx.stroke(p2d);
10723
+ });
10724
+ ctx.restore();
10725
+ };
10726
+ const CUR_SIZE = 22;
10727
+ const HOT = Math.round(CUR_SIZE / 2);
10728
+ const makeCursor = (angleDeg) => {
10729
+ const svg = `<?xml version="1.0" encoding="UTF-8"?>
10685
10730
  <svg xmlns="http://www.w3.org/2000/svg" width="${CUR_SIZE}" height="${CUR_SIZE}" viewBox="0 0 22 22">
10686
10731
  <g transform="rotate(${angleDeg} 11 11)" fill="none" stroke="#000" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">
10687
10732
  <path d="M2.5 11 L19.5 11" stroke="#fff" stroke-width="3.2"/>
@@ -10692,88 +10737,95 @@ try {
10692
10737
  <path d="M17 8.5 L19.5 11 L17 13.5"/>
10693
10738
  </g>
10694
10739
  </svg>`;
10695
- const encoded = encodeURIComponent(svg).replace(/'/g, "%27").replace(/"/g, "%22");
10696
- const fallback = angleDeg % 180 === 0 ? "ew-resize" : angleDeg % 180 === 90 ? "ns-resize" : angleDeg === 45 || angleDeg === 225 ? "nwse-resize" : "nesw-resize";
10697
- return `url("data:image/svg+xml;utf8,${encoded}") ${HOT} ${HOT}, ${fallback}`;
10698
- };
10699
- const cursorFor = {
10700
- ml: makeCursor(0),
10701
- mr: makeCursor(0),
10702
- mt: makeCursor(90),
10703
- mb: makeCursor(90),
10704
- tl: makeCursor(45),
10705
- br: makeCursor(45),
10706
- tr: makeCursor(135),
10707
- bl: makeCursor(135)
10708
- };
10709
- const ROTATE_ICON_PATH = "M505.4 122.5l-92.2-62.7c-6.7-4.5-15.6-3.1-20.7 3.1l-69.2 87.4c-5.2 6.6-4.1 16.1 2.5 21.3s16.1 4.1 21.3-2.5l50.4-63.8c2.9 14.6 4.3 29.4 4.3 44.3 0 125.2-101.9 227-227 227-45.8 0-90.5-13.8-128.2-39.6l79-27.8c8-2.5 12.4-11 9.9-18.9s-11-12.4-18.9-9.9c-.3.1-.7.2-1 .4l-105.2 37c-2 .7-3.9 1.8-5.4 3.3-4.2 3.8-6 9.7-4.5 15.2l29.3 107.5c1.8 6.6 7.8 11.1 14.6 11.1 1.4 0 2.7-.2 4-.5 8.1-2.2 12.8-10.5 10.6-18.6l-18-66.4c40.3 24.6 86.6 37.5 133.8 37.5 68.3.2 133.8-27 181.9-75.4 48.4-48.1 75.5-113.7 75.4-181.9 0-14.3-1.2-28.6-3.5-42.8l59.8 40.7c7.1 4.4 16.4 2.2 20.8-4.9 4.1-6.6 2.5-15.4-3.8-20.1z";
10710
- const CUR_R_SIZE = 18;
10711
- const HOT_R = Math.round(CUR_R_SIZE / 2);
10712
- const makeRotateCursor = (angleDeg) => {
10713
- const a = ((angleDeg + 215) % 360 + 360) % 360;
10714
- const halo = `<path d="${ROTATE_ICON_PATH}" fill="#fff" stroke="#fff" stroke-width="40" stroke-linejoin="round"/>`;
10715
- const fg = `<path d="${ROTATE_ICON_PATH}" fill="#0f172a" stroke="#0f172a" stroke-width="6" stroke-linejoin="round"/>`;
10716
- const svg = `<?xml version="1.0" encoding="UTF-8"?>
10740
+ const encoded = encodeURIComponent(svg).replace(/'/g, "%27").replace(/"/g, "%22");
10741
+ const fallback = angleDeg % 180 === 0 ? "ew-resize" : angleDeg % 180 === 90 ? "ns-resize" : angleDeg === 45 || angleDeg === 225 ? "nwse-resize" : "nesw-resize";
10742
+ return `url("data:image/svg+xml;utf8,${encoded}") ${HOT} ${HOT}, ${fallback}`;
10743
+ };
10744
+ const cursorFor = {
10745
+ ml: makeCursor(0),
10746
+ mr: makeCursor(0),
10747
+ mt: makeCursor(90),
10748
+ mb: makeCursor(90),
10749
+ tl: makeCursor(45),
10750
+ br: makeCursor(45),
10751
+ tr: makeCursor(135),
10752
+ bl: makeCursor(135)
10753
+ };
10754
+ const ROTATE_ICON_PATH = "M505.4 122.5l-92.2-62.7c-6.7-4.5-15.6-3.1-20.7 3.1l-69.2 87.4c-5.2 6.6-4.1 16.1 2.5 21.3s16.1 4.1 21.3-2.5l50.4-63.8c2.9 14.6 4.3 29.4 4.3 44.3 0 125.2-101.9 227-227 227-45.8 0-90.5-13.8-128.2-39.6l79-27.8c8-2.5 12.4-11 9.9-18.9s-11-12.4-18.9-9.9c-.3.1-.7.2-1 .4l-105.2 37c-2 .7-3.9 1.8-5.4 3.3-4.2 3.8-6 9.7-4.5 15.2l29.3 107.5c1.8 6.6 7.8 11.1 14.6 11.1 1.4 0 2.7-.2 4-.5 8.1-2.2 12.8-10.5 10.6-18.6l-18-66.4c40.3 24.6 86.6 37.5 133.8 37.5 68.3.2 133.8-27 181.9-75.4 48.4-48.1 75.5-113.7 75.4-181.9 0-14.3-1.2-28.6-3.5-42.8l59.8 40.7c7.1 4.4 16.4 2.2 20.8-4.9 4.1-6.6 2.5-15.4-3.8-20.1z";
10755
+ const CUR_R_SIZE = 18;
10756
+ const HOT_R = Math.round(CUR_R_SIZE / 2);
10757
+ const makeRotateCursor = (angleDeg) => {
10758
+ const a = ((angleDeg + 215) % 360 + 360) % 360;
10759
+ const halo = `<path d="${ROTATE_ICON_PATH}" fill="#fff" stroke="#fff" stroke-width="40" stroke-linejoin="round"/>`;
10760
+ const fg = `<path d="${ROTATE_ICON_PATH}" fill="#0f172a" stroke="#0f172a" stroke-width="6" stroke-linejoin="round"/>`;
10761
+ const svg = `<?xml version="1.0" encoding="UTF-8"?>
10717
10762
  <svg xmlns="http://www.w3.org/2000/svg" width="${CUR_R_SIZE}" height="${CUR_R_SIZE}" viewBox="0 0 512 512">
10718
10763
  <g transform="rotate(${a} 256 256)">${halo}${fg}</g>
10719
10764
  </svg>`;
10720
- const encoded = encodeURIComponent(svg).replace(/'/g, "%27").replace(/"/g, "%22");
10721
- return `url("data:image/svg+xml;utf8,${encoded}") ${HOT_R} ${HOT_R}, crosshair`;
10722
- };
10723
- const rotateCursorCache = {};
10724
- const getRotateCursor = (fabricObject) => {
10725
- let objAngle = 0;
10726
- try {
10727
- objAngle = typeof (fabricObject == null ? void 0 : fabricObject.getTotalAngle) === "function" ? fabricObject.getTotalAngle() : (fabricObject == null ? void 0 : fabricObject.angle) ?? 0;
10728
- } catch {
10729
- objAngle = 0;
10730
- }
10731
- let a = (objAngle % 360 + 360) % 360;
10732
- a = Math.round(a / 15) * 15;
10733
- if (a === 360) a = 0;
10734
- if (!rotateCursorCache[a]) rotateCursorCache[a] = makeRotateCursor(a);
10735
- return rotateCursorCache[a];
10736
- };
10765
+ const encoded = encodeURIComponent(svg).replace(/'/g, "%27").replace(/"/g, "%22");
10766
+ return `url("data:image/svg+xml;utf8,${encoded}") ${HOT_R} ${HOT_R}, crosshair`;
10767
+ };
10768
+ const rotateCursorCache = {};
10769
+ const getRotateCursor = (fabricObject) => {
10770
+ let objAngle = 0;
10771
+ try {
10772
+ objAngle = typeof (fabricObject == null ? void 0 : fabricObject.getTotalAngle) === "function" ? fabricObject.getTotalAngle() : (fabricObject == null ? void 0 : fabricObject.angle) ?? 0;
10773
+ } catch {
10774
+ objAngle = 0;
10775
+ }
10776
+ let a = (objAngle % 360 + 360) % 360;
10777
+ a = Math.round(a / 15) * 15;
10778
+ if (a === 360) a = 0;
10779
+ if (!rotateCursorCache[a]) rotateCursorCache[a] = makeRotateCursor(a);
10780
+ return rotateCursorCache[a];
10781
+ };
10782
+ const baseAngleFor = {
10783
+ ml: 0,
10784
+ mr: 0,
10785
+ mt: 90,
10786
+ mb: 90,
10787
+ tl: 45,
10788
+ br: 45,
10789
+ tr: 135,
10790
+ bl: 135
10791
+ };
10792
+ const cursorCache = {};
10793
+ const getRotatedCursor = (key, fabricObject) => {
10794
+ const base = baseAngleFor[key];
10795
+ if (base === void 0) return cursorFor[key];
10796
+ let objAngle = 0;
10797
+ try {
10798
+ objAngle = typeof (fabricObject == null ? void 0 : fabricObject.getTotalAngle) === "function" ? fabricObject.getTotalAngle() : (fabricObject == null ? void 0 : fabricObject.angle) ?? 0;
10799
+ } catch {
10800
+ objAngle = 0;
10801
+ }
10802
+ let a = ((base + objAngle) % 180 + 180) % 180;
10803
+ a = Math.round(a / 15) * 15;
10804
+ if (a === 180) a = 0;
10805
+ if (!cursorCache[a]) cursorCache[a] = makeCursor(a);
10806
+ return cursorCache[a];
10807
+ };
10808
+ const inferControlKey = (control) => {
10809
+ if (!control) return null;
10810
+ const x = Number(control.x ?? 0);
10811
+ const y = Number(control.y ?? 0);
10812
+ const atLeftRight = Math.abs(Math.abs(x) - 0.5) < 1e-3;
10813
+ const atTopBottom = Math.abs(Math.abs(y) - 0.5) < 1e-3;
10814
+ const atCenterX = Math.abs(x) < 1e-3;
10815
+ const atCenterY = Math.abs(y) < 1e-3;
10816
+ if (atLeftRight && atCenterY) return x < 0 ? "ml" : "mr";
10817
+ if (atCenterX && atTopBottom) return y < 0 ? "mt" : "mb";
10818
+ if (atLeftRight && atTopBottom) return `${y < 0 ? "t" : "b"}${x < 0 ? "l" : "r"}`;
10819
+ return null;
10820
+ };
10821
+ const installPillRenders = (controls) => {
10822
+ var _a2;
10737
10823
  const MOVE_PATHS_2D = [
10738
10824
  new Path2D("M12 3L12.3648 2.65803L12 2.26894L11.6352 2.65803L12 3ZM11.5 9C11.5 9.27614 11.7239 9.5 12 9.5C12.2761 9.5 12.5 9.27614 12.5 9H11.5ZM15.3648 5.85803L12.3648 2.65803L11.6352 3.34197L14.6352 6.54197L15.3648 5.85803ZM11.6352 2.65803L8.63523 5.85803L9.36477 6.54197L12.3648 3.34197L11.6352 2.65803ZM11.5 3V9H12.5V3H11.5Z"),
10739
10825
  new Path2D("M21 12L21.342 12.3648L21.7311 12L21.342 11.6352L21 12ZM15 11.5C14.7239 11.5 14.5 11.7239 14.5 12C14.5 12.2761 14.7239 12.5 15 12.5L15 11.5ZM18.142 15.3648L21.342 12.3648L20.658 11.6352L17.458 14.6352L18.142 15.3648ZM21.342 11.6352L18.142 8.63523L17.458 9.36477L20.658 12.3648L21.342 11.6352ZM21 11.5L15 11.5L15 12.5L21 12.5L21 11.5Z"),
10740
10826
  new Path2D("M12 21L12.3648 21.342L12 21.7311L11.6352 21.342L12 21ZM11.5 15C11.5 14.7239 11.7239 14.5 12 14.5C12.2761 14.5 12.5 14.7239 12.5 15H11.5ZM15.3648 18.142L12.3648 21.342L11.6352 20.658L14.6352 17.458L15.3648 18.142ZM11.6352 21.342L8.63523 18.142L9.36477 17.458L12.3648 20.658L11.6352 21.342ZM11.5 21V15H12.5V21H11.5Z"),
10741
10827
  new Path2D("M3 12L2.65803 12.3648L2.26894 12L2.65803 11.6352L3 12ZM9 11.5C9.27614 11.5 9.5 11.7239 9.5 12C9.5 12.2761 9.27614 12.5 9 12.5L9 11.5ZM5.85803 15.3648L2.65803 12.3648L3.34197 11.6352L6.54197 14.6352L5.85803 15.3648ZM2.65803 11.6352L5.85803 8.63523L6.54197 9.36477L3.34197 12.3648L2.65803 11.6352ZM3 11.5L9 11.5L9 12.5L3 12.5L3 11.5Z")
10742
10828
  ];
10743
- const ROTATE_PATHS_2D = [
10744
- new Path2D("M22 12l-3 3-3-3"),
10745
- new Path2D("M2 12l3-3 3 3"),
10746
- new Path2D("M19.016 14v-1.95A7.05 7.05 0 0 0 8 6.22"),
10747
- new Path2D("M16.016 17.845A7.05 7.05 0 0 1 5 12.015V10"),
10748
- new Path2D("M5 10V9"),
10749
- new Path2D("M19 15v-1")
10750
- ];
10751
- const baseAngleFor = {
10752
- ml: 0,
10753
- mr: 0,
10754
- mt: 90,
10755
- mb: 90,
10756
- tl: 45,
10757
- br: 45,
10758
- tr: 135,
10759
- bl: 135
10760
- };
10761
- const cursorCache = {};
10762
- const getRotatedCursor = (key, fabricObject) => {
10763
- const base = baseAngleFor[key];
10764
- if (base === void 0) return cursorFor[key];
10765
- let objAngle = 0;
10766
- try {
10767
- objAngle = typeof (fabricObject == null ? void 0 : fabricObject.getTotalAngle) === "function" ? fabricObject.getTotalAngle() : (fabricObject == null ? void 0 : fabricObject.angle) ?? 0;
10768
- } catch {
10769
- objAngle = 0;
10770
- }
10771
- let a = ((base + objAngle) % 180 + 180) % 180;
10772
- a = Math.round(a / 15) * 15;
10773
- if (a === 180) a = 0;
10774
- if (!cursorCache[a]) cursorCache[a] = makeCursor(a);
10775
- return cursorCache[a];
10776
- };
10777
10829
  const sides = [
10778
10830
  ["ml", "vertical"],
10779
10831
  ["mr", "vertical"],
@@ -10828,48 +10880,7 @@ try {
10828
10880
  }
10829
10881
  return cursor;
10830
10882
  };
10831
- mtr.render = (ctx, left, top, _styleOverride, fabricObject) => {
10832
- var _a3, _b2;
10833
- const action = (_b2 = (_a3 = fabricObject.canvas) == null ? void 0 : _a3._currentTransform) == null ? void 0 : _b2.action;
10834
- if (action === "drag" && fabricObject.__pixldocsDragMoved) return;
10835
- const scale = getVisualScale(fabricObject);
10836
- const p = getHoverProgress(fabricObject, "mtr");
10837
- const r = 11 * scale;
10838
- ctx.save();
10839
- ctx.beginPath();
10840
- ctx.arc(left, top, r, 0, Math.PI * 2);
10841
- ctx.closePath();
10842
- ctx.fillStyle = lerpFill(p);
10843
- ctx.strokeStyle = `rgba(15, 23, 42, ${0.18 * (1 - p)})`;
10844
- ctx.lineWidth = 0.75 * (1 - p);
10845
- ctx.shadowColor = "rgba(15, 23, 42, 0.4)";
10846
- ctx.shadowBlur = 10;
10847
- ctx.shadowOffsetY = 2;
10848
- ctx.fill();
10849
- if (p < 1) ctx.stroke();
10850
- ctx.shadowColor = "transparent";
10851
- ctx.shadowBlur = 0;
10852
- ctx.shadowOffsetY = 0;
10853
- const iconColor = p > 0.5 ? "#ffffff" : "rgba(15, 23, 42, 0.85)";
10854
- ctx.strokeStyle = iconColor;
10855
- ctx.fillStyle = iconColor;
10856
- ctx.lineJoin = "miter";
10857
- ctx.miterLimit = 4;
10858
- {
10859
- const target = r * 1.55;
10860
- const s = target / 24;
10861
- ctx.translate(left, top);
10862
- ctx.scale(s, s);
10863
- ctx.translate(-12, -12);
10864
- ctx.strokeStyle = iconColor;
10865
- ctx.lineWidth = 1 / s;
10866
- ROTATE_PATHS_2D.forEach((p2d, index) => {
10867
- ctx.lineCap = index >= 4 ? "round" : "square";
10868
- ctx.stroke(p2d);
10869
- });
10870
- }
10871
- ctx.restore();
10872
- };
10883
+ mtr.render = renderRotateHandle;
10873
10884
  }
10874
10885
  const moveActionHandler = (eventData, transform, x, y) => {
10875
10886
  const target = transform.target;
@@ -10965,6 +10976,8 @@ try {
10965
10976
  const originalControlRender = ControlProto.render;
10966
10977
  ControlProto.render = function(ctx, left, top, styleOverride, fabricObject) {
10967
10978
  const actionName = String(this.actionName ?? "");
10979
+ const isRotateHandle = actionName === "rotate" || Math.abs(Number(this.x ?? 0)) < 1e-3 && Math.abs(Number(this.y ?? 0) + 0.5) < 1e-3 && Number(this.offsetY ?? 0) < 0;
10980
+ if (isRotateHandle) return renderRotateHandle(ctx, left, top, styleOverride, fabricObject);
10968
10981
  if (actionName !== "rotate" && actionName !== "drag") {
10969
10982
  const x = Number(this.x ?? 0);
10970
10983
  const y = Number(this.y ?? 0);
@@ -10989,6 +11002,33 @@ try {
10989
11002
  };
10990
11003
  ControlProto.__pixldocsCanvaRenderFallback = true;
10991
11004
  }
11005
+ if (ControlProto && !ControlProto.__pixldocsCanvaCursorFallback) {
11006
+ const originalCursorHandler = ControlProto.cursorStyleHandler;
11007
+ ControlProto.cursorStyleHandler = function(eventData, control, fabricObject) {
11008
+ const actionName = String(this.actionName ?? (control == null ? void 0 : control.actionName) ?? "");
11009
+ const isRotateHandle = actionName === "rotate" || Math.abs(Number(this.x ?? 0)) < 1e-3 && Math.abs(Number(this.y ?? 0) + 0.5) < 1e-3 && Number(this.offsetY ?? 0) < 0;
11010
+ if (isRotateHandle) {
11011
+ const cursor = getRotateCursor(fabricObject);
11012
+ try {
11013
+ const canvas = fabricObject == null ? void 0 : fabricObject.canvas;
11014
+ if (canvas) canvas.__pixldocsGetRotateCursor = getRotateCursor;
11015
+ const upper = canvas == null ? void 0 : canvas.upperCanvasEl;
11016
+ if (upper) upper.style.cursor = cursor;
11017
+ } catch {
11018
+ }
11019
+ return cursor;
11020
+ }
11021
+ const key = inferControlKey(this);
11022
+ if (key && baseAngleFor[key] !== void 0) {
11023
+ return getRotatedCursor(key, fabricObject);
11024
+ }
11025
+ if (typeof originalCursorHandler === "function") {
11026
+ return originalCursorHandler.call(this, eventData, control, fabricObject);
11027
+ }
11028
+ return this.cursorStyle || "default";
11029
+ };
11030
+ ControlProto.__pixldocsCanvaCursorFallback = true;
11031
+ }
10992
11032
  ensureCanvaControlRenders = (obj) => {
10993
11033
  try {
10994
11034
  if (obj && obj.controls) installPillRenders(obj.controls);
@@ -24710,9 +24750,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
24710
24750
  }
24711
24751
  return svgString;
24712
24752
  }
24713
- const resolvedPackageVersion = "0.5.375";
24753
+ const resolvedPackageVersion = "0.5.377";
24714
24754
  const PACKAGE_VERSION = resolvedPackageVersion;
24715
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.375";
24755
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.377";
24716
24756
  const roundParityValue = (value) => {
24717
24757
  if (typeof value !== "number") return value;
24718
24758
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -25526,7 +25566,7 @@ class PixldocsRenderer {
25526
25566
  await this.waitForCanvasScene(container, cloned, i);
25527
25567
  }
25528
25568
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
25529
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-BDdjWeve.js");
25569
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-B8ZK-SIt.js");
25530
25570
  const prepared = preparePagesForExport(
25531
25571
  cloned.pages,
25532
25572
  canvasWidth,
@@ -27846,7 +27886,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
27846
27886
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
27847
27887
  sanitizeSvgTreeForPdf(svgToDraw);
27848
27888
  try {
27849
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-BDdjWeve.js");
27889
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-B8ZK-SIt.js");
27850
27890
  try {
27851
27891
  await logTextMeasurementDiagnostic(svgToDraw);
27852
27892
  } catch {
@@ -28246,4 +28286,4 @@ export {
28246
28286
  buildTeaserBlurFlatKeys as y,
28247
28287
  collectFontDescriptorsFromConfig as z
28248
28288
  };
28249
- //# sourceMappingURL=index-B0HRibrY.js.map
28289
+ //# sourceMappingURL=index-iKxOfMVS.js.map