@tiptap/core 2.7.4 → 2.9.0

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.
Files changed (347) hide show
  1. package/dist/{packages/core/src/CommandManager.d.ts → CommandManager.d.ts} +1 -0
  2. package/dist/CommandManager.d.ts.map +1 -0
  3. package/dist/{packages/core/src/Editor.d.ts → Editor.d.ts} +3 -2
  4. package/dist/Editor.d.ts.map +1 -0
  5. package/dist/{packages/core/src/EventEmitter.d.ts → EventEmitter.d.ts} +1 -0
  6. package/dist/EventEmitter.d.ts.map +1 -0
  7. package/dist/{packages/core/src/Extension.d.ts → Extension.d.ts} +1 -0
  8. package/dist/Extension.d.ts.map +1 -0
  9. package/dist/{packages/core/src/ExtensionManager.d.ts → ExtensionManager.d.ts} +1 -0
  10. package/dist/ExtensionManager.d.ts.map +1 -0
  11. package/dist/{packages/core/src/InputRule.d.ts → InputRule.d.ts} +1 -0
  12. package/dist/InputRule.d.ts.map +1 -0
  13. package/dist/{packages/core/src/Mark.d.ts → Mark.d.ts} +1 -0
  14. package/dist/Mark.d.ts.map +1 -0
  15. package/dist/{packages/core/src/Node.d.ts → Node.d.ts} +1 -0
  16. package/dist/Node.d.ts.map +1 -0
  17. package/dist/{packages/core/src/NodePos.d.ts → NodePos.d.ts} +1 -0
  18. package/dist/NodePos.d.ts.map +1 -0
  19. package/dist/{packages/core/src/NodeView.d.ts → NodeView.d.ts} +1 -0
  20. package/dist/NodeView.d.ts.map +1 -0
  21. package/dist/{packages/core/src/PasteRule.d.ts → PasteRule.d.ts} +1 -0
  22. package/dist/PasteRule.d.ts.map +1 -0
  23. package/dist/{packages/core/src/Tracker.d.ts → Tracker.d.ts} +1 -0
  24. package/dist/Tracker.d.ts.map +1 -0
  25. package/dist/{packages/core/src/commands → commands}/blur.d.ts +1 -0
  26. package/dist/commands/blur.d.ts.map +1 -0
  27. package/dist/{packages/core/src/commands → commands}/clearContent.d.ts +1 -0
  28. package/dist/commands/clearContent.d.ts.map +1 -0
  29. package/dist/{packages/core/src/commands → commands}/clearNodes.d.ts +1 -0
  30. package/dist/commands/clearNodes.d.ts.map +1 -0
  31. package/dist/{packages/core/src/commands → commands}/command.d.ts +1 -0
  32. package/dist/commands/command.d.ts.map +1 -0
  33. package/dist/{packages/core/src/commands → commands}/createParagraphNear.d.ts +1 -0
  34. package/dist/commands/createParagraphNear.d.ts.map +1 -0
  35. package/dist/{packages/core/src/commands → commands}/cut.d.ts +1 -0
  36. package/dist/commands/cut.d.ts.map +1 -0
  37. package/dist/{packages/core/src/commands → commands}/deleteCurrentNode.d.ts +1 -0
  38. package/dist/commands/deleteCurrentNode.d.ts.map +1 -0
  39. package/dist/{packages/core/src/commands → commands}/deleteNode.d.ts +1 -0
  40. package/dist/commands/deleteNode.d.ts.map +1 -0
  41. package/dist/{packages/core/src/commands → commands}/deleteRange.d.ts +1 -0
  42. package/dist/commands/deleteRange.d.ts.map +1 -0
  43. package/dist/{packages/core/src/commands → commands}/deleteSelection.d.ts +1 -0
  44. package/dist/commands/deleteSelection.d.ts.map +1 -0
  45. package/dist/{packages/core/src/commands → commands}/enter.d.ts +1 -0
  46. package/dist/commands/enter.d.ts.map +1 -0
  47. package/dist/{packages/core/src/commands → commands}/exitCode.d.ts +1 -0
  48. package/dist/commands/exitCode.d.ts.map +1 -0
  49. package/dist/{packages/core/src/commands → commands}/extendMarkRange.d.ts +1 -0
  50. package/dist/commands/extendMarkRange.d.ts.map +1 -0
  51. package/dist/{packages/core/src/commands → commands}/first.d.ts +1 -0
  52. package/dist/commands/first.d.ts.map +1 -0
  53. package/dist/{packages/core/src/commands → commands}/focus.d.ts +1 -0
  54. package/dist/commands/focus.d.ts.map +1 -0
  55. package/dist/{packages/core/src/commands → commands}/forEach.d.ts +1 -0
  56. package/dist/commands/forEach.d.ts.map +1 -0
  57. package/dist/{packages/core/src/commands → commands}/index.d.ts +1 -0
  58. package/dist/commands/index.d.ts.map +1 -0
  59. package/dist/{packages/core/src/commands → commands}/insertContent.d.ts +1 -0
  60. package/dist/commands/insertContent.d.ts.map +1 -0
  61. package/dist/{packages/core/src/commands → commands}/insertContentAt.d.ts +1 -0
  62. package/dist/commands/insertContentAt.d.ts.map +1 -0
  63. package/dist/{packages/core/src/commands → commands}/join.d.ts +1 -0
  64. package/dist/commands/join.d.ts.map +1 -0
  65. package/dist/{packages/core/src/commands → commands}/joinItemBackward.d.ts +1 -0
  66. package/dist/commands/joinItemBackward.d.ts.map +1 -0
  67. package/dist/{packages/core/src/commands → commands}/joinItemForward.d.ts +1 -0
  68. package/dist/commands/joinItemForward.d.ts.map +1 -0
  69. package/dist/{packages/core/src/commands → commands}/joinTextblockBackward.d.ts +1 -0
  70. package/dist/commands/joinTextblockBackward.d.ts.map +1 -0
  71. package/dist/{packages/core/src/commands → commands}/joinTextblockForward.d.ts +1 -0
  72. package/dist/commands/joinTextblockForward.d.ts.map +1 -0
  73. package/dist/{packages/core/src/commands → commands}/keyboardShortcut.d.ts +1 -0
  74. package/dist/commands/keyboardShortcut.d.ts.map +1 -0
  75. package/dist/{packages/core/src/commands → commands}/lift.d.ts +1 -0
  76. package/dist/commands/lift.d.ts.map +1 -0
  77. package/dist/{packages/core/src/commands → commands}/liftEmptyBlock.d.ts +1 -0
  78. package/dist/commands/liftEmptyBlock.d.ts.map +1 -0
  79. package/dist/{packages/core/src/commands → commands}/liftListItem.d.ts +1 -0
  80. package/dist/commands/liftListItem.d.ts.map +1 -0
  81. package/dist/{packages/core/src/commands → commands}/newlineInCode.d.ts +1 -0
  82. package/dist/commands/newlineInCode.d.ts.map +1 -0
  83. package/dist/{packages/core/src/commands → commands}/resetAttributes.d.ts +1 -0
  84. package/dist/commands/resetAttributes.d.ts.map +1 -0
  85. package/dist/{packages/core/src/commands → commands}/scrollIntoView.d.ts +1 -0
  86. package/dist/commands/scrollIntoView.d.ts.map +1 -0
  87. package/dist/{packages/core/src/commands → commands}/selectAll.d.ts +1 -0
  88. package/dist/commands/selectAll.d.ts.map +1 -0
  89. package/dist/{packages/core/src/commands → commands}/selectNodeBackward.d.ts +1 -0
  90. package/dist/commands/selectNodeBackward.d.ts.map +1 -0
  91. package/dist/{packages/core/src/commands → commands}/selectNodeForward.d.ts +1 -0
  92. package/dist/commands/selectNodeForward.d.ts.map +1 -0
  93. package/dist/{packages/core/src/commands → commands}/selectParentNode.d.ts +1 -0
  94. package/dist/commands/selectParentNode.d.ts.map +1 -0
  95. package/dist/{packages/core/src/commands → commands}/selectTextblockEnd.d.ts +1 -0
  96. package/dist/commands/selectTextblockEnd.d.ts.map +1 -0
  97. package/dist/{packages/core/src/commands → commands}/selectTextblockStart.d.ts +1 -0
  98. package/dist/commands/selectTextblockStart.d.ts.map +1 -0
  99. package/dist/{packages/core/src/commands → commands}/setContent.d.ts +1 -0
  100. package/dist/commands/setContent.d.ts.map +1 -0
  101. package/dist/{packages/core/src/commands → commands}/setMark.d.ts +1 -0
  102. package/dist/commands/setMark.d.ts.map +1 -0
  103. package/dist/{packages/core/src/commands → commands}/setMeta.d.ts +1 -0
  104. package/dist/commands/setMeta.d.ts.map +1 -0
  105. package/dist/{packages/core/src/commands → commands}/setNode.d.ts +1 -0
  106. package/dist/commands/setNode.d.ts.map +1 -0
  107. package/dist/{packages/core/src/commands → commands}/setNodeSelection.d.ts +1 -0
  108. package/dist/commands/setNodeSelection.d.ts.map +1 -0
  109. package/dist/{packages/core/src/commands → commands}/setTextSelection.d.ts +1 -0
  110. package/dist/commands/setTextSelection.d.ts.map +1 -0
  111. package/dist/{packages/core/src/commands → commands}/sinkListItem.d.ts +1 -0
  112. package/dist/commands/sinkListItem.d.ts.map +1 -0
  113. package/dist/{packages/core/src/commands → commands}/splitBlock.d.ts +1 -0
  114. package/dist/commands/splitBlock.d.ts.map +1 -0
  115. package/dist/{packages/core/src/commands → commands}/splitListItem.d.ts +1 -0
  116. package/dist/commands/splitListItem.d.ts.map +1 -0
  117. package/dist/{packages/core/src/commands → commands}/toggleList.d.ts +1 -0
  118. package/dist/commands/toggleList.d.ts.map +1 -0
  119. package/dist/{packages/core/src/commands → commands}/toggleMark.d.ts +1 -0
  120. package/dist/commands/toggleMark.d.ts.map +1 -0
  121. package/dist/{packages/core/src/commands → commands}/toggleNode.d.ts +1 -0
  122. package/dist/commands/toggleNode.d.ts.map +1 -0
  123. package/dist/{packages/core/src/commands → commands}/toggleWrap.d.ts +1 -0
  124. package/dist/commands/toggleWrap.d.ts.map +1 -0
  125. package/dist/{packages/core/src/commands → commands}/undoInputRule.d.ts +1 -0
  126. package/dist/commands/undoInputRule.d.ts.map +1 -0
  127. package/dist/{packages/core/src/commands → commands}/unsetAllMarks.d.ts +1 -0
  128. package/dist/commands/unsetAllMarks.d.ts.map +1 -0
  129. package/dist/{packages/core/src/commands → commands}/unsetMark.d.ts +1 -0
  130. package/dist/commands/unsetMark.d.ts.map +1 -0
  131. package/dist/{packages/core/src/commands → commands}/updateAttributes.d.ts +1 -0
  132. package/dist/commands/updateAttributes.d.ts.map +1 -0
  133. package/dist/{packages/core/src/commands → commands}/wrapIn.d.ts +1 -0
  134. package/dist/commands/wrapIn.d.ts.map +1 -0
  135. package/dist/{packages/core/src/commands → commands}/wrapInList.d.ts +1 -0
  136. package/dist/commands/wrapInList.d.ts.map +1 -0
  137. package/dist/{packages/core/src/extensions → extensions}/clipboardTextSerializer.d.ts +1 -0
  138. package/dist/extensions/clipboardTextSerializer.d.ts.map +1 -0
  139. package/dist/{packages/core/src/extensions → extensions}/commands.d.ts +1 -0
  140. package/dist/extensions/commands.d.ts.map +1 -0
  141. package/dist/extensions/drop.d.ts +3 -0
  142. package/dist/extensions/drop.d.ts.map +1 -0
  143. package/dist/{packages/core/src/extensions → extensions}/editable.d.ts +1 -0
  144. package/dist/extensions/editable.d.ts.map +1 -0
  145. package/dist/{packages/core/src/extensions → extensions}/focusEvents.d.ts +1 -0
  146. package/dist/extensions/focusEvents.d.ts.map +1 -0
  147. package/dist/{packages/core/src/extensions → extensions}/index.d.ts +3 -0
  148. package/dist/extensions/index.d.ts.map +1 -0
  149. package/dist/{packages/core/src/extensions → extensions}/keymap.d.ts +1 -0
  150. package/dist/extensions/keymap.d.ts.map +1 -0
  151. package/dist/extensions/paste.d.ts +3 -0
  152. package/dist/extensions/paste.d.ts.map +1 -0
  153. package/dist/{packages/core/src/extensions → extensions}/tabindex.d.ts +1 -0
  154. package/dist/extensions/tabindex.d.ts.map +1 -0
  155. package/dist/{packages/core/src/helpers → helpers}/combineTransactionSteps.d.ts +1 -0
  156. package/dist/helpers/combineTransactionSteps.d.ts.map +1 -0
  157. package/dist/{packages/core/src/helpers → helpers}/createChainableState.d.ts +1 -0
  158. package/dist/helpers/createChainableState.d.ts.map +1 -0
  159. package/dist/{packages/core/src/helpers → helpers}/createDocument.d.ts +1 -0
  160. package/dist/helpers/createDocument.d.ts.map +1 -0
  161. package/dist/{packages/core/src/helpers → helpers}/createNodeFromContent.d.ts +1 -0
  162. package/dist/helpers/createNodeFromContent.d.ts.map +1 -0
  163. package/dist/{packages/core/src/helpers → helpers}/defaultBlockAt.d.ts +1 -0
  164. package/dist/helpers/defaultBlockAt.d.ts.map +1 -0
  165. package/dist/{packages/core/src/helpers → helpers}/findChildren.d.ts +1 -0
  166. package/dist/helpers/findChildren.d.ts.map +1 -0
  167. package/dist/{packages/core/src/helpers → helpers}/findChildrenInRange.d.ts +1 -0
  168. package/dist/helpers/findChildrenInRange.d.ts.map +1 -0
  169. package/dist/{packages/core/src/helpers → helpers}/findParentNode.d.ts +1 -0
  170. package/dist/helpers/findParentNode.d.ts.map +1 -0
  171. package/dist/{packages/core/src/helpers → helpers}/findParentNodeClosestToPos.d.ts +1 -0
  172. package/dist/helpers/findParentNodeClosestToPos.d.ts.map +1 -0
  173. package/dist/{packages/core/src/helpers → helpers}/generateHTML.d.ts +1 -0
  174. package/dist/helpers/generateHTML.d.ts.map +1 -0
  175. package/dist/{packages/core/src/helpers → helpers}/generateJSON.d.ts +1 -0
  176. package/dist/helpers/generateJSON.d.ts.map +1 -0
  177. package/dist/{packages/core/src/helpers → helpers}/generateText.d.ts +1 -0
  178. package/dist/helpers/generateText.d.ts.map +1 -0
  179. package/dist/{packages/core/src/helpers → helpers}/getAttributes.d.ts +1 -0
  180. package/dist/helpers/getAttributes.d.ts.map +1 -0
  181. package/dist/{packages/core/src/helpers → helpers}/getAttributesFromExtensions.d.ts +1 -0
  182. package/dist/helpers/getAttributesFromExtensions.d.ts.map +1 -0
  183. package/dist/{packages/core/src/helpers → helpers}/getChangedRanges.d.ts +1 -0
  184. package/dist/helpers/getChangedRanges.d.ts.map +1 -0
  185. package/dist/{packages/core/src/helpers → helpers}/getDebugJSON.d.ts +1 -0
  186. package/dist/helpers/getDebugJSON.d.ts.map +1 -0
  187. package/dist/{packages/core/src/helpers → helpers}/getExtensionField.d.ts +1 -0
  188. package/dist/helpers/getExtensionField.d.ts.map +1 -0
  189. package/dist/{packages/core/src/helpers → helpers}/getHTMLFromFragment.d.ts +1 -0
  190. package/dist/helpers/getHTMLFromFragment.d.ts.map +1 -0
  191. package/dist/{packages/core/src/helpers → helpers}/getMarkAttributes.d.ts +1 -0
  192. package/dist/helpers/getMarkAttributes.d.ts.map +1 -0
  193. package/dist/{packages/core/src/helpers → helpers}/getMarkRange.d.ts +1 -0
  194. package/dist/helpers/getMarkRange.d.ts.map +1 -0
  195. package/dist/{packages/core/src/helpers → helpers}/getMarkType.d.ts +1 -0
  196. package/dist/helpers/getMarkType.d.ts.map +1 -0
  197. package/dist/{packages/core/src/helpers → helpers}/getMarksBetween.d.ts +1 -0
  198. package/dist/helpers/getMarksBetween.d.ts.map +1 -0
  199. package/dist/{packages/core/src/helpers → helpers}/getNodeAtPosition.d.ts +1 -0
  200. package/dist/helpers/getNodeAtPosition.d.ts.map +1 -0
  201. package/dist/{packages/core/src/helpers → helpers}/getNodeAttributes.d.ts +1 -0
  202. package/dist/helpers/getNodeAttributes.d.ts.map +1 -0
  203. package/dist/{packages/core/src/helpers → helpers}/getNodeType.d.ts +1 -0
  204. package/dist/helpers/getNodeType.d.ts.map +1 -0
  205. package/dist/{packages/core/src/helpers → helpers}/getRenderedAttributes.d.ts +1 -0
  206. package/dist/helpers/getRenderedAttributes.d.ts.map +1 -0
  207. package/dist/{packages/core/src/helpers → helpers}/getSchema.d.ts +1 -0
  208. package/dist/helpers/getSchema.d.ts.map +1 -0
  209. package/dist/{packages/core/src/helpers → helpers}/getSchemaByResolvedExtensions.d.ts +1 -0
  210. package/dist/helpers/getSchemaByResolvedExtensions.d.ts.map +1 -0
  211. package/dist/{packages/core/src/helpers → helpers}/getSchemaTypeByName.d.ts +1 -0
  212. package/dist/helpers/getSchemaTypeByName.d.ts.map +1 -0
  213. package/dist/{packages/core/src/helpers → helpers}/getSchemaTypeNameByName.d.ts +1 -0
  214. package/dist/helpers/getSchemaTypeNameByName.d.ts.map +1 -0
  215. package/dist/{packages/core/src/helpers → helpers}/getSplittedAttributes.d.ts +1 -0
  216. package/dist/helpers/getSplittedAttributes.d.ts.map +1 -0
  217. package/dist/{packages/core/src/helpers → helpers}/getText.d.ts +1 -0
  218. package/dist/helpers/getText.d.ts.map +1 -0
  219. package/dist/{packages/core/src/helpers → helpers}/getTextBetween.d.ts +1 -0
  220. package/dist/helpers/getTextBetween.d.ts.map +1 -0
  221. package/dist/{packages/core/src/helpers → helpers}/getTextContentFromNodes.d.ts +1 -0
  222. package/dist/helpers/getTextContentFromNodes.d.ts.map +1 -0
  223. package/dist/{packages/core/src/helpers → helpers}/getTextSerializersFromSchema.d.ts +1 -0
  224. package/dist/helpers/getTextSerializersFromSchema.d.ts.map +1 -0
  225. package/dist/{packages/core/src/helpers → helpers}/index.d.ts +1 -0
  226. package/dist/helpers/index.d.ts.map +1 -0
  227. package/dist/{packages/core/src/helpers → helpers}/injectExtensionAttributesToParseRule.d.ts +1 -0
  228. package/dist/helpers/injectExtensionAttributesToParseRule.d.ts.map +1 -0
  229. package/dist/{packages/core/src/helpers → helpers}/isActive.d.ts +1 -0
  230. package/dist/helpers/isActive.d.ts.map +1 -0
  231. package/dist/{packages/core/src/helpers → helpers}/isAtEndOfNode.d.ts +1 -0
  232. package/dist/helpers/isAtEndOfNode.d.ts.map +1 -0
  233. package/dist/{packages/core/src/helpers → helpers}/isAtStartOfNode.d.ts +1 -0
  234. package/dist/helpers/isAtStartOfNode.d.ts.map +1 -0
  235. package/dist/{packages/core/src/helpers → helpers}/isExtensionRulesEnabled.d.ts +1 -0
  236. package/dist/helpers/isExtensionRulesEnabled.d.ts.map +1 -0
  237. package/dist/{packages/core/src/helpers → helpers}/isList.d.ts +1 -0
  238. package/dist/helpers/isList.d.ts.map +1 -0
  239. package/dist/{packages/core/src/helpers → helpers}/isMarkActive.d.ts +1 -0
  240. package/dist/helpers/isMarkActive.d.ts.map +1 -0
  241. package/dist/{packages/core/src/helpers → helpers}/isNodeActive.d.ts +1 -0
  242. package/dist/helpers/isNodeActive.d.ts.map +1 -0
  243. package/dist/{packages/core/src/helpers → helpers}/isNodeEmpty.d.ts +1 -0
  244. package/dist/helpers/isNodeEmpty.d.ts.map +1 -0
  245. package/dist/{packages/core/src/helpers → helpers}/isNodeSelection.d.ts +1 -0
  246. package/dist/helpers/isNodeSelection.d.ts.map +1 -0
  247. package/dist/{packages/core/src/helpers → helpers}/isTextSelection.d.ts +1 -0
  248. package/dist/helpers/isTextSelection.d.ts.map +1 -0
  249. package/dist/{packages/core/src/helpers → helpers}/posToDOMRect.d.ts +1 -0
  250. package/dist/helpers/posToDOMRect.d.ts.map +1 -0
  251. package/dist/{packages/core/src/helpers → helpers}/resolveFocusPosition.d.ts +1 -0
  252. package/dist/helpers/resolveFocusPosition.d.ts.map +1 -0
  253. package/dist/{packages/core/src/helpers → helpers}/selectionToInsertionEnd.d.ts +1 -0
  254. package/dist/helpers/selectionToInsertionEnd.d.ts.map +1 -0
  255. package/dist/{packages/core/src/helpers → helpers}/splitExtensions.d.ts +1 -0
  256. package/dist/helpers/splitExtensions.d.ts.map +1 -0
  257. package/dist/index.cjs +206 -161
  258. package/dist/index.cjs.map +1 -1
  259. package/dist/{packages/core/src/index.d.ts → index.d.ts} +1 -2
  260. package/dist/index.d.ts.map +1 -0
  261. package/dist/index.js +207 -160
  262. package/dist/index.js.map +1 -1
  263. package/dist/index.umd.js +206 -161
  264. package/dist/index.umd.js.map +1 -1
  265. package/dist/{packages/core/src/inputRules → inputRules}/index.d.ts +1 -0
  266. package/dist/inputRules/index.d.ts.map +1 -0
  267. package/dist/{packages/core/src/inputRules → inputRules}/markInputRule.d.ts +1 -0
  268. package/dist/inputRules/markInputRule.d.ts.map +1 -0
  269. package/dist/{packages/core/src/inputRules → inputRules}/nodeInputRule.d.ts +1 -0
  270. package/dist/inputRules/nodeInputRule.d.ts.map +1 -0
  271. package/dist/{packages/core/src/inputRules → inputRules}/textInputRule.d.ts +1 -0
  272. package/dist/inputRules/textInputRule.d.ts.map +1 -0
  273. package/dist/{packages/core/src/inputRules → inputRules}/textblockTypeInputRule.d.ts +1 -0
  274. package/dist/inputRules/textblockTypeInputRule.d.ts.map +1 -0
  275. package/dist/{packages/core/src/inputRules → inputRules}/wrappingInputRule.d.ts +1 -0
  276. package/dist/inputRules/wrappingInputRule.d.ts.map +1 -0
  277. package/dist/{packages/core/src/pasteRules → pasteRules}/index.d.ts +1 -0
  278. package/dist/pasteRules/index.d.ts.map +1 -0
  279. package/dist/{packages/core/src/pasteRules → pasteRules}/markPasteRule.d.ts +1 -0
  280. package/dist/pasteRules/markPasteRule.d.ts.map +1 -0
  281. package/dist/{packages/core/src/pasteRules → pasteRules}/nodePasteRule.d.ts +1 -0
  282. package/dist/pasteRules/nodePasteRule.d.ts.map +1 -0
  283. package/dist/{packages/core/src/pasteRules → pasteRules}/textPasteRule.d.ts +1 -0
  284. package/dist/pasteRules/textPasteRule.d.ts.map +1 -0
  285. package/dist/{packages/core/src/style.d.ts → style.d.ts} +1 -0
  286. package/dist/style.d.ts.map +1 -0
  287. package/dist/{packages/core/src/types.d.ts → types.d.ts} +60 -4
  288. package/dist/types.d.ts.map +1 -0
  289. package/dist/{packages/core/src/utilities → utilities}/callOrReturn.d.ts +1 -0
  290. package/dist/utilities/callOrReturn.d.ts.map +1 -0
  291. package/dist/{packages/core/src/utilities → utilities}/createStyleTag.d.ts +1 -0
  292. package/dist/utilities/createStyleTag.d.ts.map +1 -0
  293. package/dist/{packages/core/src/utilities → utilities}/deleteProps.d.ts +1 -0
  294. package/dist/utilities/deleteProps.d.ts.map +1 -0
  295. package/dist/{packages/core/src/utilities → utilities}/elementFromString.d.ts +1 -0
  296. package/dist/utilities/elementFromString.d.ts.map +1 -0
  297. package/dist/{packages/core/src/utilities → utilities}/escapeForRegEx.d.ts +1 -0
  298. package/dist/utilities/escapeForRegEx.d.ts.map +1 -0
  299. package/dist/{packages/core/src/utilities → utilities}/findDuplicates.d.ts +1 -0
  300. package/dist/utilities/findDuplicates.d.ts.map +1 -0
  301. package/dist/{packages/core/src/utilities → utilities}/fromString.d.ts +1 -0
  302. package/dist/utilities/fromString.d.ts.map +1 -0
  303. package/dist/{packages/core/src/utilities → utilities}/index.d.ts +1 -0
  304. package/dist/utilities/index.d.ts.map +1 -0
  305. package/dist/{packages/core/src/utilities → utilities}/isAndroid.d.ts +1 -0
  306. package/dist/utilities/isAndroid.d.ts.map +1 -0
  307. package/dist/{packages/core/src/utilities → utilities}/isEmptyObject.d.ts +1 -0
  308. package/dist/utilities/isEmptyObject.d.ts.map +1 -0
  309. package/dist/{packages/core/src/utilities → utilities}/isFunction.d.ts +1 -0
  310. package/dist/utilities/isFunction.d.ts.map +1 -0
  311. package/dist/{packages/core/src/utilities → utilities}/isMacOS.d.ts +1 -0
  312. package/dist/utilities/isMacOS.d.ts.map +1 -0
  313. package/dist/{packages/core/src/utilities → utilities}/isNumber.d.ts +1 -0
  314. package/dist/utilities/isNumber.d.ts.map +1 -0
  315. package/dist/{packages/core/src/utilities → utilities}/isPlainObject.d.ts +1 -0
  316. package/dist/utilities/isPlainObject.d.ts.map +1 -0
  317. package/dist/{packages/core/src/utilities → utilities}/isRegExp.d.ts +1 -0
  318. package/dist/utilities/isRegExp.d.ts.map +1 -0
  319. package/dist/{packages/core/src/utilities → utilities}/isString.d.ts +1 -0
  320. package/dist/utilities/isString.d.ts.map +1 -0
  321. package/dist/{packages/core/src/utilities → utilities}/isiOS.d.ts +1 -0
  322. package/dist/utilities/isiOS.d.ts.map +1 -0
  323. package/dist/{packages/core/src/utilities → utilities}/mergeAttributes.d.ts +1 -0
  324. package/dist/utilities/mergeAttributes.d.ts.map +1 -0
  325. package/dist/{packages/core/src/utilities → utilities}/mergeDeep.d.ts +1 -0
  326. package/dist/utilities/mergeDeep.d.ts.map +1 -0
  327. package/dist/{packages/core/src/utilities → utilities}/minMax.d.ts +1 -0
  328. package/dist/utilities/minMax.d.ts.map +1 -0
  329. package/dist/{packages/core/src/utilities → utilities}/objectIncludes.d.ts +1 -0
  330. package/dist/utilities/objectIncludes.d.ts.map +1 -0
  331. package/dist/{packages/core/src/utilities → utilities}/removeDuplicates.d.ts +1 -0
  332. package/dist/utilities/removeDuplicates.d.ts.map +1 -0
  333. package/package.json +4 -4
  334. package/src/Editor.ts +35 -17
  335. package/src/ExtensionManager.ts +2 -1
  336. package/src/NodePos.ts +9 -4
  337. package/src/commands/insertContentAt.ts +4 -2
  338. package/src/extensions/drop.ts +26 -0
  339. package/src/extensions/index.ts +2 -0
  340. package/src/extensions/paste.ts +26 -0
  341. package/src/helpers/getMarkRange.ts +6 -3
  342. package/src/index.ts +0 -2
  343. package/src/types.ts +53 -3
  344. package/dist/packages/core/src/plugins/DropPlugin.d.ts +0 -3
  345. package/dist/packages/core/src/plugins/PastePlugin.d.ts +0 -3
  346. package/src/plugins/DropPlugin.ts +0 -14
  347. package/src/plugins/PastePlugin.ts +0 -14
