@tiptap/core 2.11.6 → 3.0.0-beta.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 (499) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +5 -1
  3. package/dist/index.cjs +5046 -5069
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.cts +3326 -0
  6. package/dist/index.d.ts +3326 -25
  7. package/dist/index.js +4930 -4975
  8. package/dist/index.js.map +1 -1
  9. package/dist/jsx-runtime/jsx-runtime.cjs +56 -0
  10. package/dist/jsx-runtime/jsx-runtime.cjs.map +1 -0
  11. package/dist/jsx-runtime/jsx-runtime.d.cts +22 -0
  12. package/dist/jsx-runtime/jsx-runtime.d.ts +22 -0
  13. package/dist/jsx-runtime/jsx-runtime.js +26 -0
  14. package/dist/jsx-runtime/jsx-runtime.js.map +1 -0
  15. package/jsx-runtime/index.cjs +1 -0
  16. package/jsx-runtime/index.d.cts +1 -0
  17. package/jsx-runtime/index.d.ts +1 -0
  18. package/jsx-runtime/index.js +1 -0
  19. package/package.json +28 -9
  20. package/src/CommandManager.ts +4 -11
  21. package/src/Editor.ts +219 -103
  22. package/src/EventEmitter.ts +7 -10
  23. package/src/Extendable.ts +484 -0
  24. package/src/Extension.ts +17 -492
  25. package/src/ExtensionManager.ts +88 -140
  26. package/src/InputRule.ts +40 -51
  27. package/src/Mark.ts +146 -623
  28. package/src/MarkView.ts +66 -0
  29. package/src/Node.ts +332 -825
  30. package/src/NodePos.ts +3 -5
  31. package/src/NodeView.ts +13 -23
  32. package/src/PasteRule.ts +46 -56
  33. package/src/Tracker.ts +8 -10
  34. package/src/commands/blur.ts +15 -13
  35. package/src/commands/clearContent.ts +13 -6
  36. package/src/commands/clearNodes.ts +33 -31
  37. package/src/commands/command.ts +2 -2
  38. package/src/commands/createParagraphNear.ts +6 -4
  39. package/src/commands/cut.ts +13 -11
  40. package/src/commands/deleteCurrentNode.ts +24 -22
  41. package/src/commands/deleteNode.ts +20 -18
  42. package/src/commands/deleteRange.ts +11 -9
  43. package/src/commands/deleteSelection.ts +6 -4
  44. package/src/commands/enter.ts +7 -5
  45. package/src/commands/exitCode.ts +6 -4
  46. package/src/commands/extendMarkRange.ts +16 -14
  47. package/src/commands/first.ts +3 -5
  48. package/src/commands/focus.ts +50 -53
  49. package/src/commands/forEach.ts +3 -3
  50. package/src/commands/insertContent.ts +14 -16
  51. package/src/commands/insertContentAt.ts +111 -95
  52. package/src/commands/join.ts +21 -13
  53. package/src/commands/joinItemBackward.ts +17 -19
  54. package/src/commands/joinItemForward.ts +17 -19
  55. package/src/commands/joinTextblockBackward.ts +6 -4
  56. package/src/commands/joinTextblockForward.ts +6 -4
  57. package/src/commands/keyboardShortcut.ts +30 -35
  58. package/src/commands/lift.ts +12 -10
  59. package/src/commands/liftEmptyBlock.ts +7 -5
  60. package/src/commands/liftListItem.ts +8 -6
  61. package/src/commands/newlineInCode.ts +6 -4
  62. package/src/commands/resetAttributes.ts +38 -43
  63. package/src/commands/scrollIntoView.ts +10 -8
  64. package/src/commands/selectAll.ts +11 -9
  65. package/src/commands/selectNodeBackward.ts +6 -4
  66. package/src/commands/selectNodeForward.ts +6 -4
  67. package/src/commands/selectParentNode.ts +6 -4
  68. package/src/commands/selectTextblockEnd.ts +6 -4
  69. package/src/commands/selectTextblockStart.ts +6 -4
  70. package/src/commands/setContent.ts +39 -38
  71. package/src/commands/setMark.ts +58 -60
  72. package/src/commands/setMeta.ts +8 -6
  73. package/src/commands/setNode.ts +34 -32
  74. package/src/commands/setNodeSelection.ts +12 -10
  75. package/src/commands/setTextSelection.ts +16 -14
  76. package/src/commands/sinkListItem.ts +8 -6
  77. package/src/commands/splitBlock.ts +70 -78
  78. package/src/commands/splitListItem.ts +95 -107
  79. package/src/commands/toggleList.ts +76 -74
  80. package/src/commands/toggleMark.ts +13 -11
  81. package/src/commands/toggleNode.ts +20 -18
  82. package/src/commands/toggleWrap.ts +12 -10
  83. package/src/commands/undoInputRule.ts +32 -30
  84. package/src/commands/unsetAllMarks.ts +17 -15
  85. package/src/commands/unsetMark.ts +29 -27
  86. package/src/commands/updateAttributes.ts +94 -102
  87. package/src/commands/wrapIn.ts +8 -6
  88. package/src/commands/wrapInList.ts +8 -6
  89. package/src/extensions/clipboardTextSerializer.ts +2 -4
  90. package/src/extensions/delete.ts +89 -0
  91. package/src/extensions/focusEvents.ts +2 -6
  92. package/src/extensions/index.ts +1 -0
  93. package/src/extensions/keymap.ts +54 -50
  94. package/src/extensions/paste.ts +0 -1
  95. package/src/extensions/tabindex.ts +1 -1
  96. package/src/helpers/combineTransactionSteps.ts +3 -6
  97. package/src/helpers/createChainableState.ts +2 -5
  98. package/src/helpers/createDocument.ts +2 -4
  99. package/src/helpers/createNodeFromContent.ts +7 -12
  100. package/src/helpers/defaultBlockAt.ts +1 -1
  101. package/src/helpers/findChildren.ts +2 -2
  102. package/src/helpers/findChildrenInRange.ts +3 -7
  103. package/src/helpers/findParentNode.ts +5 -3
  104. package/src/helpers/findParentNodeClosestToPos.ts +2 -2
  105. package/src/helpers/flattenExtensions.ts +30 -0
  106. package/src/helpers/generateHTML.ts +1 -1
  107. package/src/helpers/generateJSON.ts +1 -1
  108. package/src/helpers/generateText.ts +1 -1
  109. package/src/helpers/getAttributes.ts +3 -6
  110. package/src/helpers/getAttributesFromExtensions.ts +29 -38
  111. package/src/helpers/getChangedRanges.ts +15 -13
  112. package/src/helpers/getDebugJSON.ts +2 -2
  113. package/src/helpers/getExtensionField.ts +12 -12
  114. package/src/helpers/getHTMLFromFragment.ts +2 -1
  115. package/src/helpers/getMarkAttributes.ts +3 -6
  116. package/src/helpers/getMarkRange.ts +7 -17
  117. package/src/helpers/getMarkType.ts +2 -4
  118. package/src/helpers/getMarksBetween.ts +2 -2
  119. package/src/helpers/getNodeAtPosition.ts +2 -2
  120. package/src/helpers/getNodeAttributes.ts +3 -6
  121. package/src/helpers/getNodeType.ts +2 -4
  122. package/src/helpers/getRenderedAttributes.ts +3 -5
  123. package/src/helpers/getSchema.ts +5 -5
  124. package/src/helpers/getSchemaByResolvedExtensions.ts +47 -78
  125. package/src/helpers/getSchemaTypeByName.ts +1 -1
  126. package/src/helpers/getSchemaTypeNameByName.ts +1 -1
  127. package/src/helpers/getSplittedAttributes.ts +5 -5
  128. package/src/helpers/getText.ts +2 -2
  129. package/src/helpers/getTextBetween.ts +2 -2
  130. package/src/helpers/getTextContentFromNodes.ts +9 -12
  131. package/src/helpers/getTextSerializersFromSchema.ts +2 -2
  132. package/src/helpers/index.ts +3 -0
  133. package/src/helpers/injectExtensionAttributesToParseRule.ts +3 -3
  134. package/src/helpers/isActive.ts +2 -6
  135. package/src/helpers/isAtEndOfNode.ts +1 -1
  136. package/src/helpers/isAtStartOfNode.ts +1 -1
  137. package/src/helpers/isExtensionRulesEnabled.ts +2 -4
  138. package/src/helpers/isList.ts +2 -2
  139. package/src/helpers/isMarkActive.ts +3 -3
  140. package/src/helpers/isNodeActive.ts +3 -3
  141. package/src/helpers/isNodeEmpty.ts +3 -3
  142. package/src/helpers/posToDOMRect.ts +1 -1
  143. package/src/helpers/resolveExtensions.ts +25 -0
  144. package/src/helpers/resolveFocusPosition.ts +5 -16
  145. package/src/helpers/rewriteUnknownContent.ts +25 -24
  146. package/src/helpers/selectionToInsertionEnd.ts +2 -1
  147. package/src/helpers/sortExtensions.ts +26 -0
  148. package/src/helpers/splitExtensions.ts +4 -4
  149. package/src/index.ts +3 -7
  150. package/src/inputRules/markInputRule.ts +5 -8
  151. package/src/inputRules/nodeInputRule.ts +6 -12
  152. package/src/inputRules/textInputRule.ts +3 -5
  153. package/src/inputRules/textblockTypeInputRule.ts +6 -11
  154. package/src/inputRules/wrappingInputRule.ts +18 -23
  155. package/src/jsx-runtime.ts +64 -0
  156. package/src/pasteRules/markPasteRule.ts +5 -6
  157. package/src/pasteRules/nodePasteRule.ts +6 -11
  158. package/src/pasteRules/textPasteRule.ts +3 -5
  159. package/src/style.ts +0 -4
  160. package/src/types.ts +534 -179
  161. package/src/utilities/callOrReturn.ts +1 -1
  162. package/src/utilities/createStyleTag.ts +3 -1
  163. package/src/utilities/deleteProps.ts +7 -11
  164. package/src/utilities/elementFromString.ts +3 -0
  165. package/src/utilities/findDuplicates.ts +4 -1
  166. package/src/utilities/index.ts +1 -0
  167. package/src/utilities/isMacOS.ts +1 -3
  168. package/src/utilities/isiOS.ts +5 -10
  169. package/src/utilities/mergeAttributes.ts +16 -6
  170. package/src/utilities/removeDuplicates.ts +1 -3
  171. package/dist/CommandManager.d.ts +0 -21
  172. package/dist/CommandManager.d.ts.map +0 -1
  173. package/dist/Editor.d.ts +0 -166
  174. package/dist/Editor.d.ts.map +0 -1
  175. package/dist/EventEmitter.d.ts +0 -13
  176. package/dist/EventEmitter.d.ts.map +0 -1
  177. package/dist/Extension.d.ts +0 -345
  178. package/dist/Extension.d.ts.map +0 -1
  179. package/dist/ExtensionManager.d.ts +0 -57
  180. package/dist/ExtensionManager.d.ts.map +0 -1
  181. package/dist/InputRule.d.ts +0 -43
  182. package/dist/InputRule.d.ts.map +0 -1
  183. package/dist/Mark.d.ts +0 -453
  184. package/dist/Mark.d.ts.map +0 -1
  185. package/dist/Node.d.ts +0 -629
  186. package/dist/Node.d.ts.map +0 -1
  187. package/dist/NodePos.d.ts +0 -45
  188. package/dist/NodePos.d.ts.map +0 -1
  189. package/dist/NodeView.d.ts +0 -41
  190. package/dist/NodeView.d.ts.map +0 -1
  191. package/dist/PasteRule.d.ts +0 -51
  192. package/dist/PasteRule.d.ts.map +0 -1
  193. package/dist/Tracker.d.ts +0 -12
  194. package/dist/Tracker.d.ts.map +0 -1
  195. package/dist/commands/blur.d.ts +0 -14
  196. package/dist/commands/blur.d.ts.map +0 -1
  197. package/dist/commands/clearContent.d.ts +0 -15
  198. package/dist/commands/clearContent.d.ts.map +0 -1
  199. package/dist/commands/clearNodes.d.ts +0 -14
  200. package/dist/commands/clearNodes.d.ts.map +0 -1
  201. package/dist/commands/command.d.ts +0 -19
  202. package/dist/commands/command.d.ts.map +0 -1
  203. package/dist/commands/createParagraphNear.d.ts +0 -14
  204. package/dist/commands/createParagraphNear.d.ts.map +0 -1
  205. package/dist/commands/cut.d.ts +0 -21
  206. package/dist/commands/cut.d.ts.map +0 -1
  207. package/dist/commands/deleteCurrentNode.d.ts +0 -14
  208. package/dist/commands/deleteCurrentNode.d.ts.map +0 -1
  209. package/dist/commands/deleteNode.d.ts +0 -16
  210. package/dist/commands/deleteNode.d.ts.map +0 -1
  211. package/dist/commands/deleteRange.d.ts +0 -15
  212. package/dist/commands/deleteRange.d.ts.map +0 -1
  213. package/dist/commands/deleteSelection.d.ts +0 -14
  214. package/dist/commands/deleteSelection.d.ts.map +0 -1
  215. package/dist/commands/enter.d.ts +0 -14
  216. package/dist/commands/enter.d.ts.map +0 -1
  217. package/dist/commands/exitCode.d.ts +0 -14
  218. package/dist/commands/exitCode.d.ts.map +0 -1
  219. package/dist/commands/extendMarkRange.d.ts +0 -26
  220. package/dist/commands/extendMarkRange.d.ts.map +0 -1
  221. package/dist/commands/first.d.ts +0 -15
  222. package/dist/commands/first.d.ts.map +0 -1
  223. package/dist/commands/focus.d.ts +0 -28
  224. package/dist/commands/focus.d.ts.map +0 -1
  225. package/dist/commands/forEach.d.ts +0 -15
  226. package/dist/commands/forEach.d.ts.map +0 -1
  227. package/dist/commands/index.d.ts +0 -56
  228. package/dist/commands/index.d.ts.map +0 -1
  229. package/dist/commands/insertContent.d.ts +0 -35
  230. package/dist/commands/insertContent.d.ts.map +0 -1
  231. package/dist/commands/insertContentAt.d.ts +0 -48
  232. package/dist/commands/insertContentAt.d.ts.map +0 -1
  233. package/dist/commands/join.d.ts +0 -42
  234. package/dist/commands/join.d.ts.map +0 -1
  235. package/dist/commands/joinItemBackward.d.ts +0 -14
  236. package/dist/commands/joinItemBackward.d.ts.map +0 -1
  237. package/dist/commands/joinItemForward.d.ts +0 -14
  238. package/dist/commands/joinItemForward.d.ts.map +0 -1
  239. package/dist/commands/joinTextblockBackward.d.ts +0 -13
  240. package/dist/commands/joinTextblockBackward.d.ts.map +0 -1
  241. package/dist/commands/joinTextblockForward.d.ts +0 -13
  242. package/dist/commands/joinTextblockForward.d.ts.map +0 -1
  243. package/dist/commands/keyboardShortcut.d.ts +0 -15
  244. package/dist/commands/keyboardShortcut.d.ts.map +0 -1
  245. package/dist/commands/lift.d.ts +0 -18
  246. package/dist/commands/lift.d.ts.map +0 -1
  247. package/dist/commands/liftEmptyBlock.d.ts +0 -14
  248. package/dist/commands/liftEmptyBlock.d.ts.map +0 -1
  249. package/dist/commands/liftListItem.d.ts +0 -16
  250. package/dist/commands/liftListItem.d.ts.map +0 -1
  251. package/dist/commands/newlineInCode.d.ts +0 -14
  252. package/dist/commands/newlineInCode.d.ts.map +0 -1
  253. package/dist/commands/resetAttributes.d.ts +0 -17
  254. package/dist/commands/resetAttributes.d.ts.map +0 -1
  255. package/dist/commands/scrollIntoView.d.ts +0 -14
  256. package/dist/commands/scrollIntoView.d.ts.map +0 -1
  257. package/dist/commands/selectAll.d.ts +0 -14
  258. package/dist/commands/selectAll.d.ts.map +0 -1
  259. package/dist/commands/selectNodeBackward.d.ts +0 -14
  260. package/dist/commands/selectNodeBackward.d.ts.map +0 -1
  261. package/dist/commands/selectNodeForward.d.ts +0 -14
  262. package/dist/commands/selectNodeForward.d.ts.map +0 -1
  263. package/dist/commands/selectParentNode.d.ts +0 -14
  264. package/dist/commands/selectParentNode.d.ts.map +0 -1
  265. package/dist/commands/selectTextblockEnd.d.ts +0 -14
  266. package/dist/commands/selectTextblockEnd.d.ts.map +0 -1
  267. package/dist/commands/selectTextblockStart.d.ts +0 -14
  268. package/dist/commands/selectTextblockStart.d.ts.map +0 -1
  269. package/dist/commands/setContent.d.ts +0 -41
  270. package/dist/commands/setContent.d.ts.map +0 -1
  271. package/dist/commands/setMark.d.ts +0 -16
  272. package/dist/commands/setMark.d.ts.map +0 -1
  273. package/dist/commands/setMeta.d.ts +0 -17
  274. package/dist/commands/setMeta.d.ts.map +0 -1
  275. package/dist/commands/setNode.d.ts +0 -17
  276. package/dist/commands/setNode.d.ts.map +0 -1
  277. package/dist/commands/setNodeSelection.d.ts +0 -15
  278. package/dist/commands/setNodeSelection.d.ts.map +0 -1
  279. package/dist/commands/setTextSelection.d.ts +0 -15
  280. package/dist/commands/setTextSelection.d.ts.map +0 -1
  281. package/dist/commands/sinkListItem.d.ts +0 -16
  282. package/dist/commands/sinkListItem.d.ts.map +0 -1
  283. package/dist/commands/splitBlock.d.ts +0 -18
  284. package/dist/commands/splitBlock.d.ts.map +0 -1
  285. package/dist/commands/splitListItem.d.ts +0 -17
  286. package/dist/commands/splitListItem.d.ts.map +0 -1
  287. package/dist/commands/toggleList.d.ts +0 -19
  288. package/dist/commands/toggleList.d.ts.map +0 -1
  289. package/dist/commands/toggleMark.d.ts +0 -31
  290. package/dist/commands/toggleMark.d.ts.map +0 -1
  291. package/dist/commands/toggleNode.d.ts +0 -18
  292. package/dist/commands/toggleNode.d.ts.map +0 -1
  293. package/dist/commands/toggleWrap.d.ts +0 -17
  294. package/dist/commands/toggleWrap.d.ts.map +0 -1
  295. package/dist/commands/undoInputRule.d.ts +0 -14
  296. package/dist/commands/undoInputRule.d.ts.map +0 -1
  297. package/dist/commands/unsetAllMarks.d.ts +0 -14
  298. package/dist/commands/unsetAllMarks.d.ts.map +0 -1
  299. package/dist/commands/unsetMark.d.ts +0 -26
  300. package/dist/commands/unsetMark.d.ts.map +0 -1
  301. package/dist/commands/updateAttributes.d.ts +0 -25
  302. package/dist/commands/updateAttributes.d.ts.map +0 -1
  303. package/dist/commands/wrapIn.d.ts +0 -17
  304. package/dist/commands/wrapIn.d.ts.map +0 -1
  305. package/dist/commands/wrapInList.d.ts +0 -17
  306. package/dist/commands/wrapInList.d.ts.map +0 -1
  307. package/dist/extensions/clipboardTextSerializer.d.ts +0 -6
  308. package/dist/extensions/clipboardTextSerializer.d.ts.map +0 -1
  309. package/dist/extensions/commands.d.ts +0 -4
  310. package/dist/extensions/commands.d.ts.map +0 -1
  311. package/dist/extensions/drop.d.ts +0 -3
  312. package/dist/extensions/drop.d.ts.map +0 -1
  313. package/dist/extensions/editable.d.ts +0 -3
  314. package/dist/extensions/editable.d.ts.map +0 -1
  315. package/dist/extensions/focusEvents.d.ts +0 -5
  316. package/dist/extensions/focusEvents.d.ts.map +0 -1
  317. package/dist/extensions/index.d.ts +0 -9
  318. package/dist/extensions/index.d.ts.map +0 -1
  319. package/dist/extensions/keymap.d.ts +0 -3
  320. package/dist/extensions/keymap.d.ts.map +0 -1
  321. package/dist/extensions/paste.d.ts +0 -3
  322. package/dist/extensions/paste.d.ts.map +0 -1
  323. package/dist/extensions/tabindex.d.ts +0 -3
  324. package/dist/extensions/tabindex.d.ts.map +0 -1
  325. package/dist/helpers/combineTransactionSteps.d.ts +0 -11
  326. package/dist/helpers/combineTransactionSteps.d.ts.map +0 -1
  327. package/dist/helpers/createChainableState.d.ts +0 -11
  328. package/dist/helpers/createChainableState.d.ts.map +0 -1
  329. package/dist/helpers/createDocument.d.ts +0 -13
  330. package/dist/helpers/createDocument.d.ts.map +0 -1
  331. package/dist/helpers/createNodeFromContent.d.ts +0 -16
  332. package/dist/helpers/createNodeFromContent.d.ts.map +0 -1
  333. package/dist/helpers/defaultBlockAt.d.ts +0 -8
  334. package/dist/helpers/defaultBlockAt.d.ts.map +0 -1
  335. package/dist/helpers/findChildren.d.ts +0 -10
  336. package/dist/helpers/findChildren.d.ts.map +0 -1
  337. package/dist/helpers/findChildrenInRange.d.ts +0 -11
  338. package/dist/helpers/findChildrenInRange.d.ts.map +0 -1
  339. package/dist/helpers/findParentNode.d.ts +0 -17
  340. package/dist/helpers/findParentNode.d.ts.map +0 -1
  341. package/dist/helpers/findParentNodeClosestToPos.d.ts +0 -18
  342. package/dist/helpers/findParentNodeClosestToPos.d.ts.map +0 -1
  343. package/dist/helpers/generateHTML.d.ts +0 -9
  344. package/dist/helpers/generateHTML.d.ts.map +0 -1
  345. package/dist/helpers/generateJSON.d.ts +0 -9
  346. package/dist/helpers/generateJSON.d.ts.map +0 -1
  347. package/dist/helpers/generateText.d.ts +0 -13
  348. package/dist/helpers/generateText.d.ts.map +0 -1
  349. package/dist/helpers/getAttributes.d.ts +0 -10
  350. package/dist/helpers/getAttributes.d.ts.map +0 -1
  351. package/dist/helpers/getAttributesFromExtensions.d.ts +0 -7
  352. package/dist/helpers/getAttributesFromExtensions.d.ts.map +0 -1
  353. package/dist/helpers/getChangedRanges.d.ts +0 -12
  354. package/dist/helpers/getChangedRanges.d.ts.map +0 -1
  355. package/dist/helpers/getDebugJSON.d.ts +0 -9
  356. package/dist/helpers/getDebugJSON.d.ts.map +0 -1
  357. package/dist/helpers/getExtensionField.d.ts +0 -10
  358. package/dist/helpers/getExtensionField.d.ts.map +0 -1
  359. package/dist/helpers/getHTMLFromFragment.d.ts +0 -3
  360. package/dist/helpers/getHTMLFromFragment.d.ts.map +0 -1
  361. package/dist/helpers/getMarkAttributes.d.ts +0 -4
  362. package/dist/helpers/getMarkAttributes.d.ts.map +0 -1
  363. package/dist/helpers/getMarkRange.d.ts +0 -20
  364. package/dist/helpers/getMarkRange.d.ts.map +0 -1
  365. package/dist/helpers/getMarkType.d.ts +0 -3
  366. package/dist/helpers/getMarkType.d.ts.map +0 -1
  367. package/dist/helpers/getMarksBetween.d.ts +0 -4
  368. package/dist/helpers/getMarksBetween.d.ts.map +0 -1
  369. package/dist/helpers/getNodeAtPosition.d.ts +0 -12
  370. package/dist/helpers/getNodeAtPosition.d.ts.map +0 -1
  371. package/dist/helpers/getNodeAttributes.d.ts +0 -4
  372. package/dist/helpers/getNodeAttributes.d.ts.map +0 -1
  373. package/dist/helpers/getNodeType.d.ts +0 -3
  374. package/dist/helpers/getNodeType.d.ts.map +0 -1
  375. package/dist/helpers/getRenderedAttributes.d.ts +0 -4
  376. package/dist/helpers/getRenderedAttributes.d.ts.map +0 -1
  377. package/dist/helpers/getSchema.d.ts +0 -5
  378. package/dist/helpers/getSchema.d.ts.map +0 -1
  379. package/dist/helpers/getSchemaByResolvedExtensions.d.ts +0 -11
  380. package/dist/helpers/getSchemaByResolvedExtensions.d.ts.map +0 -1
  381. package/dist/helpers/getSchemaTypeByName.d.ts +0 -9
  382. package/dist/helpers/getSchemaTypeByName.d.ts.map +0 -1
  383. package/dist/helpers/getSchemaTypeNameByName.d.ts +0 -9
  384. package/dist/helpers/getSchemaTypeNameByName.d.ts.map +0 -1
  385. package/dist/helpers/getSplittedAttributes.d.ts +0 -10
  386. package/dist/helpers/getSplittedAttributes.d.ts.map +0 -1
  387. package/dist/helpers/getText.d.ts +0 -16
  388. package/dist/helpers/getText.d.ts.map +0 -1
  389. package/dist/helpers/getTextBetween.d.ts +0 -15
  390. package/dist/helpers/getTextBetween.d.ts.map +0 -1
  391. package/dist/helpers/getTextContentFromNodes.d.ts +0 -9
  392. package/dist/helpers/getTextContentFromNodes.d.ts.map +0 -1
  393. package/dist/helpers/getTextSerializersFromSchema.d.ts +0 -9
  394. package/dist/helpers/getTextSerializersFromSchema.d.ts.map +0 -1
  395. package/dist/helpers/index.d.ts +0 -52
  396. package/dist/helpers/index.d.ts.map +0 -1
  397. package/dist/helpers/injectExtensionAttributesToParseRule.d.ts +0 -10
  398. package/dist/helpers/injectExtensionAttributesToParseRule.d.ts.map +0 -1
  399. package/dist/helpers/isActive.d.ts +0 -3
  400. package/dist/helpers/isActive.d.ts.map +0 -1
  401. package/dist/helpers/isAtEndOfNode.d.ts +0 -3
  402. package/dist/helpers/isAtEndOfNode.d.ts.map +0 -1
  403. package/dist/helpers/isAtStartOfNode.d.ts +0 -3
  404. package/dist/helpers/isAtStartOfNode.d.ts.map +0 -1
  405. package/dist/helpers/isExtensionRulesEnabled.d.ts +0 -3
  406. package/dist/helpers/isExtensionRulesEnabled.d.ts.map +0 -1
  407. package/dist/helpers/isList.d.ts +0 -3
  408. package/dist/helpers/isList.d.ts.map +0 -1
  409. package/dist/helpers/isMarkActive.d.ts +0 -4
  410. package/dist/helpers/isMarkActive.d.ts.map +0 -1
  411. package/dist/helpers/isNodeActive.d.ts +0 -4
  412. package/dist/helpers/isNodeActive.d.ts.map +0 -1
  413. package/dist/helpers/isNodeEmpty.d.ts +0 -15
  414. package/dist/helpers/isNodeEmpty.d.ts.map +0 -1
  415. package/dist/helpers/isNodeSelection.d.ts +0 -3
  416. package/dist/helpers/isNodeSelection.d.ts.map +0 -1
  417. package/dist/helpers/isTextSelection.d.ts +0 -3
  418. package/dist/helpers/isTextSelection.d.ts.map +0 -1
  419. package/dist/helpers/posToDOMRect.d.ts +0 -3
  420. package/dist/helpers/posToDOMRect.d.ts.map +0 -1
  421. package/dist/helpers/resolveFocusPosition.d.ts +0 -5
  422. package/dist/helpers/resolveFocusPosition.d.ts.map +0 -1
  423. package/dist/helpers/rewriteUnknownContent.d.ts +0 -46
  424. package/dist/helpers/rewriteUnknownContent.d.ts.map +0 -1
  425. package/dist/helpers/selectionToInsertionEnd.d.ts +0 -3
  426. package/dist/helpers/selectionToInsertionEnd.d.ts.map +0 -1
  427. package/dist/helpers/splitExtensions.d.ts +0 -10
  428. package/dist/helpers/splitExtensions.d.ts.map +0 -1
  429. package/dist/index.d.ts.map +0 -1
  430. package/dist/index.umd.js +0 -5524
  431. package/dist/index.umd.js.map +0 -1
  432. package/dist/inputRules/index.d.ts +0 -6
  433. package/dist/inputRules/index.d.ts.map +0 -1
  434. package/dist/inputRules/markInputRule.d.ts +0 -14
  435. package/dist/inputRules/markInputRule.d.ts.map +0 -1
  436. package/dist/inputRules/nodeInputRule.d.ts +0 -24
  437. package/dist/inputRules/nodeInputRule.d.ts.map +0 -1
  438. package/dist/inputRules/textInputRule.d.ts +0 -11
  439. package/dist/inputRules/textInputRule.d.ts.map +0 -1
  440. package/dist/inputRules/textblockTypeInputRule.d.ts +0 -16
  441. package/dist/inputRules/textblockTypeInputRule.d.ts.map +0 -1
  442. package/dist/inputRules/wrappingInputRule.d.ts +0 -29
  443. package/dist/inputRules/wrappingInputRule.d.ts.map +0 -1
  444. package/dist/pasteRules/index.d.ts +0 -4
  445. package/dist/pasteRules/index.d.ts.map +0 -1
  446. package/dist/pasteRules/markPasteRule.d.ts +0 -14
  447. package/dist/pasteRules/markPasteRule.d.ts.map +0 -1
  448. package/dist/pasteRules/nodePasteRule.d.ts +0 -15
  449. package/dist/pasteRules/nodePasteRule.d.ts.map +0 -1
  450. package/dist/pasteRules/textPasteRule.d.ts +0 -11
  451. package/dist/pasteRules/textPasteRule.d.ts.map +0 -1
  452. package/dist/style.d.ts +0 -2
  453. package/dist/style.d.ts.map +0 -1
  454. package/dist/types.d.ts +0 -323
  455. package/dist/types.d.ts.map +0 -1
  456. package/dist/utilities/callOrReturn.d.ts +0 -10
  457. package/dist/utilities/callOrReturn.d.ts.map +0 -1
  458. package/dist/utilities/createStyleTag.d.ts +0 -2
  459. package/dist/utilities/createStyleTag.d.ts.map +0 -1
  460. package/dist/utilities/deleteProps.d.ts +0 -7
  461. package/dist/utilities/deleteProps.d.ts.map +0 -1
  462. package/dist/utilities/elementFromString.d.ts +0 -2
  463. package/dist/utilities/elementFromString.d.ts.map +0 -1
  464. package/dist/utilities/escapeForRegEx.d.ts +0 -2
  465. package/dist/utilities/escapeForRegEx.d.ts.map +0 -1
  466. package/dist/utilities/findDuplicates.d.ts +0 -2
  467. package/dist/utilities/findDuplicates.d.ts.map +0 -1
  468. package/dist/utilities/fromString.d.ts +0 -2
  469. package/dist/utilities/fromString.d.ts.map +0 -1
  470. package/dist/utilities/index.d.ts +0 -21
  471. package/dist/utilities/index.d.ts.map +0 -1
  472. package/dist/utilities/isAndroid.d.ts +0 -2
  473. package/dist/utilities/isAndroid.d.ts.map +0 -1
  474. package/dist/utilities/isEmptyObject.d.ts +0 -2
  475. package/dist/utilities/isEmptyObject.d.ts.map +0 -1
  476. package/dist/utilities/isFunction.d.ts +0 -2
  477. package/dist/utilities/isFunction.d.ts.map +0 -1
  478. package/dist/utilities/isMacOS.d.ts +0 -2
  479. package/dist/utilities/isMacOS.d.ts.map +0 -1
  480. package/dist/utilities/isNumber.d.ts +0 -2
  481. package/dist/utilities/isNumber.d.ts.map +0 -1
  482. package/dist/utilities/isPlainObject.d.ts +0 -2
  483. package/dist/utilities/isPlainObject.d.ts.map +0 -1
  484. package/dist/utilities/isRegExp.d.ts +0 -2
  485. package/dist/utilities/isRegExp.d.ts.map +0 -1
  486. package/dist/utilities/isString.d.ts +0 -2
  487. package/dist/utilities/isString.d.ts.map +0 -1
  488. package/dist/utilities/isiOS.d.ts +0 -2
  489. package/dist/utilities/isiOS.d.ts.map +0 -1
  490. package/dist/utilities/mergeAttributes.d.ts +0 -2
  491. package/dist/utilities/mergeAttributes.d.ts.map +0 -1
  492. package/dist/utilities/mergeDeep.d.ts +0 -2
  493. package/dist/utilities/mergeDeep.d.ts.map +0 -1
  494. package/dist/utilities/minMax.d.ts +0 -2
  495. package/dist/utilities/minMax.d.ts.map +0 -1
  496. package/dist/utilities/objectIncludes.d.ts +0 -9
  497. package/dist/utilities/objectIncludes.d.ts.map +0 -1
  498. package/dist/utilities/removeDuplicates.d.ts +0 -9
  499. package/dist/utilities/removeDuplicates.d.ts.map +0 -1
