@pixldocs/canvas-renderer 0.5.248 → 0.5.249

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.
@@ -9461,7 +9461,8 @@ function createShape(element) {
9461
9461
  function createText(element) {
9462
9462
  var _a2, _b2, _c, _d, _e;
9463
9463
  const overflowPolicy = element.overflowPolicy || "grow-and-push";
9464
- let text = element.text != null && element.text !== "" ? element.text : " ";
9464
+ const isEmptyText = !(element.text != null && element.text !== "");
9465
+ let text = isEmptyText ? " " : element.text;
9465
9466
  let fontSize = element.fontSize || 16;
9466
9467
  const minFontSize = element.minFontSize || 8;
9467
9468
  const maxLines = element.maxLines || 3;
@@ -9643,6 +9644,7 @@ function createText(element) {
9643
9644
  ...element.textPath && element.textPath.preset && element.textPath.preset !== "none" ? { textPath: element.textPath } : {}
9644
9645
  });
9645
9646
  textbox.__formattingEnabled = formattingEnabled;
9647
+ textbox.__pixldocsEmptyPlaceholder = isEmptyText;
9646
9648
  textbox.initDimensions();
9647
9649
  textbox.set({
9648
9650
  width: targetWidth,
@@ -11732,7 +11734,8 @@ const PageCanvas = forwardRef(
11732
11734
  const targetWidth = Math.max(1, Number(element.width) > 0 ? Number(element.width) : Number(obj.width ?? 200));
11733
11735
  const overflowPolicy = element.overflowPolicy || "grow-and-push";
11734
11736
  const splitByGrapheme = overflowPolicy === "auto-shrink" ? false : element.splitByGrapheme ?? element.wordWrap === "break-word";
11735
- let reflowText = element.text != null && element.text !== "" ? element.text : " ";
11737
+ const isEmptyReflowText = !(element.text != null && element.text !== "");
11738
+ let reflowText = isEmptyReflowText ? " " : element.text;
11736
11739
  let reflowParsedStyles = null;
11737
11740
  if (element.formattingEnabled === true) {
11738
11741
  const parsed = parseTextMarkdown(reflowText);
@@ -11757,6 +11760,7 @@ const PageCanvas = forwardRef(
11757
11760
  }
11758
11761
  obj.editable = element.formattingEnabled !== true;
11759
11762
  obj.__formattingEnabled = element.formattingEnabled === true;
11763
+ obj.__pixldocsEmptyPlaceholder = isEmptyReflowText;
11760
11764
  obj.initDimensions();
11761
11765
  if (Math.abs((obj.width ?? 0) - targetWidth) > 0.01) {
11762
11766
  obj.width = targetWidth;
@@ -14520,6 +14524,22 @@ const PageCanvas = forwardRef(
14520
14524
  return;
14521
14525
  }
14522
14526
  editingTextIdRef.current = elementId || null;
14527
+ if (target.__pixldocsEmptyPlaceholder) {
14528
+ try {
14529
+ target.__pixldocsEmptyPlaceholder = false;
14530
+ target.set("text", "");
14531
+ target.hiddenTextarea && (target.hiddenTextarea.value = "");
14532
+ target.initDimensions();
14533
+ target.setCoords();
14534
+ target.selectionStart = 0;
14535
+ target.selectionEnd = 0;
14536
+ fabricCanvas.requestRenderAll();
14537
+ } catch {
14538
+ }
14539
+ selectAllTextOnEditingEnterRef.current = null;
14540
+ setEditingText(true);
14541
+ return;
14542
+ }
14523
14543
  if (elementId && selectAllTextOnEditingEnterRef.current === elementId) {
14524
14544
  selectAllTextOnEditingEnterRef.current = null;
14525
14545
  selectAllActiveTextbox(target);
@@ -23418,9 +23438,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
23418
23438
  }
23419
23439
  return svgString;
23420
23440
  }
23421
- const resolvedPackageVersion = "0.5.248";
23441
+ const resolvedPackageVersion = "0.5.249";
23422
23442
  const PACKAGE_VERSION = resolvedPackageVersion;
23423
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.248";
23443
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.249";
23424
23444
  const roundParityValue = (value) => {
23425
23445
  if (typeof value !== "number") return value;
23426
23446
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -24234,7 +24254,7 @@ class PixldocsRenderer {
24234
24254
  await this.waitForCanvasScene(container, cloned, i);
24235
24255
  }
24236
24256
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
24237
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-C-KlhNei.js");
24257
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-D6dDBhHF.js");
24238
24258
  const prepared = preparePagesForExport(
24239
24259
  cloned.pages,
24240
24260
  canvasWidth,
@@ -26554,7 +26574,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
26554
26574
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
26555
26575
  sanitizeSvgTreeForPdf(svgToDraw);
26556
26576
  try {
26557
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-C-KlhNei.js");
26577
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-D6dDBhHF.js");
26558
26578
  try {
26559
26579
  await logTextMeasurementDiagnostic(svgToDraw);
26560
26580
  } catch {
@@ -26954,4 +26974,4 @@ export {
26954
26974
  buildTeaserBlurFlatKeys as y,
26955
26975
  collectFontDescriptorsFromConfig as z
26956
26976
  };
26957
- //# sourceMappingURL=index-BElB2Mv_.js.map
26977
+ //# sourceMappingURL=index-Bjb8trdG.js.map