@@ -11,8 +11,6 @@ export * from './NodePos.js';
11
11
  export * from './NodeView.js';
12
12
  export * from './PasteRule.js';
13
13
  export * from './pasteRules/index.js';
14
- export * from './plugins/DropPlugin.js';
15
- export * from './plugins/PastePlugin.js';
16
14
  export * from './Tracker.js';
17
15
  export * from './types.js';
18
16
  export * from './utilities/index.js';
@@ -24,3 +22,4 @@ export interface NodeConfig<Options = any, Storage = any> {
24
22
  }
25
23
  export interface MarkConfig<Options = any, Storage = any> {
26
24
  }
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AAGpC,MAAM,WAAW,QAAQ,CAAC,UAAU,GAAG,GAAG;CAAI;AAG9C,MAAM,WAAW,eAAe,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;CAAI;AAGjE,MAAM,WAAW,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;CAAI;AAG5D,MAAM,WAAW,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;CAAI"}
package/dist/index.js CHANGED
@@ -779,6 +779,123 @@ function inputRulesPlugin(props) {
779
779
  return plugin;
780
780
  }
781
781
 
782
+ // see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts
783
+ function getType(value) {
784
+ return Object.prototype.toString.call(value).slice(8, -1);
785
+ }
786
+ function isPlainObject(value) {
787
+ if (getType(value) !== 'Object') {
788
+ return false;
789
+ }
790
+ return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
791
+ }
792
+
793
+ function mergeDeep(target, source) {
794
+ const output = { ...target };
795
+ if (isPlainObject(target) && isPlainObject(source)) {
796
+ Object.keys(source).forEach(key => {
797
+ if (isPlainObject(source[key]) && isPlainObject(target[key])) {
798
+ output[key] = mergeDeep(target[key], source[key]);
799
+ }
800
+ else {
801
+ output[key] = source[key];
802
+ }
803
+ });
804
+ }
805
+ return output;
806
+ }
807
+
808
+ /**
809
+ * The Mark class is used to create custom mark extensions.
810
+ * @see https://tiptap.dev/api/extensions#create-a-new-extension
811
+ */
812
+ class Mark {
813
+ constructor(config = {}) {
814
+ this.type = 'mark';
815
+ this.name = 'mark';
816
+ this.parent = null;
817
+ this.child = null;
818
+ this.config = {
819
+ name: this.name,
820
+ defaultOptions: {},
821
+ };
822
+ this.config = {
823
+ ...this.config,
824
+ ...config,
825
+ };
826
+ this.name = this.config.name;
827
+ if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
828
+ console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
829
+ }
830
+ // TODO: remove `addOptions` fallback
831
+ this.options = this.config.defaultOptions;
832
+ if (this.config.addOptions) {
833
+ this.options = callOrReturn(getExtensionField(this, 'addOptions', {
834
+ name: this.name,
835
+ }));
836
+ }
837
+ this.storage = callOrReturn(getExtensionField(this, 'addStorage', {
838
+ name: this.name,
839
+ options: this.options,
840
+ })) || {};
841
+ }
842
+ static create(config = {}) {
843
+ return new Mark(config);
844
+ }
845
+ configure(options = {}) {
846
+ // return a new instance so we can use the same extension
847
+ // with different calls of `configure`
848
+ const extension = this.extend({
849
+ ...this.config,
850
+ addOptions: () => {
851
+ return mergeDeep(this.options, options);
852
+ },
853
+ });
854
+ // Always preserve the current name
855
+ extension.name = this.name;
856
+ // Set the parent to be our parent
857
+ extension.parent = this.parent;
858
+ return extension;
859
+ }
860
+ extend(extendedConfig = {}) {
861
+ const extension = new Mark(extendedConfig);
862
+ extension.parent = this;
863
+ this.child = extension;
864
+ extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
865
+ if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
866
+ console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
867
+ }
868
+ extension.options = callOrReturn(getExtensionField(extension, 'addOptions', {
869
+ name: extension.name,
870
+ }));
871
+ extension.storage = callOrReturn(getExtensionField(extension, 'addStorage', {
872
+ name: extension.name,
873
+ options: extension.options,
874
+ }));
875
+ return extension;
876
+ }
877
+ static handleExit({ editor, mark }) {
878
+ const { tr } = editor.state;
879
+ const currentPos = editor.state.selection.$from;
880
+ const isAtEnd = currentPos.pos === currentPos.end();
881
+ if (isAtEnd) {
882
+ const currentMarks = currentPos.marks();
883
+ const isInMark = !!currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
884
+ if (!isInMark) {
885
+ return false;
886
+ }
887
+ const removeMark = currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
888
+ if (removeMark) {
889
+ tr.removeStoredMark(removeMark);
890
+ }
891
+ tr.insertText(' ', currentPos.pos);
892
+ editor.view.dispatch(tr);
893
+ return true;
894
+ }
895
+ return false;
896
+ }
897
+ }
898
+
782
899
  function isNumber(value) {
783
900
  return typeof value === 'number';
784
901
  }