package/src/Extension.ts CHANGED
@@ -1,508 +1,33 @@
1
- import { Plugin, Transaction } from '@tiptap/pm/state'
1
+ import { type ExtendableConfig, Extendable } from './Extendable.js'
2
2
 
3
- import { Editor } from './Editor.js'
4
- import { getExtensionField } from './helpers/getExtensionField.js'
5
- import { ExtensionConfig } from './index.js'
6
- import { InputRule } from './InputRule.js'
7
- import { Mark } from './Mark.js'
8
- import { Node } from './Node.js'
9
- import { PasteRule } from './PasteRule.js'
10
- import {
11
- AnyConfig,
12
- Extensions,
13
- GlobalAttributes,
14
- KeyboardShortcutCommand,
15
- ParentConfig,
16
- RawCommands,
17
- } from './types.js'
18
- import { callOrReturn } from './utilities/callOrReturn.js'
19
- import { mergeDeep } from './utilities/mergeDeep.js'
20
-
21
- declare module '@tiptap/core' {
22
- interface ExtensionConfig<Options = any, Storage = any> {
23
- // @ts-ignore - this is a dynamic key
24
- [key: string]: any
25
-
26
- /**
27
- * The extension name - this must be unique.
28
- * It will be used to identify the extension.
29
- *
30
- * @example 'myExtension'
31
- */
32
- name: string
33
-
34
- /**
35
- * The priority of your extension. The higher, the earlier it will be called
36
- * and will take precedence over other extensions with a lower priority.
37
- * @default 100
38
- * @example 101
39
- */
40
- priority?: number
41
-
42
- /**
43
- * The default options for this extension.
44
- * @example
45
- * defaultOptions: {
46
- * myOption: 'foo',
47
- * myOtherOption: 10,
48
- * }
49
- */
50
- defaultOptions?: Options
51
-
52
- /**
53
- * This method will add options to this extension
54
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#settings
55
- * @example
56
- * addOptions() {
57
- * return {
58
- * myOption: 'foo',
59
- * myOtherOption: 10,
60
- * }
61
- */
62
- addOptions?: (this: {
63
- name: string
64
- parent: Exclude<ParentConfig<ExtensionConfig<Options, Storage>>['addOptions'], undefined>
65
- }) => Options
66
-
67
- /**
68
- * The default storage this extension can save data to.
69
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#storage
70
- * @example
71
- * defaultStorage: {
72
- * prefetchedUsers: [],
73
- * loading: false,
74
- * }
75
- */
76
- addStorage?: (this: {
77
- name: string
78
- options: Options
79
- parent: Exclude<ParentConfig<ExtensionConfig<Options, Storage>>['addStorage'], undefined>
80
- }) => Storage
81
-
82
- /**
83
- * This function adds globalAttributes to specific nodes.
84
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#global-attributes
85
- * @example
86
- * addGlobalAttributes() {
87
- * return [
88
- * {
89
- // Extend the following extensions
90
- * types: [
91
- * 'heading',
92
- * 'paragraph',
93
- * ],
94
- * // … with those attributes
95
- * attributes: {
96
- * textAlign: {
97
- * default: 'left',
98
- * renderHTML: attributes => ({
99
- * style: `text-align: ${attributes.textAlign}`,
100
- * }),
101
- * parseHTML: element => element.style.textAlign || 'left',
102
- * },
103
- * },
104
- * },
105
- * ]
106
- * }
107
- */
108
- addGlobalAttributes?: (this: {
109
- name: string
110
- options: Options
111
- storage: Storage
112
- extensions: (Node | Mark)[]
113
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['addGlobalAttributes']
114
- }) => GlobalAttributes
115
-
116
- /**
117
- * This function adds commands to the editor
118
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#commands
119
- * @example
120
- * addCommands() {
121
- * return {
122
- * myCommand: () => ({ chain }) => chain().setMark('type', 'foo').run(),
123
- * }
124
- * }
125
- */
126
- addCommands?: (this: {
127
- name: string
128
- options: Options
129
- storage: Storage
130
- editor: Editor
131
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['addCommands']
132
- }) => Partial<RawCommands>
133
-
134
- /**
135
- * This function registers keyboard shortcuts.
136
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#keyboard-shortcuts
137
- * @example
138
- * addKeyboardShortcuts() {
139
- * return {
140
- * 'Mod-l': () => this.editor.commands.toggleBulletList(),
141
- * }
142
- * },
143
- */
144
- addKeyboardShortcuts?: (this: {
145
- name: string
146
- options: Options
147
- storage: Storage
148
- editor: Editor
149
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['addKeyboardShortcuts']
150
- }) => {
151
- [key: string]: KeyboardShortcutCommand
152
- }
153
-
154
- /**
155
- * This function adds input rules to the editor.
156
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#input-rules
157
- * @example
158
- * addInputRules() {
159
- * return [
160
- * markInputRule({
161
- * find: inputRegex,
162
- * type: this.type,
163
- * }),
164
- * ]
165
- * },
166
- */
167
- addInputRules?: (this: {
168
- name: string
169
- options: Options
170
- storage: Storage
171
- editor: Editor
172
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['addInputRules']
173
- }) => InputRule[]
174
-
175
- /**
176
- * This function adds paste rules to the editor.
177
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#paste-rules
178
- * @example
179
- * addPasteRules() {
180
- * return [
181
- * markPasteRule({
182
- * find: pasteRegex,
183
- * type: this.type,
184
- * }),
185
- * ]
186
- * },
187
- */
188
- addPasteRules?: (this: {
189
- name: string
190
- options: Options
191
- storage: Storage
192
- editor: Editor
193
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['addPasteRules']
194
- }) => PasteRule[]
195
-
196
- /**
197
- * This function adds Prosemirror plugins to the editor
198
- * @see https://tiptap.dev/docs/editor/guide/custom-extensions#prosemirror-plugins
199
- * @example
200
- * addProseMirrorPlugins() {
201
- * return [
202
- * customPlugin(),
203
- * ]
204
- * }
205
- */
206
- addProseMirrorPlugins?: (this: {
207
- name: string
208
- options: Options
209
- storage: Storage
210
- editor: Editor
211
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['addProseMirrorPlugins']
212
- }) => Plugin[]
213
-
214
- /**
215
- * This function adds additional extensions to the editor. This is useful for
216
- * building extension kits.
217
- * @example
218
- * addExtensions() {
219
- * return [
220
- * BulletList,
221
- * OrderedList,
222
- * ListItem
223
- * ]
224
- * }
225
- */
226
- addExtensions?: (this: {
227
- name: string
228
- options: Options
229
- storage: Storage
230
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['addExtensions']
231
- }) => Extensions
232
-
233
- /**
234
- * This function extends the schema of the node.
235
- * @example
236
- * extendNodeSchema() {
237
- * return {
238
- * group: 'inline',
239
- * selectable: false,
240
- * }
241
- * }
242
- */
243
- extendNodeSchema?:
244
- | ((
245
- this: {
246
- name: string
247
- options: Options
248
- storage: Storage
249
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['extendNodeSchema']
250
- },
251
- extension: Node,
252
- ) => Record<string, any>)
253
- | null
254
-
255
- /**
256
- * This function extends the schema of the mark.
257
- * @example
258
- * extendMarkSchema() {
259
- * return {
260
- * group: 'inline',
261
- * selectable: false,
262
- * }
263
- * }
264
- */
265
- extendMarkSchema?:
266
- | ((
267
- this: {
268
- name: string
269
- options: Options
270
- storage: Storage
271
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['extendMarkSchema']
272
- },
273
- extension: Mark,
274
- ) => Record<string, any>)
275
- | null
276
-
277
- /**
278
- * The editor is not ready yet.
279
- */
280
- onBeforeCreate?:
281
- | ((this: {
282
- name: string
283
- options: Options
284
- storage: Storage
285
- editor: Editor
286
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onBeforeCreate']
287
- }) => void)
288
- | null
289
-
290
- /**
291
- * The editor is ready.
292
- */
293
- onCreate?:
294
- | ((this: {
295
- name: string
296
- options: Options
297
- storage: Storage
298
- editor: Editor
299
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onCreate']
300
- }) => void)
301
- | null
302
-
303
- /**
304
- * The content has changed.
305
- */
306
- onUpdate?:
307
- | ((this: {
308
- name: string
309
- options: Options
310
- storage: Storage
311
- editor: Editor
312
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onUpdate']
313
- }) => void)
314
- | null
315
-
316
- /**
317
- * The selection has changed.
318
- */
319
- onSelectionUpdate?:
320
- | ((this: {
321
- name: string
322
- options: Options
323
- storage: Storage
324
- editor: Editor
325
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onSelectionUpdate']
326
- }) => void)
327
- | null
328
-
329
- /**
330
- * The editor state has changed.
331
- */
332
- onTransaction?:
333
- | ((
334
- this: {
335
- name: string
336
- options: Options
337
- storage: Storage
338
- editor: Editor
339
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onTransaction']
340
- },
341
- props: {
342
- editor: Editor
343
- transaction: Transaction
344
- },
345
- ) => void)
346
- | null
347
-
348
- /**
349
- * The editor is focused.
350
- */
351
- onFocus?:
352
- | ((
353
- this: {
354
- name: string
355
- options: Options
356
- storage: Storage
357
- editor: Editor
358
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onFocus']
359
- },
360
- props: {
361
- event: FocusEvent
362
- },
363
- ) => void)
364
- | null
365
-
366
- /**
367
- * The editor isn’t focused anymore.
368
- */
369
- onBlur?:
370
- | ((
371
- this: {
372
- name: string
373
- options: Options
374
- storage: Storage
375
- editor: Editor
376
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onBlur']
377
- },
378
- props: {
379
- event: FocusEvent
380
- },
381
- ) => void)
382
- | null
383
-
384
- /**
385
- * The editor is destroyed.
386
- */
387
- onDestroy?:
388
- | ((this: {
389
- name: string
390
- options: Options
391
- storage: Storage
392
- editor: Editor
393
- parent: ParentConfig<ExtensionConfig<Options, Storage>>['onDestroy']
394
- }) => void)
395
- | null
396
- }
397
- }
3
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
4
+ export interface ExtensionConfig<Options = any, Storage = any>
5
+ extends ExtendableConfig<Options, Storage, ExtensionConfig<Options, Storage>, null> {}
398
6
 
