@liveblocks/emails 2.13.3-emails1 → 2.13.3-emails2

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.js CHANGED
@@ -3,7 +3,7 @@ var _core = require('@liveblocks/core');
3
3
 
4
4
  // src/version.ts
5
5
  var PKG_NAME = "@liveblocks/emails";
6
- var PKG_VERSION = "2.13.3-emails1";
6
+ var PKG_VERSION = "2.13.3-emails2";
7
7
  var PKG_FORMAT = "cjs";
8
8
 
9
9
  // ../../node_modules/lib0/map.js
@@ -7492,22 +7492,14 @@ function getSerializedLexicalState({
7492
7492
  document2.destroy();
7493
7493
  return state;
7494
7494
  }
7495
- var flattenLexicalTree = (nodes) => {
7496
- let flattenNodes = [];
7497
- for (const node of nodes) {
7498
- if (["text", "linebreak", "decorator"].includes(node.group)) {
7499
- flattenNodes = [...flattenNodes, node];
7500
- } else if (node.group === "element") {
7501
- flattenNodes = [...flattenNodes, ...flattenLexicalTree(node.children)];
7502
- }
7503
- }
7504
- return flattenNodes;
7505
- };
7506
7495
  var isSerializedLineBreakNode = (node) => {
7507
7496
  return node.group === "linebreak";
7508
7497
  };
7509
7498
  var isSerializedElementNode = (node) => {
7510
- return node.group === "element";
7499
+ return node.group === "element" && node.children !== void 0;
7500
+ };
7501
+ var isEmptySerializedElementNode = (node) => {
7502
+ return isSerializedElementNode(node) && node.children.length === 0;
7511
7503
  };
7512
7504
  var isMentionNodeType = (type) => {
7513
7505
  return type === "lb-mention";
@@ -7519,6 +7511,31 @@ var isSerializedMentionNode = (node) => {
7519
7511
  const attributes = node.attributes;
7520
7512
  return isMentionNodeType(node.type) && isMentionNodeAttributeType(attributes.__type) && isMentionNodeAttributeId(attributes.__id) && isString(attributes.__userId);
7521
7513
  };
7514
+ var isFlattenedLexicalElementNodeMarker = (node) => {
7515
+ return node.group === "element-marker";
7516
+ };
7517
+ var flattenLexicalTree = (nodes) => {
7518
+ let flattenNodes = [];
7519
+ for (const node of nodes) {
7520
+ if (["text", "linebreak", "decorator"].includes(node.group) || isEmptySerializedElementNode(node)) {
7521
+ flattenNodes = [...flattenNodes, node];
7522
+ } else if (node.group === "element") {
7523
+ flattenNodes = [
7524
+ ...flattenNodes,
7525
+ {
7526
+ group: "element-marker",
7527
+ marker: "start"
7528
+ },
7529
+ ...flattenLexicalTree(node.children),
7530
+ {
7531
+ group: "element-marker",
7532
+ marker: "end"
7533
+ }
7534
+ ];
7535
+ }
7536
+ }
7537
+ return flattenNodes;
7538
+ };
7522
7539
  function findLexicalMentionNodeWithContext({
7523
7540
  root,
7524
7541
  mentionedUserId,
@@ -7541,7 +7558,7 @@ function findLexicalMentionNodeWithContext({
7541
7558
  const afterNodes = [];
7542
7559
  for (let i = mentionNodeIndex - 1; i >= 0; i--) {
7543
7560
  const node = nodes[i];
7544
- if (isSerializedLineBreakNode(node) || isSerializedElementNode(node)) {
7561
+ if (isFlattenedLexicalElementNodeMarker(node) || isSerializedLineBreakNode(node)) {
7545
7562
  break;
7546
7563
  }
7547
7564
  if (node.group === "decorator" && !isMentionNodeType(node.type)) {
@@ -7551,7 +7568,7 @@ function findLexicalMentionNodeWithContext({
7551
7568
  }
7552
7569
  for (let i = mentionNodeIndex + 1; i < nodes.length; i++) {
7553
7570
  const node = nodes[i];
7554
- if (isSerializedLineBreakNode(node) || isSerializedElementNode(node)) {
7571
+ if (isFlattenedLexicalElementNodeMarker(node) || isSerializedLineBreakNode(node)) {
7555
7572
  break;
7556
7573
  }
7557
7574
  if (node.group === "decorator" && !isMentionNodeType(node.type)) {
@@ -7820,7 +7837,7 @@ function getSerializedTiptapState({
7820
7837
  document2.destroy();
7821
7838
  return state;
7822
7839
  }
7823
- var isSerializedLineBreakNode2 = (node) => {
7840
+ var isSerializedEmptyParagraphNode = (node) => {
7824
7841
  return node.type === "paragraph" && typeof node.content === "undefined";
7825
7842
  };
7826
7843
  var isSerializedHardBreakNode = (node) => {
@@ -7835,13 +7852,27 @@ var isSerializedMentionNode2 = (node) => {
7835
7852
  var isSerializedParagraphNode = (node) => {
7836
7853
  return node.type === "paragraph" && typeof node.content !== "undefined";
7837
7854
  };
7855
+ var isFlattenedTiptapParagraphNodeMarker = (node) => {
7856
+ return node.type === "paragraph-marker";
7857
+ };
7838
7858
  var flattenTiptapTree = (nodes) => {
7839
7859
  let flattenNodes = [];
7840
7860
  for (const node of nodes) {
7841
- if (isSerializedLineBreakNode2(node) || isSerializedHardBreakNode(node) || isSerializedTextNode(node) || isSerializedMentionNode2(node)) {
7861
+ if (isSerializedEmptyParagraphNode(node) || isSerializedHardBreakNode(node) || isSerializedTextNode(node) || isSerializedMentionNode2(node)) {
7842
7862
  flattenNodes = [...flattenNodes, node];
7843
7863
  } else if (isSerializedParagraphNode(node)) {
7844
- flattenNodes = [...flattenNodes, ...flattenTiptapTree(node.content)];
7864
+ flattenNodes = [
7865
+ ...flattenNodes,
7866
+ {
7867
+ type: "paragraph-marker",
7868
+ marker: "start"
7869
+ },
7870
+ ...flattenTiptapTree(node.content),
7871
+ {
7872
+ type: "paragraph-marker",
7873
+ marker: "end"
7874
+ }
7875
+ ];
7845
7876
  }
7846
7877
  }
7847
7878
  return flattenNodes;
@@ -7855,7 +7886,7 @@ function findTiptapMentionNodeWithContext({
7855
7886
  let mentionNodeIndex = -1;
7856
7887
  for (let i = 0; i < nodes.length; i++) {
7857
7888
  const node = nodes[i];
7858
- if (isSerializedMentionNode2(node) && node.attrs.notificationId === mentionId && node.attrs.id === mentionedUserId) {
7889
+ if (!isFlattenedTiptapParagraphNodeMarker(node) && isSerializedMentionNode2(node) && node.attrs.notificationId === mentionId && node.attrs.id === mentionedUserId) {
7859
7890
  mentionNodeIndex = i;
7860
7891
  break;
7861
7892
  }
@@ -7868,14 +7899,14 @@ function findTiptapMentionNodeWithContext({
7868
7899
  const afterNodes = [];
7869
7900
  for (let i = mentionNodeIndex - 1; i >= 0; i--) {
7870
7901
  const node = nodes[i];
7871
- if (isSerializedLineBreakNode2(node) || isSerializedHardBreakNode(node) || isSerializedParagraphNode(node)) {
7902
+ if (isFlattenedTiptapParagraphNodeMarker(node) || isSerializedEmptyParagraphNode(node) || isSerializedHardBreakNode(node)) {
7872
7903
  break;
7873
7904
  }
7874
7905
  beforeNodes.unshift(node);
7875
7906
  }
7876
7907
  for (let i = mentionNodeIndex + 1; i < nodes.length; i++) {
7877
7908
  const node = nodes[i];
7878
- if (isSerializedLineBreakNode2(node) || isSerializedHardBreakNode(node) || isSerializedParagraphNode(node)) {
7909
+ if (isFlattenedTiptapParagraphNodeMarker(node) || isSerializedEmptyParagraphNode(node) || isSerializedHardBreakNode(node)) {
7879
7910
  break;
7880
7911
  }
7881
7912
  afterNodes.push(node);