@@ -1238,32 +1355,6 @@ class ExtensionManager {
1238
1355
  }
1239
1356
  }
1240
1357
 
1241
- // see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts
1242
- function getType(value) {
1243
- return Object.prototype.toString.call(value).slice(8, -1);
1244
- }
1245
- function isPlainObject(value) {
1246
- if (getType(value) !== 'Object') {
1247
- return false;
1248
- }
1249
- return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
1250
- }
1251
-
1252
- function mergeDeep(target, source) {
1253
- const output = { ...target };
1254
- if (isPlainObject(target) && isPlainObject(source)) {
1255
- Object.keys(source).forEach(key => {
1256
- if (isPlainObject(source[key]) && isPlainObject(target[key])) {
1257
- output[key] = mergeDeep(target[key], source[key]);
1258
- }
1259
- else {
1260
- output[key] = source[key];
1261
- }
1262
- });
1263
- }
1264
- return output;
1265
- }
1266
-
1267
1358
  /**
1268
1359
  * The Extension class is the base class for all extensions.
1269
1360
  * @see https://tiptap.dev/api/extensions#create-a-new-extension
@@ -1577,12 +1668,16 @@ function getMarkRange($pos, type, attributes = {}) {
1577
1668
  return;
1578
1669
  }
1579
1670
  let start = $pos.parent.childAfter($pos.parentOffset);
1580
- if ($pos.parentOffset === start.offset && start.offset !== 0) {
1671
+ // If the cursor is at the start of a text node that does not have the mark, look backward
1672
+ if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
1581
1673
  start = $pos.parent.childBefore($pos.parentOffset);
1582
1674
  }
1583
- if (!start.node) {
1675
+ // If there is no text node with the mark even backward, return undefined
1676
+ if (!start.node || !start.node.marks.some(mark => mark.type === type)) {
1584
1677
  return;
1585
1678
  }
1679
+ // We now know that the cursor is either at the start, middle or end of a text node with the specified mark
1680
+ // so we can look it up on the targeted mark
1586
1681
  const mark = findMarkInSet([...start.node.marks], type, attributes);
1587
1682
  if (!mark) {
1588
1683
  return;
@@ -1872,7 +1967,7 @@ const insertContentAt = (position, value, options) => ({ tr, dispatch, editor })
1872
1967
  var _a;
1873
1968
  if (dispatch) {
1874
1969
  options = {
1875
- parseOptions: {},
1970
+ parseOptions: editor.options.parseOptions,
1876
1971
  updateSelection: true,
1877
1972
  applyInputRules: false,
1878
1973
  applyPasteRules: false,
@@ -1893,7 +1988,9 @@ const insertContentAt = (position, value, options) => ({ tr, dispatch, editor })
1893
1988
  editor,
1894
1989
  error: e,
1895
1990
  disableCollaboration: () => {
1896
- console.error('[tiptap error]: Unable to disable collaboration at this point in time');
1991
+ if (editor.storage.collaboration) {
1992
+ editor.storage.collaboration.isDisabled = true;
1993
+ }
1897
1994
  },
1898
1995
  });
1899
1996
  return false;
@@ -3547,6 +3644,27 @@ const Commands = Extension.create({
3547
3644
  },
3548
3645
  });
3549
3646
 
3647
+ const Drop = Extension.create({
3648
+ name: 'drop',
3649
+ addProseMirrorPlugins() {
3650
+ return [
3651
+ new Plugin({
3652
+ key: new PluginKey('tiptapDrop'),
3653
+ props: {
3654
+ handleDrop: (_, e, slice, moved) => {
3655
+ this.editor.emit('drop', {
3656
+ editor: this.editor,
3657
+ event: e,
3658
+ slice,
3659
+ moved,
3660
+ });
3661
+ },
3662
+ },
3663
+ }),
3664
+ ];
3665
+ },
3666
+ });
3667
+
3550
3668
  const Editable = Extension.create({
3551
3669
  name: 'editable',
3552
3670
  addProseMirrorPlugins() {
@@ -3711,6 +3829,26 @@ const Keymap = Extension.create({
3711
3829
  },
3712
3830
  });
3713
3831
 
3832
+ const Paste = Extension.create({
3833
+ name: 'paste',
3834
+ addProseMirrorPlugins() {
3835
+ return [
3836
+ new Plugin({
3837
+ key: new PluginKey('tiptapPaste'),
3838
+ props: {
3839
+ handlePaste: (_view, e, slice) => {
3840
+ this.editor.emit('paste', {
3841
+ editor: this.editor,
3842
+ event: e,
3843
+ slice,
3844
+ });
3845
+ },
3846
+ },
3847
+ }),
3848
+ ];
3849
+ },
3850
+ });
3851
+
3714
3852
  const Tabindex = Extension.create({
3715
3853
  name: 'tabindex',
3716
3854
  addProseMirrorPlugins() {
@@ -3729,9 +3867,11 @@ var index = /*#__PURE__*/Object.freeze({
3729
3867
  __proto__: null,
3730
3868
  ClipboardTextSerializer: ClipboardTextSerializer,
3731
3869
  Commands: Commands,
3870
+ Drop: Drop,
3732
3871
  Editable: Editable,
3733
3872
  FocusEvents: FocusEvents,
3734
3873
  Keymap: Keymap,
3874
+ Paste: Paste,
3735
3875
  Tabindex: Tabindex
3736
3876
  });
