@pdfme/ui 3.4.1 → 3.4.2-dev.1

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.es.js CHANGED
@@ -75028,16 +75028,21 @@ const getBrowserVerticalFontAdjustments = (a, s, $, _) => {
75028
75028
  if (isTextExceedingBoxWidth(a.slice(0, $ + 1), s))
75029
75029
  return $;
75030
75030
  return null;
75031
- }, getSplitPosition = (a, s) => {
75031
+ }, isLineBreakableChar = (a) => [" ", "-", "—", "–"].includes(a), getSplitPosition = (a, s) => {
75032
75032
  const $ = getOverPosition(a, s);
75033
75033
  if ($ === null)
75034
75034
  return a.length;
75035
- let _ = $;
75036
- for (; a[_] !== " " && _ >= 0; )
75035
+ if (a[$] === " ")
75036
+ return $;
75037
+ let _ = $ - 1;
75038
+ for (; _ >= 0; ) {
75039
+ if (isLineBreakableChar(a[_]))
75040
+ return _ + 1;
75037
75041
  _--;
75038
- return _ > 0 ? _ : $;
75042
+ }
75043
+ return $;
75039
75044
  }, getSplittedLines = (a, s) => {
75040
- const $ = getSplitPosition(a, s), _ = a.substring(0, $), _e = a.substring($).trimStart();
75045
+ const $ = getSplitPosition(a, s), _ = a.substring(0, $).trimEnd(), _e = a.substring($).trimStart();
75041
75046
  return _e === a ? [a] : _e.length === 0 ? [_] : [_, ...getSplittedLines(_e, s)];
75042
75047
  }, calculateDynamicFontSize = async ({ textSchema: a, font: s, value: $, startingFontSize: _, _cache: _e }) => {
75043
75048
  const { fontSize: tt, dynamicFontSize: nt, characterSpacing: at, width: ot, height: rt, lineHeight: st = DEFAULT_LINE_HEIGHT } = a, lt = _ || tt || DEFAULT_FONT_SIZE;
@@ -75082,7 +75087,7 @@ const getBrowserVerticalFontAdjustments = (a, s, $, _) => {
75082
75087
  for (; pt(mt, ct); )
75083
75088
  ft -= FONT_SIZE_ADJUSTMENT, { totalWidthInMm: mt, totalHeightInMm: ct } = dt(ft);
75084
75089
  return ft;
75085
- }, chars$1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", lookup$1 = new Uint8Array(256);
75090
+ }, isFirefox = () => navigator.userAgent.toLowerCase().indexOf("firefox") > -1, chars$1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", lookup$1 = new Uint8Array(256);
75086
75091
  for (let a = 0; a < chars$1.length; a++)
75087
75092
  lookup$1[chars$1.charCodeAt(a)] = a;
75088
75093
  const toCharCode = (a) => a.charCodeAt(0), toHexStringOfMinLength = (a, s) => padStart$1(a.toString(16), s, "0").toUpperCase(), toHexString = (a) => toHexStringOfMinLength(a, 2), charFromCode = (a) => String.fromCharCode(a), charFromHexCode = (a) => charFromCode(parseInt(a, 16)), padStart$1 = (a, s, $) => {
@@ -81800,7 +81805,14 @@ const convertForPdfLayoutProps = ({ schema: a, pageHeight: s, applyRotateTransla
81800
81805
  backgroundColor: "transparent"
81801
81806
  }, At = document.createElement("div");
81802
81807
  if (Object.assign(At.style, vt), isEditable(_e, $)) {
81803
- if (At.contentEditable = "plaintext-only", At.tabIndex = at || 0, At.innerText = s, At.addEventListener("blur", (xt) => {
81808
+ if (isFirefox() ? (At.contentEditable = "true", At.addEventListener("keydown", (xt) => {
81809
+ xt.key === "Enter" && !xt.shiftKey && (xt.preventDefault(), document.execCommand("insertLineBreak", !1, void 0));
81810
+ }), At.addEventListener("paste", (xt) => {
81811
+ var St;
81812
+ xt.preventDefault();
81813
+ const bt = (St = xt.clipboardData) == null ? void 0 : St.getData("text"), Et = window.getSelection();
81814
+ Et != null && Et.rangeCount && (Et.deleteFromDocument(), Et.getRangeAt(0).insertNode(document.createTextNode(bt || "")), Et.collapseToEnd());
81815
+ })) : At.contentEditable = "plaintext-only", At.tabIndex = at || 0, At.innerText = s, At.addEventListener("blur", (xt) => {
81804
81816
  tt && tt(xt.target.innerText), nt && nt();
81805
81817
  }), $.dynamicFontSize && At.addEventListener("keyup", () => {
81806
81818
  setTimeout(() => {