399
7
  /**
400
8
  * The Extension class is the base class for all extensions.
401
9
  * @see https://tiptap.dev/api/extensions#create-a-new-extension
402
10
  */
403
- export class Extension<Options = any, Storage = any> {
11
+ export class Extension<Options = any, Storage = any> extends Extendable<
12
+ Options,
13
+ Storage,
14
+ ExtensionConfig<Options, Storage>
15
+ > {
404
16
  type = 'extension'
405
17
 
406
- name = 'extension'
407
-
408
- parent: Extension | null = null
409
-
410
- child: Extension | null = null
411
-
412
- options: Options
413
-
414
- storage: Storage
415
-
416
- config: ExtensionConfig = {
417
- name: this.name,
418
- defaultOptions: {},
419
- }
420
-
421
- constructor(config: Partial<ExtensionConfig<Options, Storage>> = {}) {
422
- this.config = {
423
- ...this.config,
424
- ...config,
425
- }
426
-
427
- this.name = this.config.name
428
-
429
- if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
430
- console.warn(
431
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`,
432
- )
433
- }
434
-
435
- // TODO: remove `addOptions` fallback
436
- this.options = this.config.defaultOptions
437
-
438
- if (this.config.addOptions) {
439
- this.options = callOrReturn(
440
- getExtensionField<AnyConfig['addOptions']>(this, 'addOptions', {
441
- name: this.name,
442
- }),
443
- )
444
- }
445
-
446
- this.storage = callOrReturn(
447
- getExtensionField<AnyConfig['addStorage']>(this, 'addStorage', {
448
- name: this.name,
449
- options: this.options,
450
- }),
451
- ) || {}
452
- }
453
-
454
18
  static create<O = any, S = any>(config: Partial<ExtensionConfig<O, S>> = {}) {
455
19
  return new Extension<O, S>(config)
456
20
  }
457
21
 
458
- configure(options: Partial<Options> = {}) {
459
- // return a new instance so we can use the same extension
460
- // with different calls of `configure`
461
- const extension = this.extend<Options, Storage>({
462
- ...this.config,
463
- addOptions: () => {
464
- return mergeDeep(this.options as Record<string, any>, options) as Options
465
- },
466
- })
467
-
468
- // Always preserve the current name
469
- extension.name = this.name
470
- // Set the parent to be our parent
471
- extension.parent = this.parent
472
-
473
- return extension
22
+ configure(options?: Partial<Options>) {
23
+ return super.configure(options) as Extension<Options, Storage>
474
24
  }
475
25
 
476
- extend<ExtendedOptions = Options, ExtendedStorage = Storage>(
477
- extendedConfig: Partial<ExtensionConfig<ExtendedOptions, ExtendedStorage>> = {},
478
- ) {
479
- const extension = new Extension<ExtendedOptions, ExtendedStorage>({ ...this.config, ...extendedConfig })
480
-
481
- extension.parent = this
482
-
483
- this.child = extension
484
-
485
- extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name
486
-
487
- if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
488
- console.warn(
489
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`,
490
- )
491
- }
492
-
493
- extension.options = callOrReturn(
494
- getExtensionField<AnyConfig['addOptions']>(extension, 'addOptions', {
495
- name: extension.name,
496
- }),
497
- )
498
-
499
- extension.storage = callOrReturn(
500
- getExtensionField<AnyConfig['addStorage']>(extension, 'addStorage', {
501
- name: extension.name,
502
- options: extension.options,
503
- }),
504
- )
505
-
506
- return extension
26
+ extend<
27
+ ExtendedOptions = Options,
28
+ ExtendedStorage = Storage,
29
+ ExtendedConfig = ExtensionConfig<ExtendedOptions, ExtendedStorage>,
30
+ >(extendedConfig?: Partial<ExtendedConfig>) {
31
+ return super.extend(extendedConfig) as Extension<ExtendedOptions, ExtendedStorage>
507
32
  }
508
33
  }