3737
3877
 
@@ -3829,7 +3969,8 @@ class NodePos {
3829
3969
  const children = [];
3830
3970
  this.node.content.forEach((node, offset) => {
3831
3971
  const isBlock = node.isBlock && !node.isTextblock;
3832
- const targetPos = this.pos + offset + 1;
3972
+ const isNonTextAtom = node.isAtom && !node.isText;
3973
+ const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);
3833
3974
  const $pos = this.resolvedPos.doc.resolve(targetPos);
3834
3975
  if (!isBlock && $pos.depth <= this.depth) {
3835
3976
  return;
@@ -3905,34 +4046,15 @@ class NodePos {
3905
4046
  return nodes;
3906
4047
  }
3907
4048
  setAttribute(attributes) {
3908
- const oldSelection = this.editor.state.selection;
3909
- this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name, attributes).setTextSelection(oldSelection.from)
3910
- .run();
4049
+ const { tr } = this.editor.state;
4050
+ tr.setNodeMarkup(this.from, undefined, {
4051
+ ...this.node.attrs,
4052
+ ...attributes,
4053
+ });
4054
+ this.editor.view.dispatch(tr);
3911
4055
  }
3912
4056
  }
3913
4057
 
3914
- const DropPlugin = (onDrop) => {
3915
- return new Plugin({
3916
- key: new PluginKey('tiptapDrop'),
3917
- props: {
3918
- handleDrop: (_, e, slice, moved) => {
3919
- onDrop(e, slice, moved);
3920
- },
3921
- },
3922
- });
3923
- };
3924
-
3925
- const PastePlugin = (onPaste) => {
3926
- return new Plugin({
3927
- key: new PluginKey('tiptapPaste'),
3928
- props: {
3929
- handlePaste: (_view, e, slice) => {
3930
- onPaste(e, slice);
3931
- },
3932
- },
3933
- });
3934
- };
3935
-
3936
4058
  const style = `.ProseMirror {
3937
4059
  position: relative;
3938
4060
  }
@@ -4078,12 +4200,8 @@ class Editor extends EventEmitter {
4078
4200
  this.on('focus', this.options.onFocus);
4079
4201
  this.on('blur', this.options.onBlur);
4080
4202
  this.on('destroy', this.options.onDestroy);
4081
- if (this.options.onPaste) {
4082
- this.registerPlugin(PastePlugin(this.options.onPaste));
4083
- }
4084
- if (this.options.onDrop) {
4085
- this.registerPlugin(DropPlugin(this.options.onDrop));
4086
- }
4203
+ this.on('drop', ({ event, slice, moved }) => this.options.onDrop(event, slice, moved));
4204
+ this.on('paste', ({ event, slice }) => this.options.onPaste(event, slice));
4087
4205
  window.setTimeout(() => {
4088
4206
  if (this.isDestroyed) {
4089
4207
  return;
@@ -4185,18 +4303,27 @@ class Editor extends EventEmitter {
4185
4303
  /**
4186
4304
  * Unregister a ProseMirror plugin.
4187
4305
  *
4188
- * @param nameOrPluginKey The plugins name
4306
+ * @param nameOrPluginKeyToRemove The plugins name
4189
4307
  * @returns The new editor state or undefined if the editor is destroyed
4190
4308
  */
4191
- unregisterPlugin(nameOrPluginKey) {
4309
+ unregisterPlugin(nameOrPluginKeyToRemove) {
4192
4310
  if (this.isDestroyed) {
4193
4311
  return undefined;
4194
4312
  }
4195
- // @ts-ignore
4196
- const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
4197
- const state = this.state.reconfigure({
4313
+ const prevPlugins = this.state.plugins;
4314
+ let plugins = prevPlugins;
4315
+ [].concat(nameOrPluginKeyToRemove).forEach(nameOrPluginKey => {
4316
+ // @ts-ignore
4317
+ const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
4198
4318
  // @ts-ignore
4199
- plugins: this.state.plugins.filter(plugin => !plugin.key.startsWith(name)),
4319
+ plugins = prevPlugins.filter(plugin => !plugin.key.startsWith(name));
4320
+ });
4321
+ if (prevPlugins.length === plugins.length) {
4322
+ // No plugin was removed, so we don’t need to update the state
4323
+ return undefined;
4324
+ }
4325
+ const state = this.state.reconfigure({
4326
+ plugins,
4200
4327
  });
4201
4328
  this.view.updateState(state);
4202
4329
  return state;
@@ -4215,6 +4342,8 @@ class Editor extends EventEmitter {
4215
4342
  FocusEvents,
4216
4343
  Keymap,
4217
4344
  Tabindex,
4345
+ Drop,
4346
+ Paste,
4218
4347
  ].filter(ext => {
4219
4348
  if (typeof this.options.enableCoreExtensions === 'object') {
4220
4349
  return this.options.enableCoreExtensions[ext.name] !== false;
@@ -4257,6 +4386,9 @@ class Editor extends EventEmitter {
4257
4386
  editor: this,
4258
4387
  error: e,
4259
4388
  disableCollaboration: () => {
4389
+ if (this.storage.collaboration) {
4390
+ this.storage.collaboration.isDisabled = true;
4391
+ }
4260
4392
  // To avoid syncing back invalid content, reinitialize the extensions without the collaboration extension
4261
4393
  this.options.extensions = this.options.extensions.filter(extension => extension.name !== 'collaboration');
4262
4394
  // Restart the initialization process by recreating the extension manager with the new set of extensions
@@ -4275,6 +4407,12 @@ class Editor extends EventEmitter {
4275
4407
  selection: selection || undefined,
4276
4408
  }),
4277
4409
  });
4410
+ // add `role="textbox"` to the editor element
4411
+ this.view.dom.setAttribute('role', 'textbox');
4412
+ // add aria-label to the editor element
4413
+ if (!this.view.dom.getAttribute('aria-label')) {
4414
+ this.view.dom.setAttribute('aria-label', 'Rich-Text Editor');
4415
+ }
4278
4416
  // `editor.view` is not yet available at this time.
4279
4417
  // Therefore we will add all plugins and node views directly afterwards.
4280
4418
  const newState = this.state.reconfigure({
@@ -4652,97 +4790,6 @@ function wrappingInputRule(config) {
4652
4790
  });
4653
4791
  }
4654
4792
 
4655
- /**
4656
- * The Mark class is used to create custom mark extensions.
4657
- * @see https://tiptap.dev/api/extensions#create-a-new-extension
4658
- */
4659
- class Mark {
4660
- constructor(config = {}) {
4661
- this.type = 'mark';
4662
- this.name = 'mark';
4663
- this.parent = null;
4664
- this.child = null;
4665
- this.config = {
4666
- name: this.name,
4667
- defaultOptions: {},
4668
- };
4669
- this.config = {
4670
- ...this.config,
4671
- ...config,
4672
- };
4673
- this.name = this.config.name;
4674
- if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
4675
- console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
4676
- }
4677
- // TODO: remove `addOptions` fallback
4678
- this.options = this.config.defaultOptions;
4679
- if (this.config.addOptions) {
4680
- this.options = callOrReturn(getExtensionField(this, 'addOptions', {
4681
- name: this.name,
4682
- }));
4683
- }
4684
- this.storage = callOrReturn(getExtensionField(this, 'addStorage', {
4685
- name: this.name,
4686
- options: this.options,
4687
- })) || {};
4688
- }
4689
- static create(config = {}) {
4690
- return new Mark(config);
4691
- }
4692
- configure(options = {}) {
4693
- // return a new instance so we can use the same extension
4694
- // with different calls of `configure`
4695
- const extension = this.extend({
4696
- ...this.config,
4697
- addOptions: () => {
4698
- return mergeDeep(this.options, options);
4699
- },
4700
- });
4701
- // Always preserve the current name
4702
- extension.name = this.name;
4703
- // Set the parent to be our parent
4704
- extension.parent = this.parent;
4705
- return extension;
4706
- }
4707
- extend(extendedConfig = {}) {
4708
- const extension = new Mark(extendedConfig);
4709
- extension.parent = this;
4710
- this.child = extension;
4711
- extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
4712
- if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
4713
- console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
4714
- }
4715
- extension.options = callOrReturn(getExtensionField(extension, 'addOptions', {
4716
- name: extension.name,
4717
- }));
4718
- extension.storage = callOrReturn(getExtensionField(extension, 'addStorage', {
4719
- name: extension.name,
4720
- options: extension.options,
4721
- }));
4722
- return extension;
4723
- }
4724
- static handleExit({ editor, mark }) {
4725
- const { tr } = editor.state;
4726
- const currentPos = editor.state.selection.$from;
4727
- const isAtEnd = currentPos.pos === currentPos.end();
4728
- if (isAtEnd) {
4729
- const currentMarks = currentPos.marks();
4730
- const isInMark = !!currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
4731
- if (!isInMark) {
4732
- return false;
4733
- }
4734
- const removeMark = currentMarks.find(m => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
4735
- if (removeMark) {
4736
- tr.removeStoredMark(removeMark);
4737
- }
4738
- tr.insertText(' ', currentPos.pos);
4739
- editor.view.dispatch(tr);
4740
- return true;
4741
- }
4742
- return false;
4743
- }
4744
- }
4745
-
4746
4793
  /**
4747
4794
  * The Node class is used to create custom node extensions.
4748
4795
  * @see https://tiptap.dev/api/extensions#create-a-new-extension
@@ -5162,5 +5209,5 @@ class Tracker {
5162
5209
  }
5163
5210
  }
5164
5211
 
5165
- export { CommandManager, DropPlugin, Editor, Extension, InputRule, Mark, Node, NodePos, NodeView, PastePlugin, PasteRule, Tracker, callOrReturn, combineTransactionSteps, createChainableState, createDocument, createNodeFromContent, createStyleTag, defaultBlockAt, deleteProps, elementFromString, escapeForRegEx, index as extensions, findChildren, findChildrenInRange, findDuplicates, findParentNode, findParentNodeClosestToPos, fromString, generateHTML, generateJSON, generateText, getAttributes, getAttributesFromExtensions, getChangedRanges, getDebugJSON, getExtensionField, getHTMLFromFragment, getMarkAttributes, getMarkRange, getMarkType, getMarksBetween, getNodeAtPosition, getNodeAttributes, getNodeType, getRenderedAttributes, getSchema, getSchemaByResolvedExtensions, getSchemaTypeByName, getSchemaTypeNameByName, getSplittedAttributes, getText, getTextBetween, getTextContentFromNodes, getTextSerializersFromSchema, injectExtensionAttributesToParseRule, inputRulesPlugin, isActive, isAtEndOfNode, isAtStartOfNode, isEmptyObject, isExtensionRulesEnabled, isFunction, isList, isMacOS, isMarkActive, isNodeActive, isNodeEmpty, isNodeSelection, isNumber, isPlainObject, isRegExp, isString, isTextSelection, isiOS, markInputRule, markPasteRule, mergeAttributes, mergeDeep, minMax, nodeInputRule, nodePasteRule, objectIncludes, pasteRulesPlugin, posToDOMRect, removeDuplicates, resolveFocusPosition, selectionToInsertionEnd, splitExtensions, textInputRule, textPasteRule, textblockTypeInputRule, wrappingInputRule };
5212
+ export { CommandManager, Editor, Extension, InputRule, Mark, Node, NodePos, NodeView, PasteRule, Tracker, callOrReturn, combineTransactionSteps, createChainableState, createDocument, createNodeFromContent, createStyleTag, defaultBlockAt, deleteProps, elementFromString, escapeForRegEx, index as extensions, findChildren, findChildrenInRange, findDuplicates, findParentNode, findParentNodeClosestToPos, fromString, generateHTML, generateJSON, generateText, getAttributes, getAttributesFromExtensions, getChangedRanges, getDebugJSON, getExtensionField, getHTMLFromFragment, getMarkAttributes, getMarkRange, getMarkType, getMarksBetween, getNodeAtPosition, getNodeAttributes, getNodeType, getRenderedAttributes, getSchema, getSchemaByResolvedExtensions, getSchemaTypeByName, getSchemaTypeNameByName, getSplittedAttributes, getText, getTextBetween, getTextContentFromNodes, getTextSerializersFromSchema, injectExtensionAttributesToParseRule, inputRulesPlugin, isActive, isAtEndOfNode, isAtStartOfNode, isEmptyObject, isExtensionRulesEnabled, isFunction, isList, isMacOS, isMarkActive, isNodeActive, isNodeEmpty, isNodeSelection, isNumber, isPlainObject, isRegExp, isString, isTextSelection, isiOS, markInputRule, markPasteRule, mergeAttributes, mergeDeep, minMax, nodeInputRule, nodePasteRule, objectIncludes, pasteRulesPlugin, posToDOMRect, removeDuplicates, resolveFocusPosition, selectionToInsertionEnd, splitExtensions, textInputRule, textPasteRule, textblockTypeInputRule, wrappingInputRule };
5166
5213
  //# sourceMappingURL=index.js.map