prosemirror-transform 1.4.0 → 1.4.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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 1.4.1 (2022-03-31)
2
+
3
+ ### Bug fixes
4
+
5
+ `replaceRange` will now close multiple defining parent nodes when appropriate.
6
+
1
7
  ## 1.4.0 (2022-03-21)
2
8
 
3
9
  ### New features
package/dist/index.es.js CHANGED
@@ -1593,16 +1593,14 @@ Transform.prototype.replaceRange = function(from, to, slice) {
1593
1593
  if (i == slice.openStart) { break }
1594
1594
  content = node.content;
1595
1595
  }
1596
- // Back up if the node directly above openStart, or the node above
1597
- // that separated only by a non-defining textblock node, is defining.
1598
- if (preferredDepth > 0 && definesContent(leftNodes[preferredDepth - 1].type) &&
1599
- $from.node(preferredTargetIndex).type != leftNodes[preferredDepth - 1].type)
1600
- { preferredDepth -= 1; }
1601
- else if (preferredDepth >= 2 &&
1602
- leftNodes[preferredDepth - 1].isTextblock &&
1603
- definesContent(leftNodes[preferredDepth - 2].type) &&
1604
- $from.node(preferredTargetIndex).type != leftNodes[preferredDepth - 2].type)
1605
- { preferredDepth -= 2; }
1596
+
1597
+ // Back up preferredDepth to cover defining textblocks directly
1598
+ // above it, possibly skipping a non-defining textblock.
1599
+ for (var d$1 = preferredDepth - 1; d$1 >= 0; d$1--) {
1600
+ var type = leftNodes[d$1].type, def = definesContent(type);
1601
+ if (def && $from.node(preferredTargetIndex).type != type) { preferredDepth = d$1; }
1602
+ else if (def || !type.isTextblock) { break }
1603
+ }
1606
1604
 
1607
1605
  for (var j = slice.openStart; j >= 0; j--) {
1608
1606
  var openDepth = (j + preferredDepth + 1) % (slice.openStart + 1);