@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.
@@ -9479,7 +9479,8 @@ function createShape(element) {
9479
9479
  function createText(element) {
9480
9480
  var _a2, _b2, _c, _d, _e;
9481
9481
  const overflowPolicy = element.overflowPolicy || "grow-and-push";
9482
- let text = element.text != null && element.text !== "" ? element.text : " ";
9482
+ const isEmptyText = !(element.text != null && element.text !== "");
9483
+ let text = isEmptyText ? " " : element.text;
9483
9484
  let fontSize = element.fontSize || 16;
9484
9485
  const minFontSize = element.minFontSize || 8;
9485
9486
  const maxLines = element.maxLines || 3;
@@ -9661,6 +9662,7 @@ function createText(element) {
9661
9662
  ...element.textPath && element.textPath.preset && element.textPath.preset !== "none" ? { textPath: element.textPath } : {}
9662
9663
  });
9663
9664
  textbox.__formattingEnabled = formattingEnabled;
9665
+ textbox.__pixldocsEmptyPlaceholder = isEmptyText;
9664
9666
  textbox.initDimensions();
9665
9667
  textbox.set({
9666
9668
  width: targetWidth,
@@ -11750,7 +11752,8 @@ const PageCanvas = react.forwardRef(
11750
11752
  const targetWidth = Math.max(1, Number(element.width) > 0 ? Number(element.width) : Number(obj.width ?? 200));
11751
11753
  const overflowPolicy = element.overflowPolicy || "grow-and-push";
11752
11754
  const splitByGrapheme = overflowPolicy === "auto-shrink" ? false : element.splitByGrapheme ?? element.wordWrap === "break-word";
11753
- let reflowText = element.text != null && element.text !== "" ? element.text : " ";
11755
+ const isEmptyReflowText = !(element.text != null && element.text !== "");
11756
+ let reflowText = isEmptyReflowText ? " " : element.text;
11754
11757
  let reflowParsedStyles = null;
11755
11758
  if (element.formattingEnabled === true) {
11756
11759
  const parsed = parseTextMarkdown(reflowText);
@@ -11775,6 +11778,7 @@ const PageCanvas = react.forwardRef(
11775
11778
  }
11776
11779
  obj.editable = element.formattingEnabled !== true;
11777
11780
  obj.__formattingEnabled = element.formattingEnabled === true;
11781
+ obj.__pixldocsEmptyPlaceholder = isEmptyReflowText;
11778
11782
  obj.initDimensions();
11779
11783
  if (Math.abs((obj.width ?? 0) - targetWidth) > 0.01) {
11780
11784
  obj.width = targetWidth;
@@ -14538,6 +14542,22 @@ const PageCanvas = react.forwardRef(
14538
14542
  return;
14539
14543
  }
14540
14544
  editingTextIdRef.current = elementId || null;
14545
+ if (target.__pixldocsEmptyPlaceholder) {
14546
+ try {
14547
+ target.__pixldocsEmptyPlaceholder = false;
14548
+ target.set("text", "");
14549
+ target.hiddenTextarea && (target.hiddenTextarea.value = "");
14550
+ target.initDimensions();
14551
+ target.setCoords();
14552
+ target.selectionStart = 0;
14553
+ target.selectionEnd = 0;
14554
+ fabricCanvas.requestRenderAll();
14555
+ } catch {
14556
+ }
14557
+ selectAllTextOnEditingEnterRef.current = null;
14558
+ setEditingText(true);
14559
+ return;
14560
+ }
14541
14561
  if (elementId && selectAllTextOnEditingEnterRef.current === elementId) {
14542
14562
  selectAllTextOnEditingEnterRef.current = null;
14543
14563
  selectAllActiveTextbox(target);
@@ -23436,9 +23456,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
23436
23456
  }
23437
23457
  return svgString;
23438
23458
  }
23439
- const resolvedPackageVersion = "0.5.248";
23459
+ const resolvedPackageVersion = "0.5.249";
23440
23460
  const PACKAGE_VERSION = resolvedPackageVersion;
23441
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.248";
23461
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.249";
23442
23462
  const roundParityValue = (value) => {
23443
23463
  if (typeof value !== "number") return value;
23444
23464
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -24252,7 +24272,7 @@ class PixldocsRenderer {
24252
24272
  await this.waitForCanvasScene(container, cloned, i);
24253
24273
  }
24254
24274
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
24255
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-C_y0i2dG.cjs"));
24275
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-Cn6AKrk7.cjs"));
24256
24276
  const prepared = preparePagesForExport(
24257
24277
  cloned.pages,
24258
24278
  canvasWidth,
@@ -26572,7 +26592,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
26572
26592
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
26573
26593
  sanitizeSvgTreeForPdf(svgToDraw);
26574
26594
  try {
26575
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-C_y0i2dG.cjs"));
26595
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-Cn6AKrk7.cjs"));
26576
26596
  try {
26577
26597
  await logTextMeasurementDiagnostic(svgToDraw);
26578
26598
  } catch {
@@ -26969,4 +26989,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
26969
26989
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
26970
26990
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
26971
26991
  exports.warmTemplateFromForm = warmTemplateFromForm;
26972
- //# sourceMappingURL=index-KuNxjXIo.cjs.map
26992
+ //# sourceMappingURL=index-ChwgcxsY.cjs.map