@tiptap/core 2.22.1 → 2.22.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"NodePos.d.ts","sourceRoot":"","sources":["../src/NodePos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAAE,IAAI,EAAE,WAAW,EAC5B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,OAAO;IAClB,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,KAAK,IAAI,GAEf;gBAEW,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAQ,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW;IAOvF,OAAO,CAAC,WAAW,CAAoB;IAEvC,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,OAAO,IAAI,WAAW,CAEzB;IAEM,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IAExC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAe3B;IAED,IAAI,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAEvC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED,IAAI,EAAE,IAAI,MAAM,CAMf;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAS3B;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAQ3B;IAED,IAAI,KAAK,IAAI,OAAO,GAAG,IAAI,CAQ1B;IAED,IAAI,QAAQ,IAAI,OAAO,EAAE,CAwBxB;IAED,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,CAE/B;IAED,IAAI,SAAS,IAAI,OAAO,GAAG,IAAI,CAI9B;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,OAAO,GAAG,IAAI;IA4BlF,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,OAAO,GAAG,IAAI;IAIxF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,EAAE,aAAa,UAAQ,GAAG,OAAO,EAAE;IAqC7G,YAAY,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAUhD"}
1
+ {"version":3,"file":"NodePos.d.ts","sourceRoot":"","sources":["../src/NodePos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAAE,IAAI,EAAE,WAAW,EAC5B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,OAAO;IAClB,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,KAAK,IAAI,GAEf;gBAEW,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAQ,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW;IAOvF,OAAO,CAAC,WAAW,CAAoB;IAEvC,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,OAAO,IAAI,WAAW,CAEzB;IAEM,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IAExC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAe3B;IAED,IAAI,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAEvC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED,IAAI,EAAE,IAAI,MAAM,CAMf;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAS3B;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,CAQ3B;IAED,IAAI,KAAK,IAAI,OAAO,GAAG,IAAI,CAQ1B;IAED,IAAI,QAAQ,IAAI,OAAO,EAAE,CA8BxB;IAED,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,CAE/B;IAED,IAAI,SAAS,IAAI,OAAO,GAAG,IAAI,CAI9B;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,OAAO,GAAG,IAAI;IA4BlF,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,OAAO,GAAG,IAAI;IAIxF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,EAAE,aAAa,UAAQ,GAAG,OAAO,EAAE;IAqC7G,YAAY,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAUhD"}
package/dist/index.cjs CHANGED
@@ -4214,6 +4214,10 @@ class NodePos {
4214
4214
  const isBlock = node.isBlock && !node.isTextblock;
4215
4215
  const isNonTextAtom = node.isAtom && !node.isText;
4216
4216
  const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);
4217
+ // Check if targetPos is within valid document range
4218
+ if (targetPos < 0 || targetPos > this.resolvedPos.doc.nodeSize - 2) {
4219
+ return;
4220
+ }
4217
4221
  const $pos = this.resolvedPos.doc.resolve(targetPos);
4218
4222
  if (!isBlock && $pos.depth <= this.depth) {
4219
4223
  return;
@@ -5366,6 +5370,30 @@ function markPasteRule(config) {
5366
5370
  });
5367
5371
  }
5368
5372
 
5373
+ function canInsertNode(state$1, nodeType) {
5374
+ const { selection } = state$1;
5375
+ const { $from } = selection;
5376
+ // Special handling for NodeSelection
5377
+ if (selection instanceof state.NodeSelection) {
5378
+ const index = $from.index();
5379
+ const parent = $from.parent;
5380
+ // Can we replace the selected node with the horizontal rule?
5381
+ return parent.canReplaceWith(index, index + 1, nodeType);
5382
+ }
5383
+ // Default: check if we can insert at the current position
5384
+ let depth = $from.depth;
5385
+ while (depth >= 0) {
5386
+ const index = $from.index(depth);
5387
+ const parent = $from.node(depth);
5388
+ const match = parent.contentMatchAt(index);
5389
+ if (match.matchType(nodeType)) {
5390
+ return true;
5391
+ }
5392
+ depth -= 1;
5393
+ }
5394
+ return false;
5395
+ }
5396
+
5369
5397
  // source: https://stackoverflow.com/a/6969486
5370
5398
  function escapeForRegEx(string) {
5371
5399
  return string.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
@@ -5461,6 +5489,7 @@ exports.NodeView = NodeView;
5461
5489
  exports.PasteRule = PasteRule;
5462
5490
  exports.Tracker = Tracker;
5463
5491
  exports.callOrReturn = callOrReturn;
5492
+ exports.canInsertNode = canInsertNode;
5464
5493
  exports.combineTransactionSteps = combineTransactionSteps;
5465
5494
  exports.createChainableState = createChainableState;
5466
5495
  exports.createDocument = createDocument;