@trafica/editor 1.0.55 → 1.0.57

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.mjs CHANGED
@@ -901,11 +901,20 @@ function patchDocument(prevDoc, nextDoc, container) {
901
901
  renderDocument(nextDoc, container);
902
902
  return;
903
903
  }
904
+ if (container.children.length !== next.length) {
905
+ renderDocument(nextDoc, container);
906
+ return;
907
+ }
904
908
  const domChildren = container.children;
905
909
  for (let i = 0; i < next.length; i++) {
906
910
  if (next[i] !== prev[i]) {
911
+ const oldEl = domChildren[i];
912
+ if (!oldEl) {
913
+ renderDocument(nextDoc, container);
914
+ return;
915
+ }
907
916
  const newEl = renderBlock(next[i], [i]);
908
- container.replaceChild(newEl, domChildren[i]);
917
+ container.replaceChild(newEl, oldEl);
909
918
  }
910
919
  }
911
920
  }
@@ -1714,15 +1723,19 @@ function serializeBlock(node, idCounts = /* @__PURE__ */ new Map(), inCell = fal
1714
1723
  const src = escapeAttr((_j = (_i = node.attrs) == null ? void 0 : _i.src) != null ? _j : "");
1715
1724
  const alt = escapeAttr((_l = (_k = node.attrs) == null ? void 0 : _k.alt) != null ? _l : "");
1716
1725
  const width = ((_m = node.attrs) == null ? void 0 : _m.width) ? ` width="${node.attrs.width}"` : "";
1717
- const align = ((_n = node.attrs) == null ? void 0 : _n.align) ? ` data-align="${node.attrs.align}"` : "";
1726
+ const alignVal = (_n = node.attrs) == null ? void 0 : _n.align;
1727
+ const alignAttr = alignVal ? ` data-align="${alignVal}"` : "";
1718
1728
  const caption = ((_o = node.attrs) == null ? void 0 : _o.caption) ? escapeHTML(node.attrs.caption) : "";
1719
1729
  const x = (_p = node.attrs) == null ? void 0 : _p.x;
1720
1730
  const y = (_q = node.attrs) == null ? void 0 : _q.y;
1721
- const posAttrs = x !== void 0 ? ` data-x="${Math.round(x)}" data-y="${Math.round(y != null ? y : 0)}" style="position:absolute;left:${Math.round(x)}px;top:${Math.round(y != null ? y : 0)}px;"` : "";
1731
+ const alignStyle = alignVal === "center" ? "display:block;margin-left:auto;margin-right:auto;text-align:center;" : alignVal === "right" ? "display:block;margin-left:auto;text-align:right;" : alignVal === "left" ? "display:block;margin-right:auto;text-align:left;" : "";
1732
+ const posStyle = x !== void 0 ? `position:absolute;left:${Math.round(x)}px;top:${Math.round(y != null ? y : 0)}px;` : "";
1733
+ const posAttrs = x !== void 0 ? ` data-x="${Math.round(x)}" data-y="${Math.round(y != null ? y : 0)}"` : "";
1734
+ const figStyle = alignStyle || posStyle ? ` style="${alignStyle}${posStyle}"` : "";
1722
1735
  if (caption) {
1723
- return `<figure${align}${posAttrs}><img src="${src}" alt="${alt}"${width} /><figcaption>${caption}</figcaption></figure>`;
1736
+ return `<figure${alignAttr}${posAttrs}${figStyle}><img src="${src}" alt="${alt}"${width} style="max-width:100%;height:auto;" /><figcaption>${caption}</figcaption></figure>`;
1724
1737
  }
1725
- return `<figure${align}${posAttrs}><img src="${src}" alt="${alt}"${width} /></figure>`;
1738
+ return `<figure${alignAttr}${posAttrs}${figStyle}><img src="${src}" alt="${alt}"${width} style="max-width:100%;height:auto;" /></figure>`;
1726
1739
  }
1727
1740
  case "horizontal_rule":
1728
1741
  return "<hr />";