@blade-hq/agent-react 2612.0.0-beta.1 → 2612.0.0-beta.11

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 (1161) hide show
  1. package/README.md +18 -0
  2. package/dist/chat/ChatPanel.d.ts +1 -3
  3. package/dist/chat/LightComposer.d.ts +1 -1
  4. package/dist/chat/LiteMessageList.d.ts +1 -1
  5. package/dist/chat/MessageList.d.ts +1 -0
  6. package/dist/chat/WorkflowRunBlock.d.ts +19 -3
  7. package/dist/chat/ai-elements/reasoning.d.ts +4 -4
  8. package/dist/chat/customization.d.ts +1 -5
  9. package/dist/chat/index.d.ts +1 -4
  10. package/dist/chat/lib/citations.d.ts +5 -22
  11. package/dist/chat/markdown/MarkdownContent.d.ts +3 -0
  12. package/dist/chat/runtime/actions.d.ts +2 -1
  13. package/dist/chat/runtime/composer-channels.d.ts +4 -0
  14. package/dist/chat/runtime/input-cache-reset.d.ts +1 -1
  15. package/dist/chat/runtime/input-history-storage.d.ts +2 -0
  16. package/dist/chat/runtime/input-services.d.ts +0 -6
  17. package/dist/{chunk-FQQJP2GJ.js → chunk-7TQVTNPL.js} +780 -819
  18. package/dist/chunk-7TQVTNPL.js.map +1 -0
  19. package/dist/{chunk-WCMGQJLE.js → chunk-EYRP6PV3.js} +2 -2
  20. package/dist/{chunk-6ZDOQEWK.js → chunk-JVM2WTTS.js} +898 -638
  21. package/dist/chunk-JVM2WTTS.js.map +1 -0
  22. package/dist/components/ChatInput.d.ts +3 -1
  23. package/dist/components/TopicAssetSubmitDialog.d.ts +14 -0
  24. package/dist/components/plugin-connector.d.ts +1 -0
  25. package/dist/embed/entry.d.ts +2 -0
  26. package/dist/host.d.ts +0 -4
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.js +8 -4
  29. package/dist/internal.d.ts +3 -0
  30. package/dist/internal.js +9 -3
  31. package/dist/internal.js.map +1 -1
  32. package/dist/lib/agent-computer-command.d.ts +1 -3
  33. package/dist/rich-input/ChatInput.d.ts +1 -1
  34. package/dist/rich-input/FileCompletionMenu.d.ts +6 -9
  35. package/dist/rich-input/SkillStatusBar.d.ts +2 -4
  36. package/dist/rich-input/extensions/plugin-mention.d.ts +15 -0
  37. package/dist/rich-input/extensions/skill-mention.d.ts +3 -21
  38. package/dist/rich-input/extensions/topic-asset-mention.d.ts +13 -0
  39. package/dist/rich-input/index.d.ts +6 -3
  40. package/dist/rich-input/lib/composer-content.d.ts +11 -21
  41. package/dist/rich-input/lib/input-history-document.d.ts +3 -0
  42. package/dist/rich-input/lib/plugin-suggestions.d.ts +7 -0
  43. package/dist/rich-input/lib/reference-candidates.d.ts +27 -0
  44. package/dist/rich-input/lib/skill-suggestions.d.ts +1 -1
  45. package/dist/rich-input/lib/topic-asset-suggestions.d.ts +6 -0
  46. package/dist/rich-input/services.d.ts +2 -3
  47. package/dist/rich-input/use-input-history.d.ts +8 -8
  48. package/dist/rich-input/use-reference-candidates.d.ts +8 -0
  49. package/dist/rich-input.js +6409 -6351
  50. package/dist/rich-input.js.map +1 -1
  51. package/dist/style.full.css +1 -1
  52. package/node_modules/@floating-ui/core/LICENSE +20 -0
  53. package/node_modules/@floating-ui/core/README.md +4 -0
  54. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -0
  55. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +1184 -0
  56. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +531 -0
  57. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +531 -0
  58. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +1058 -0
  59. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +1058 -0
  60. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +1203 -0
  61. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -0
  62. package/node_modules/@floating-ui/core/package.json +63 -0
  63. package/node_modules/@floating-ui/dom/LICENSE +20 -0
  64. package/node_modules/@floating-ui/dom/README.md +4 -0
  65. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -0
  66. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +956 -0
  67. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +358 -0
  68. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +358 -0
  69. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +781 -0
  70. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +781 -0
  71. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +975 -0
  72. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -0
  73. package/node_modules/@floating-ui/dom/package.json +71 -0
  74. package/node_modules/@floating-ui/utils/LICENSE +20 -0
  75. package/node_modules/@floating-ui/utils/README.md +4 -0
  76. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +103 -0
  77. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +103 -0
  78. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +47 -0
  79. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +47 -0
  80. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +165 -0
  81. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +165 -0
  82. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +192 -0
  83. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -0
  84. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js +136 -0
  85. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +136 -0
  86. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js +167 -0
  87. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.min.js +1 -0
  88. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +47 -0
  89. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +165 -0
  90. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +192 -0
  91. package/node_modules/@floating-ui/utils/dom/package.json +6 -0
  92. package/node_modules/@floating-ui/utils/package.json +70 -0
  93. package/node_modules/@radix-ui/primitive/LICENSE +21 -0
  94. package/node_modules/@radix-ui/primitive/README.md +3 -0
  95. package/node_modules/@radix-ui/primitive/dist/index.d.mts +20 -0
  96. package/node_modules/@radix-ui/primitive/dist/index.d.ts +20 -0
  97. package/node_modules/@radix-ui/primitive/dist/index.js +76 -0
  98. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -0
  99. package/node_modules/@radix-ui/primitive/dist/index.mjs +53 -0
  100. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -0
  101. package/node_modules/@radix-ui/primitive/package.json +47 -0
  102. package/node_modules/@radix-ui/react-collapsible/LICENSE +21 -0
  103. package/node_modules/@radix-ui/react-collapsible/README.md +3 -0
  104. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +33 -0
  105. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +33 -0
  106. package/node_modules/@radix-ui/react-collapsible/dist/index.js +187 -0
  107. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -0
  108. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +155 -0
  109. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -0
  110. package/node_modules/@radix-ui/react-collapsible/package.json +75 -0
  111. package/node_modules/@radix-ui/react-compose-refs/README.md +13 -0
  112. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +15 -0
  113. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +15 -0
  114. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +74 -0
  115. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -0
  116. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +41 -0
  117. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -0
  118. package/node_modules/@radix-ui/react-compose-refs/package.json +75 -0
  119. package/node_modules/@radix-ui/react-context/README.md +13 -0
  120. package/node_modules/@radix-ui/react-context/dist/index.d.mts +21 -0
  121. package/node_modules/@radix-ui/react-context/dist/index.d.ts +21 -0
  122. package/node_modules/@radix-ui/react-context/dist/index.js +114 -0
  123. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -0
  124. package/node_modules/@radix-ui/react-context/dist/index.mjs +81 -0
  125. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -0
  126. package/node_modules/@radix-ui/react-context/package.json +75 -0
  127. package/node_modules/@radix-ui/react-id/README.md +13 -0
  128. package/node_modules/@radix-ui/react-id/dist/index.d.mts +3 -0
  129. package/node_modules/@radix-ui/react-id/dist/index.d.ts +3 -0
  130. package/node_modules/@radix-ui/react-id/dist/index.js +49 -0
  131. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -0
  132. package/node_modules/@radix-ui/react-id/dist/index.mjs +16 -0
  133. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -0
  134. package/node_modules/@radix-ui/react-id/package.json +78 -0
  135. package/node_modules/@radix-ui/react-presence/LICENSE +21 -0
  136. package/node_modules/@radix-ui/react-presence/README.md +3 -0
  137. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +12 -0
  138. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +12 -0
  139. package/node_modules/@radix-ui/react-presence/dist/index.js +171 -0
  140. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -0
  141. package/node_modules/@radix-ui/react-presence/dist/index.mjs +139 -0
  142. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -0
  143. package/node_modules/@radix-ui/react-presence/package.json +69 -0
  144. package/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  145. package/node_modules/@radix-ui/react-primitive/README.md +3 -0
  146. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  147. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  148. package/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  149. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  150. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  151. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  152. package/node_modules/@radix-ui/react-primitive/package.json +68 -0
  153. package/node_modules/@radix-ui/react-slot/LICENSE +21 -0
  154. package/node_modules/@radix-ui/react-slot/README.md +3 -0
  155. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +17 -0
  156. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +17 -0
  157. package/node_modules/@radix-ui/react-slot/dist/index.js +138 -0
  158. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -0
  159. package/node_modules/@radix-ui/react-slot/dist/index.mjs +105 -0
  160. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -0
  161. package/node_modules/@radix-ui/react-slot/package.json +63 -0
  162. package/node_modules/@radix-ui/react-use-controllable-state/LICENSE +21 -0
  163. package/node_modules/@radix-ui/react-use-controllable-state/README.md +3 -0
  164. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +40 -0
  165. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +40 -0
  166. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +169 -0
  167. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -0
  168. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +136 -0
  169. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -0
  170. package/node_modules/@radix-ui/react-use-controllable-state/package.json +64 -0
  171. package/node_modules/@radix-ui/react-use-effect-event/LICENSE +21 -0
  172. package/node_modules/@radix-ui/react-use-effect-event/README.md +5 -0
  173. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.mts +8 -0
  174. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.ts +8 -0
  175. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js +60 -0
  176. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js.map +7 -0
  177. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs +27 -0
  178. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs.map +7 -0
  179. package/node_modules/@radix-ui/react-use-effect-event/package.json +65 -0
  180. package/node_modules/@radix-ui/react-use-effect-event/src/index.ts +1 -0
  181. package/node_modules/@radix-ui/react-use-effect-event/src/use-effect-event.tsx +36 -0
  182. package/node_modules/@radix-ui/react-use-layout-effect/README.md +13 -0
  183. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +12 -0
  184. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +12 -0
  185. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +41 -0
  186. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -0
  187. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +8 -0
  188. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -0
  189. package/node_modules/@radix-ui/react-use-layout-effect/package.json +75 -0
  190. package/node_modules/@remirror/core-constants/LICENSE +21 -0
  191. package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.cts +612 -0
  192. package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.ts +612 -0
  193. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.cjs +314 -0
  194. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.cts +20 -0
  195. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.ts +20 -0
  196. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.js +269 -0
  197. package/node_modules/@remirror/core-constants/dist-types/core-constants.d.ts +431 -0
  198. package/node_modules/@remirror/core-constants/dist-types/error-constants.d.ts +119 -0
  199. package/node_modules/@remirror/core-constants/dist-types/index.d.ts +2 -0
  200. package/node_modules/@remirror/core-constants/dist-types/tsconfig.tsbuildinfo +1 -0
  201. package/node_modules/@remirror/core-constants/package.json +45 -0
  202. package/node_modules/@remirror/core-constants/readme.md +17 -0
  203. package/node_modules/@tiptap/core/LICENSE.md +21 -0
  204. package/node_modules/@tiptap/core/README.md +18 -0
  205. package/node_modules/@tiptap/core/dist/index.cjs +7126 -0
  206. package/node_modules/@tiptap/core/dist/index.cjs.map +1 -0
  207. package/node_modules/@tiptap/core/dist/index.d.cts +4954 -0
  208. package/node_modules/@tiptap/core/dist/index.d.ts +4954 -0
  209. package/node_modules/@tiptap/core/dist/index.js +6992 -0
  210. package/node_modules/@tiptap/core/dist/index.js.map +1 -0
  211. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs +56 -0
  212. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs.map +1 -0
  213. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.cts +23 -0
  214. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.ts +23 -0
  215. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js +26 -0
  216. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js.map +1 -0
  217. package/node_modules/@tiptap/core/jsx-dev-runtime/index.cjs +1 -0
  218. package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.cts +1 -0
  219. package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.ts +1 -0
  220. package/node_modules/@tiptap/core/jsx-dev-runtime/index.js +1 -0
  221. package/node_modules/@tiptap/core/jsx-runtime/index.cjs +1 -0
  222. package/node_modules/@tiptap/core/jsx-runtime/index.d.cts +1 -0
  223. package/node_modules/@tiptap/core/jsx-runtime/index.d.ts +1 -0
  224. package/node_modules/@tiptap/core/jsx-runtime/index.js +1 -0
  225. package/node_modules/@tiptap/core/package.json +70 -0
  226. package/node_modules/@tiptap/core/src/CommandManager.ts +138 -0
  227. package/node_modules/@tiptap/core/src/Editor.ts +806 -0
  228. package/node_modules/@tiptap/core/src/EventEmitter.ts +58 -0
  229. package/node_modules/@tiptap/core/src/Extendable.ts +602 -0
  230. package/node_modules/@tiptap/core/src/Extension.ts +55 -0
  231. package/node_modules/@tiptap/core/src/ExtensionManager.ts +440 -0
  232. package/node_modules/@tiptap/core/src/InputRule.ts +290 -0
  233. package/node_modules/@tiptap/core/src/Mark.ts +211 -0
  234. package/node_modules/@tiptap/core/src/MarkView.ts +122 -0
  235. package/node_modules/@tiptap/core/src/Node.ts +377 -0
  236. package/node_modules/@tiptap/core/src/NodePos.ts +257 -0
  237. package/node_modules/@tiptap/core/src/NodeView.ts +339 -0
  238. package/node_modules/@tiptap/core/src/PasteRule.ts +373 -0
  239. package/node_modules/@tiptap/core/src/Tracker.ts +36 -0
  240. package/node_modules/@tiptap/core/src/__tests__/transformPastedHTML.test.ts +575 -0
  241. package/node_modules/@tiptap/core/src/commands/blur.ts +29 -0
  242. package/node_modules/@tiptap/core/src/commands/clearContent.ts +25 -0
  243. package/node_modules/@tiptap/core/src/commands/clearNodes.ts +57 -0
  244. package/node_modules/@tiptap/core/src/commands/command.ts +22 -0
  245. package/node_modules/@tiptap/core/src/commands/createParagraphNear.ts +21 -0
  246. package/node_modules/@tiptap/core/src/commands/cut.ts +36 -0
  247. package/node_modules/@tiptap/core/src/commands/deleteCurrentNode.ts +44 -0
  248. package/node_modules/@tiptap/core/src/commands/deleteNode.ts +41 -0
  249. package/node_modules/@tiptap/core/src/commands/deleteRange.ts +26 -0
  250. package/node_modules/@tiptap/core/src/commands/deleteSelection.ts +21 -0
  251. package/node_modules/@tiptap/core/src/commands/enter.ts +19 -0
  252. package/node_modules/@tiptap/core/src/commands/exitCode.ts +21 -0
  253. package/node_modules/@tiptap/core/src/commands/extendMarkRange.ts +51 -0
  254. package/node_modules/@tiptap/core/src/commands/first.ts +26 -0
  255. package/node_modules/@tiptap/core/src/commands/focus.ts +108 -0
  256. package/node_modules/@tiptap/core/src/commands/forEach.ts +24 -0
  257. package/node_modules/@tiptap/core/src/commands/index.ts +57 -0
  258. package/node_modules/@tiptap/core/src/commands/insertContent.ts +46 -0
  259. package/node_modules/@tiptap/core/src/commands/insertContentAt.ts +212 -0
  260. package/node_modules/@tiptap/core/src/commands/join.ts +69 -0
  261. package/node_modules/@tiptap/core/src/commands/joinItemBackward.ts +37 -0
  262. package/node_modules/@tiptap/core/src/commands/joinItemForward.ts +37 -0
  263. package/node_modules/@tiptap/core/src/commands/joinTextblockBackward.ts +20 -0
  264. package/node_modules/@tiptap/core/src/commands/joinTextblockForward.ts +20 -0
  265. package/node_modules/@tiptap/core/src/commands/keyboardShortcut.ts +100 -0
  266. package/node_modules/@tiptap/core/src/commands/lift.ts +34 -0
  267. package/node_modules/@tiptap/core/src/commands/liftEmptyBlock.ts +21 -0
  268. package/node_modules/@tiptap/core/src/commands/liftListItem.ts +26 -0
  269. package/node_modules/@tiptap/core/src/commands/newlineInCode.ts +21 -0
  270. package/node_modules/@tiptap/core/src/commands/resetAttributes.ts +73 -0
  271. package/node_modules/@tiptap/core/src/commands/scrollIntoView.ts +23 -0
  272. package/node_modules/@tiptap/core/src/commands/selectAll.ts +27 -0
  273. package/node_modules/@tiptap/core/src/commands/selectNodeBackward.ts +21 -0
  274. package/node_modules/@tiptap/core/src/commands/selectNodeForward.ts +21 -0
  275. package/node_modules/@tiptap/core/src/commands/selectParentNode.ts +21 -0
  276. package/node_modules/@tiptap/core/src/commands/selectTextblockEnd.ts +23 -0
  277. package/node_modules/@tiptap/core/src/commands/selectTextblockStart.ts +23 -0
  278. package/node_modules/@tiptap/core/src/commands/setContent.ts +76 -0
  279. package/node_modules/@tiptap/core/src/commands/setMark.ts +118 -0
  280. package/node_modules/@tiptap/core/src/commands/setMeta.ts +25 -0
  281. package/node_modules/@tiptap/core/src/commands/setNode.ts +57 -0
  282. package/node_modules/@tiptap/core/src/commands/setNodeSelection.ts +31 -0
  283. package/node_modules/@tiptap/core/src/commands/setTextDirection.ts +51 -0
  284. package/node_modules/@tiptap/core/src/commands/setTextSelection.ts +35 -0
  285. package/node_modules/@tiptap/core/src/commands/sinkListItem.ts +26 -0
  286. package/node_modules/@tiptap/core/src/commands/splitBlock.ts +115 -0
  287. package/node_modules/@tiptap/core/src/commands/splitListItem.ts +149 -0
  288. package/node_modules/@tiptap/core/src/commands/toggleList.ts +159 -0
  289. package/node_modules/@tiptap/core/src/commands/toggleMark.ts +51 -0
  290. package/node_modules/@tiptap/core/src/commands/toggleNode.ts +47 -0
  291. package/node_modules/@tiptap/core/src/commands/toggleWrap.ts +32 -0
  292. package/node_modules/@tiptap/core/src/commands/undoInputRule.ts +49 -0
  293. package/node_modules/@tiptap/core/src/commands/unsetAllMarks.ts +32 -0
  294. package/node_modules/@tiptap/core/src/commands/unsetMark.ts +65 -0
  295. package/node_modules/@tiptap/core/src/commands/unsetTextDirection.ts +51 -0
  296. package/node_modules/@tiptap/core/src/commands/updateAttributes.ts +150 -0
  297. package/node_modules/@tiptap/core/src/commands/wrapIn.ts +27 -0
  298. package/node_modules/@tiptap/core/src/commands/wrapInList.ts +27 -0
  299. package/node_modules/@tiptap/core/src/extensions/clipboardTextSerializer.ts +44 -0
  300. package/node_modules/@tiptap/core/src/extensions/commands.ts +14 -0
  301. package/node_modules/@tiptap/core/src/extensions/delete.ts +89 -0
  302. package/node_modules/@tiptap/core/src/extensions/drop.ts +26 -0
  303. package/node_modules/@tiptap/core/src/extensions/editable.ts +18 -0
  304. package/node_modules/@tiptap/core/src/extensions/focusEvents.ts +41 -0
  305. package/node_modules/@tiptap/core/src/extensions/index.ts +10 -0
  306. package/node_modules/@tiptap/core/src/extensions/keymap.ts +160 -0
  307. package/node_modules/@tiptap/core/src/extensions/paste.ts +25 -0
  308. package/node_modules/@tiptap/core/src/extensions/tabindex.ts +18 -0
  309. package/node_modules/@tiptap/core/src/extensions/textDirection.ts +86 -0
  310. package/node_modules/@tiptap/core/src/helpers/MappablePosition.ts +66 -0
  311. package/node_modules/@tiptap/core/src/helpers/combineTransactionSteps.ts +21 -0
  312. package/node_modules/@tiptap/core/src/helpers/createChainableState.ts +39 -0
  313. package/node_modules/@tiptap/core/src/helpers/createDocument.ts +24 -0
  314. package/node_modules/@tiptap/core/src/helpers/createNodeFromContent.ts +119 -0
  315. package/node_modules/@tiptap/core/src/helpers/defaultBlockAt.ts +18 -0
  316. package/node_modules/@tiptap/core/src/helpers/findChildren.ts +24 -0
  317. package/node_modules/@tiptap/core/src/helpers/findChildrenInRange.ts +36 -0
  318. package/node_modules/@tiptap/core/src/helpers/findParentNode.ts +18 -0
  319. package/node_modules/@tiptap/core/src/helpers/findParentNodeClosestToPos.ts +37 -0
  320. package/node_modules/@tiptap/core/src/helpers/flattenExtensions.ts +30 -0
  321. package/node_modules/@tiptap/core/src/helpers/generateHTML.ts +18 -0
  322. package/node_modules/@tiptap/core/src/helpers/generateJSON.ts +18 -0
  323. package/node_modules/@tiptap/core/src/helpers/generateText.ts +34 -0
  324. package/node_modules/@tiptap/core/src/helpers/getAttributes.ts +29 -0
  325. package/node_modules/@tiptap/core/src/helpers/getAttributesFromExtensions.ts +122 -0
  326. package/node_modules/@tiptap/core/src/helpers/getChangedRanges.ts +85 -0
  327. package/node_modules/@tiptap/core/src/helpers/getDebugJSON.ts +54 -0
  328. package/node_modules/@tiptap/core/src/helpers/getExtensionField.ts +32 -0
  329. package/node_modules/@tiptap/core/src/helpers/getHTMLFromFragment.ts +13 -0
  330. package/node_modules/@tiptap/core/src/helpers/getMarkAttributes.ts +30 -0
  331. package/node_modules/@tiptap/core/src/helpers/getMarkRange.ts +90 -0
  332. package/node_modules/@tiptap/core/src/helpers/getMarkType.ts +13 -0
  333. package/node_modules/@tiptap/core/src/helpers/getMarksBetween.ts +44 -0
  334. package/node_modules/@tiptap/core/src/helpers/getNodeAtPosition.ts +29 -0
  335. package/node_modules/@tiptap/core/src/helpers/getNodeAttributes.ts +22 -0
  336. package/node_modules/@tiptap/core/src/helpers/getNodeType.ts +13 -0
  337. package/node_modules/@tiptap/core/src/helpers/getRenderedAttributes.ts +23 -0
  338. package/node_modules/@tiptap/core/src/helpers/getSchema.ts +12 -0
  339. package/node_modules/@tiptap/core/src/helpers/getSchemaByResolvedExtensions.ts +183 -0
  340. package/node_modules/@tiptap/core/src/helpers/getSchemaTypeByName.ts +11 -0
  341. package/node_modules/@tiptap/core/src/helpers/getSchemaTypeNameByName.ts +19 -0
  342. package/node_modules/@tiptap/core/src/helpers/getSplittedAttributes.ts +28 -0
  343. package/node_modules/@tiptap/core/src/helpers/getText.ts +28 -0
  344. package/node_modules/@tiptap/core/src/helpers/getTextBetween.ts +52 -0
  345. package/node_modules/@tiptap/core/src/helpers/getTextContentFromNodes.ts +29 -0
  346. package/node_modules/@tiptap/core/src/helpers/getTextSerializersFromSchema.ts +16 -0
  347. package/node_modules/@tiptap/core/src/helpers/index.ts +55 -0
  348. package/node_modules/@tiptap/core/src/helpers/injectExtensionAttributesToParseRule.ts +47 -0
  349. package/node_modules/@tiptap/core/src/helpers/isActive.ts +23 -0
  350. package/node_modules/@tiptap/core/src/helpers/isAtEndOfNode.ts +29 -0
  351. package/node_modules/@tiptap/core/src/helpers/isAtStartOfNode.ts +11 -0
  352. package/node_modules/@tiptap/core/src/helpers/isExtensionRulesEnabled.ts +13 -0
  353. package/node_modules/@tiptap/core/src/helpers/isList.ts +27 -0
  354. package/node_modules/@tiptap/core/src/helpers/isMarkActive.ts +94 -0
  355. package/node_modules/@tiptap/core/src/helpers/isNodeActive.ts +51 -0
  356. package/node_modules/@tiptap/core/src/helpers/isNodeEmpty.ts +62 -0
  357. package/node_modules/@tiptap/core/src/helpers/isNodeSelection.ts +5 -0
  358. package/node_modules/@tiptap/core/src/helpers/isTextSelection.ts +5 -0
  359. package/node_modules/@tiptap/core/src/helpers/posToDOMRect.ts +35 -0
  360. package/node_modules/@tiptap/core/src/helpers/resolveExtensions.ts +25 -0
  361. package/node_modules/@tiptap/core/src/helpers/resolveFocusPosition.ts +31 -0
  362. package/node_modules/@tiptap/core/src/helpers/rewriteUnknownContent.ts +149 -0
  363. package/node_modules/@tiptap/core/src/helpers/selectionToInsertionEnd.ts +29 -0
  364. package/node_modules/@tiptap/core/src/helpers/sortExtensions.ts +26 -0
  365. package/node_modules/@tiptap/core/src/helpers/splitExtensions.ts +16 -0
  366. package/node_modules/@tiptap/core/src/index.ts +28 -0
  367. package/node_modules/@tiptap/core/src/inputRules/index.ts +5 -0
  368. package/node_modules/@tiptap/core/src/inputRules/markInputRule.ts +68 -0
  369. package/node_modules/@tiptap/core/src/inputRules/nodeInputRule.ts +73 -0
  370. package/node_modules/@tiptap/core/src/inputRules/textInputRule.ts +35 -0
  371. package/node_modules/@tiptap/core/src/inputRules/textblockTypeInputRule.ts +35 -0
  372. package/node_modules/@tiptap/core/src/inputRules/wrappingInputRule.ts +82 -0
  373. package/node_modules/@tiptap/core/src/jsx-runtime.ts +65 -0
  374. package/node_modules/@tiptap/core/src/lib/ResizableNodeView.ts +1060 -0
  375. package/node_modules/@tiptap/core/src/lib/index.ts +1 -0
  376. package/node_modules/@tiptap/core/src/pasteRules/index.ts +3 -0
  377. package/node_modules/@tiptap/core/src/pasteRules/markPasteRule.ts +71 -0
  378. package/node_modules/@tiptap/core/src/pasteRules/nodePasteRule.ts +44 -0
  379. package/node_modules/@tiptap/core/src/pasteRules/textPasteRule.ts +34 -0
  380. package/node_modules/@tiptap/core/src/style.ts +71 -0
  381. package/node_modules/@tiptap/core/src/types.ts +1058 -0
  382. package/node_modules/@tiptap/core/src/utilities/callOrReturn.ts +21 -0
  383. package/node_modules/@tiptap/core/src/utilities/canInsertNode.ts +30 -0
  384. package/node_modules/@tiptap/core/src/utilities/createStyleTag.ts +21 -0
  385. package/node_modules/@tiptap/core/src/utilities/deleteProps.ts +16 -0
  386. package/node_modules/@tiptap/core/src/utilities/elementFromString.ts +27 -0
  387. package/node_modules/@tiptap/core/src/utilities/escapeForRegEx.ts +4 -0
  388. package/node_modules/@tiptap/core/src/utilities/findDuplicates.ts +8 -0
  389. package/node_modules/@tiptap/core/src/utilities/fromString.ts +19 -0
  390. package/node_modules/@tiptap/core/src/utilities/index.ts +26 -0
  391. package/node_modules/@tiptap/core/src/utilities/isAndroid.ts +3 -0
  392. package/node_modules/@tiptap/core/src/utilities/isEmptyObject.ts +3 -0
  393. package/node_modules/@tiptap/core/src/utilities/isFirefox.ts +11 -0
  394. package/node_modules/@tiptap/core/src/utilities/isFunction.ts +4 -0
  395. package/node_modules/@tiptap/core/src/utilities/isMacOS.ts +3 -0
  396. package/node_modules/@tiptap/core/src/utilities/isNumber.ts +3 -0
  397. package/node_modules/@tiptap/core/src/utilities/isPlainObject.ts +13 -0
  398. package/node_modules/@tiptap/core/src/utilities/isRegExp.ts +3 -0
  399. package/node_modules/@tiptap/core/src/utilities/isSafari.ts +11 -0
  400. package/node_modules/@tiptap/core/src/utilities/isString.ts +3 -0
  401. package/node_modules/@tiptap/core/src/utilities/isiOS.ts +7 -0
  402. package/node_modules/@tiptap/core/src/utilities/markdown/attributeUtils.ts +130 -0
  403. package/node_modules/@tiptap/core/src/utilities/markdown/createAtomBlockMarkdownSpec.ts +141 -0
  404. package/node_modules/@tiptap/core/src/utilities/markdown/createBlockMarkdownSpec.ts +225 -0
  405. package/node_modules/@tiptap/core/src/utilities/markdown/createInlineMarkdownSpec.ts +282 -0
  406. package/node_modules/@tiptap/core/src/utilities/markdown/index.ts +13 -0
  407. package/node_modules/@tiptap/core/src/utilities/markdown/parseIndentedBlocks.ts +194 -0
  408. package/node_modules/@tiptap/core/src/utilities/markdown/renderNestedMarkdownContent.ts +96 -0
  409. package/node_modules/@tiptap/core/src/utilities/mergeAttributes.ts +109 -0
  410. package/node_modules/@tiptap/core/src/utilities/mergeDeep.ts +17 -0
  411. package/node_modules/@tiptap/core/src/utilities/minMax.ts +3 -0
  412. package/node_modules/@tiptap/core/src/utilities/objectIncludes.ts +30 -0
  413. package/node_modules/@tiptap/core/src/utilities/removeDuplicates.ts +13 -0
  414. package/node_modules/@tiptap/extension-bubble-menu/LICENSE.md +21 -0
  415. package/node_modules/@tiptap/extension-bubble-menu/README.md +18 -0
  416. package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs +462 -0
  417. package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs.map +1 -0
  418. package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.cts +169 -0
  419. package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.ts +169 -0
  420. package/node_modules/@tiptap/extension-bubble-menu/dist/index.js +443 -0
  421. package/node_modules/@tiptap/extension-bubble-menu/dist/index.js.map +1 -0
  422. package/node_modules/@tiptap/extension-bubble-menu/package.json +54 -0
  423. package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu-plugin.ts +650 -0
  424. package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu.ts +50 -0
  425. package/node_modules/@tiptap/extension-bubble-menu/src/index.ts +6 -0
  426. package/node_modules/@tiptap/extension-floating-menu/LICENSE.md +21 -0
  427. package/node_modules/@tiptap/extension-floating-menu/README.md +18 -0
  428. package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs +380 -0
  429. package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs.map +1 -0
  430. package/node_modules/@tiptap/extension-floating-menu/dist/index.d.cts +179 -0
  431. package/node_modules/@tiptap/extension-floating-menu/dist/index.d.ts +179 -0
  432. package/node_modules/@tiptap/extension-floating-menu/dist/index.js +361 -0
  433. package/node_modules/@tiptap/extension-floating-menu/dist/index.js.map +1 -0
  434. package/node_modules/@tiptap/extension-floating-menu/package.json +53 -0
  435. package/node_modules/@tiptap/extension-floating-menu/src/floating-menu-plugin.ts +525 -0
  436. package/node_modules/@tiptap/extension-floating-menu/src/floating-menu.ts +77 -0
  437. package/node_modules/@tiptap/extension-floating-menu/src/index.ts +6 -0
  438. package/node_modules/@tiptap/extension-mention/LICENSE.md +21 -0
  439. package/node_modules/@tiptap/extension-mention/README.md +18 -0
  440. package/node_modules/@tiptap/extension-mention/dist/index.cjs +277 -0
  441. package/node_modules/@tiptap/extension-mention/dist/index.cjs.map +1 -0
  442. package/node_modules/@tiptap/extension-mention/dist/index.d.cts +93 -0
  443. package/node_modules/@tiptap/extension-mention/dist/index.d.ts +93 -0
  444. package/node_modules/@tiptap/extension-mention/dist/index.js +250 -0
  445. package/node_modules/@tiptap/extension-mention/dist/index.js.map +1 -0
  446. package/node_modules/@tiptap/extension-mention/package.json +52 -0
  447. package/node_modules/@tiptap/extension-mention/src/index.ts +5 -0
  448. package/node_modules/@tiptap/extension-mention/src/mention.ts +357 -0
  449. package/node_modules/@tiptap/extension-mention/src/utils/get-default-suggestion-attributes.ts +89 -0
  450. package/node_modules/@tiptap/pm/LICENSE.md +21 -0
  451. package/node_modules/@tiptap/pm/README.md +22 -0
  452. package/node_modules/@tiptap/pm/changeset/index.ts +1 -0
  453. package/node_modules/@tiptap/pm/collab/index.ts +1 -0
  454. package/node_modules/@tiptap/pm/commands/index.ts +1 -0
  455. package/node_modules/@tiptap/pm/dist/changeset/index.cjs +2 -0
  456. package/node_modules/@tiptap/pm/dist/changeset/index.d.cts +18 -0
  457. package/node_modules/@tiptap/pm/dist/changeset/index.d.ts +18 -0
  458. package/node_modules/@tiptap/pm/dist/changeset/index.js +2 -0
  459. package/node_modules/@tiptap/pm/dist/collab/index.cjs +2 -0
  460. package/node_modules/@tiptap/pm/dist/collab/index.d.cts +1 -0
  461. package/node_modules/@tiptap/pm/dist/collab/index.d.ts +1 -0
  462. package/node_modules/@tiptap/pm/dist/collab/index.js +2 -0
  463. package/node_modules/@tiptap/pm/dist/commands/index.cjs +2 -0
  464. package/node_modules/@tiptap/pm/dist/commands/index.d.cts +1 -0
  465. package/node_modules/@tiptap/pm/dist/commands/index.d.ts +1 -0
  466. package/node_modules/@tiptap/pm/dist/commands/index.js +2 -0
  467. package/node_modules/@tiptap/pm/dist/dropcursor/index.cjs +2 -0
  468. package/node_modules/@tiptap/pm/dist/dropcursor/index.d.cts +1 -0
  469. package/node_modules/@tiptap/pm/dist/dropcursor/index.d.ts +1 -0
  470. package/node_modules/@tiptap/pm/dist/dropcursor/index.js +2 -0
  471. package/node_modules/@tiptap/pm/dist/gapcursor/index.cjs +2 -0
  472. package/node_modules/@tiptap/pm/dist/gapcursor/index.d.cts +1 -0
  473. package/node_modules/@tiptap/pm/dist/gapcursor/index.d.ts +1 -0
  474. package/node_modules/@tiptap/pm/dist/gapcursor/index.js +2 -0
  475. package/node_modules/@tiptap/pm/dist/history/index.cjs +2 -0
  476. package/node_modules/@tiptap/pm/dist/history/index.d.cts +1 -0
  477. package/node_modules/@tiptap/pm/dist/history/index.d.ts +1 -0
  478. package/node_modules/@tiptap/pm/dist/history/index.js +2 -0
  479. package/node_modules/@tiptap/pm/dist/inputrules/index.cjs +2 -0
  480. package/node_modules/@tiptap/pm/dist/inputrules/index.d.cts +1 -0
  481. package/node_modules/@tiptap/pm/dist/inputrules/index.d.ts +1 -0
  482. package/node_modules/@tiptap/pm/dist/inputrules/index.js +2 -0
  483. package/node_modules/@tiptap/pm/dist/keymap/index.cjs +2 -0
  484. package/node_modules/@tiptap/pm/dist/keymap/index.d.cts +1 -0
  485. package/node_modules/@tiptap/pm/dist/keymap/index.d.ts +1 -0
  486. package/node_modules/@tiptap/pm/dist/keymap/index.js +2 -0
  487. package/node_modules/@tiptap/pm/dist/markdown/index.cjs +2 -0
  488. package/node_modules/@tiptap/pm/dist/markdown/index.d.cts +1 -0
  489. package/node_modules/@tiptap/pm/dist/markdown/index.d.ts +1 -0
  490. package/node_modules/@tiptap/pm/dist/markdown/index.js +2 -0
  491. package/node_modules/@tiptap/pm/dist/menu/index.cjs +2 -0
  492. package/node_modules/@tiptap/pm/dist/menu/index.d.cts +1 -0
  493. package/node_modules/@tiptap/pm/dist/menu/index.d.ts +1 -0
  494. package/node_modules/@tiptap/pm/dist/menu/index.js +2 -0
  495. package/node_modules/@tiptap/pm/dist/model/index.cjs +2 -0
  496. package/node_modules/@tiptap/pm/dist/model/index.d.cts +1 -0
  497. package/node_modules/@tiptap/pm/dist/model/index.d.ts +1 -0
  498. package/node_modules/@tiptap/pm/dist/model/index.js +2 -0
  499. package/node_modules/@tiptap/pm/dist/schema-basic/index.cjs +2 -0
  500. package/node_modules/@tiptap/pm/dist/schema-basic/index.d.cts +1 -0
  501. package/node_modules/@tiptap/pm/dist/schema-basic/index.d.ts +1 -0
  502. package/node_modules/@tiptap/pm/dist/schema-basic/index.js +2 -0
  503. package/node_modules/@tiptap/pm/dist/schema-list/index.cjs +2 -0
  504. package/node_modules/@tiptap/pm/dist/schema-list/index.d.cts +1 -0
  505. package/node_modules/@tiptap/pm/dist/schema-list/index.d.ts +1 -0
  506. package/node_modules/@tiptap/pm/dist/schema-list/index.js +2 -0
  507. package/node_modules/@tiptap/pm/dist/state/index.cjs +2 -0
  508. package/node_modules/@tiptap/pm/dist/state/index.d.cts +1 -0
  509. package/node_modules/@tiptap/pm/dist/state/index.d.ts +1 -0
  510. package/node_modules/@tiptap/pm/dist/state/index.js +2 -0
  511. package/node_modules/@tiptap/pm/dist/tables/index.cjs +2 -0
  512. package/node_modules/@tiptap/pm/dist/tables/index.d.cts +1 -0
  513. package/node_modules/@tiptap/pm/dist/tables/index.d.ts +1 -0
  514. package/node_modules/@tiptap/pm/dist/tables/index.js +2 -0
  515. package/node_modules/@tiptap/pm/dist/trailing-node/index.cjs +2 -0
  516. package/node_modules/@tiptap/pm/dist/trailing-node/index.d.cts +1 -0
  517. package/node_modules/@tiptap/pm/dist/trailing-node/index.d.ts +1 -0
  518. package/node_modules/@tiptap/pm/dist/trailing-node/index.js +2 -0
  519. package/node_modules/@tiptap/pm/dist/transform/index.cjs +2 -0
  520. package/node_modules/@tiptap/pm/dist/transform/index.d.cts +1 -0
  521. package/node_modules/@tiptap/pm/dist/transform/index.d.ts +1 -0
  522. package/node_modules/@tiptap/pm/dist/transform/index.js +2 -0
  523. package/node_modules/@tiptap/pm/dist/view/index.cjs +2 -0
  524. package/node_modules/@tiptap/pm/dist/view/index.d.cts +1 -0
  525. package/node_modules/@tiptap/pm/dist/view/index.d.ts +1 -0
  526. package/node_modules/@tiptap/pm/dist/view/index.js +2 -0
  527. package/node_modules/@tiptap/pm/dropcursor/index.ts +1 -0
  528. package/node_modules/@tiptap/pm/gapcursor/index.ts +1 -0
  529. package/node_modules/@tiptap/pm/history/index.ts +1 -0
  530. package/node_modules/@tiptap/pm/inputrules/index.ts +1 -0
  531. package/node_modules/@tiptap/pm/keymap/index.ts +1 -0
  532. package/node_modules/@tiptap/pm/markdown/index.ts +1 -0
  533. package/node_modules/@tiptap/pm/menu/index.ts +1 -0
  534. package/node_modules/@tiptap/pm/model/index.ts +1 -0
  535. package/node_modules/@tiptap/pm/package.json +211 -0
  536. package/node_modules/@tiptap/pm/schema-basic/index.ts +1 -0
  537. package/node_modules/@tiptap/pm/schema-list/index.ts +1 -0
  538. package/node_modules/@tiptap/pm/state/index.ts +1 -0
  539. package/node_modules/@tiptap/pm/tables/index.ts +1 -0
  540. package/node_modules/@tiptap/pm/trailing-node/index.ts +1 -0
  541. package/node_modules/@tiptap/pm/transform/index.ts +1 -0
  542. package/node_modules/@tiptap/pm/view/index.ts +1 -0
  543. package/node_modules/@tiptap/react/LICENSE.md +21 -0
  544. package/node_modules/@tiptap/react/README.md +18 -0
  545. package/node_modules/@tiptap/react/dist/index.cjs +1195 -0
  546. package/node_modules/@tiptap/react/dist/index.cjs.map +1 -0
  547. package/node_modules/@tiptap/react/dist/index.d.cts +534 -0
  548. package/node_modules/@tiptap/react/dist/index.d.ts +534 -0
  549. package/node_modules/@tiptap/react/dist/index.js +1131 -0
  550. package/node_modules/@tiptap/react/dist/index.js.map +1 -0
  551. package/node_modules/@tiptap/react/dist/menus/index.cjs +499 -0
  552. package/node_modules/@tiptap/react/dist/menus/index.cjs.map +1 -0
  553. package/node_modules/@tiptap/react/dist/menus/index.d.cts +19 -0
  554. package/node_modules/@tiptap/react/dist/menus/index.d.ts +19 -0
  555. package/node_modules/@tiptap/react/dist/menus/index.js +461 -0
  556. package/node_modules/@tiptap/react/dist/menus/index.js.map +1 -0
  557. package/node_modules/@tiptap/react/package.json +76 -0
  558. package/node_modules/@tiptap/react/src/Context.tsx +60 -0
  559. package/node_modules/@tiptap/react/src/Editor.ts +13 -0
  560. package/node_modules/@tiptap/react/src/EditorContent.tsx +229 -0
  561. package/node_modules/@tiptap/react/src/NodeViewContent.tsx +30 -0
  562. package/node_modules/@tiptap/react/src/NodeViewWrapper.tsx +27 -0
  563. package/node_modules/@tiptap/react/src/ReactMarkViewRenderer.tsx +106 -0
  564. package/node_modules/@tiptap/react/src/ReactNodeViewRenderer.tsx +387 -0
  565. package/node_modules/@tiptap/react/src/ReactRenderer.tsx +282 -0
  566. package/node_modules/@tiptap/react/src/Tiptap.tsx +224 -0
  567. package/node_modules/@tiptap/react/src/index.ts +13 -0
  568. package/node_modules/@tiptap/react/src/menus/BubbleMenu.spec.ts +174 -0
  569. package/node_modules/@tiptap/react/src/menus/BubbleMenu.tsx +153 -0
  570. package/node_modules/@tiptap/react/src/menus/FloatingMenu.spec.ts +164 -0
  571. package/node_modules/@tiptap/react/src/menus/FloatingMenu.tsx +137 -0
  572. package/node_modules/@tiptap/react/src/menus/getAutoPluginKey.ts +5 -0
  573. package/node_modules/@tiptap/react/src/menus/index.ts +2 -0
  574. package/node_modules/@tiptap/react/src/menus/useMenuElementProps.ts +354 -0
  575. package/node_modules/@tiptap/react/src/types.ts +6 -0
  576. package/node_modules/@tiptap/react/src/useEditor.ts +382 -0
  577. package/node_modules/@tiptap/react/src/useEditorState.ts +173 -0
  578. package/node_modules/@tiptap/react/src/useReactNodeView.ts +28 -0
  579. package/node_modules/@tiptap/suggestion/LICENSE.md +21 -0
  580. package/node_modules/@tiptap/suggestion/README.md +18 -0
  581. package/node_modules/@tiptap/suggestion/dist/index.cjs +369 -0
  582. package/node_modules/@tiptap/suggestion/dist/index.cjs.map +1 -0
  583. package/node_modules/@tiptap/suggestion/dist/index.d.cts +213 -0
  584. package/node_modules/@tiptap/suggestion/dist/index.d.ts +213 -0
  585. package/node_modules/@tiptap/suggestion/dist/index.js +339 -0
  586. package/node_modules/@tiptap/suggestion/dist/index.js.map +1 -0
  587. package/node_modules/@tiptap/suggestion/package.json +50 -0
  588. package/node_modules/@tiptap/suggestion/src/__tests__/suggestion.test.ts +127 -0
  589. package/node_modules/@tiptap/suggestion/src/findSuggestionMatch.ts +79 -0
  590. package/node_modules/@tiptap/suggestion/src/index.ts +8 -0
  591. package/node_modules/@tiptap/suggestion/src/suggestion.ts +585 -0
  592. package/node_modules/@types/linkify-it/LICENSE +21 -0
  593. package/node_modules/@types/linkify-it/README.md +15 -0
  594. package/node_modules/@types/linkify-it/build/index.cjs.d.ts +178 -0
  595. package/node_modules/@types/linkify-it/index.d.mts +174 -0
  596. package/node_modules/@types/linkify-it/index.d.ts +3 -0
  597. package/node_modules/@types/linkify-it/package.json +50 -0
  598. package/node_modules/@types/markdown-it/LICENSE +21 -0
  599. package/node_modules/@types/markdown-it/README.md +15 -0
  600. package/node_modules/@types/markdown-it/dist/index.cjs.d.ts +1236 -0
  601. package/node_modules/@types/markdown-it/dist/markdown-it.d.ts +5 -0
  602. package/node_modules/@types/markdown-it/dist/markdown-it.min.d.ts +5 -0
  603. package/node_modules/@types/markdown-it/index.d.mts +1 -0
  604. package/node_modules/@types/markdown-it/index.d.ts +3 -0
  605. package/node_modules/@types/markdown-it/lib/common/html_blocks.d.mts +7 -0
  606. package/node_modules/@types/markdown-it/lib/common/html_re.d.mts +2 -0
  607. package/node_modules/@types/markdown-it/lib/common/utils.d.mts +62 -0
  608. package/node_modules/@types/markdown-it/lib/helpers/index.d.mts +5 -0
  609. package/node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.mts +7 -0
  610. package/node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.mts +3 -0
  611. package/node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.mts +29 -0
  612. package/node_modules/@types/markdown-it/lib/index.d.mts +404 -0
  613. package/node_modules/@types/markdown-it/lib/parser_block.d.mts +25 -0
  614. package/node_modules/@types/markdown-it/lib/parser_core.d.mts +18 -0
  615. package/node_modules/@types/markdown-it/lib/parser_inline.d.mts +38 -0
  616. package/node_modules/@types/markdown-it/lib/renderer.d.mts +96 -0
  617. package/node_modules/@types/markdown-it/lib/ruler.d.mts +158 -0
  618. package/node_modules/@types/markdown-it/lib/rules_block/state_block.d.mts +124 -0
  619. package/node_modules/@types/markdown-it/lib/rules_core/state_core.d.mts +18 -0
  620. package/node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.mts +73 -0
  621. package/node_modules/@types/markdown-it/lib/token.d.mts +108 -0
  622. package/node_modules/@types/markdown-it/package.json +54 -0
  623. package/node_modules/@types/mdurl/LICENSE +21 -0
  624. package/node_modules/@types/mdurl/README.md +15 -0
  625. package/node_modules/@types/mdurl/build/index.cjs.d.ts +52 -0
  626. package/node_modules/@types/mdurl/index.d.mts +6 -0
  627. package/node_modules/@types/mdurl/index.d.ts +3 -0
  628. package/node_modules/@types/mdurl/lib/decode.d.mts +10 -0
  629. package/node_modules/@types/mdurl/lib/encode.d.mts +15 -0
  630. package/node_modules/@types/mdurl/lib/format.d.mts +3 -0
  631. package/node_modules/@types/mdurl/lib/parse.d.mts +18 -0
  632. package/node_modules/@types/mdurl/package.json +36 -0
  633. package/node_modules/@types/use-sync-external-store/LICENSE +21 -0
  634. package/node_modules/@types/use-sync-external-store/README.md +15 -0
  635. package/node_modules/@types/use-sync-external-store/index.d.ts +5 -0
  636. package/node_modules/@types/use-sync-external-store/package.json +30 -0
  637. package/node_modules/@types/use-sync-external-store/shim/index.d.ts +1 -0
  638. package/node_modules/@types/use-sync-external-store/shim/with-selector.d.ts +1 -0
  639. package/node_modules/@types/use-sync-external-store/with-selector.d.ts +7 -0
  640. package/node_modules/argparse/LICENSE +254 -0
  641. package/node_modules/argparse/README.md +84 -0
  642. package/node_modules/argparse/argparse.js +3707 -0
  643. package/node_modules/argparse/lib/sub.js +67 -0
  644. package/node_modules/argparse/lib/textwrap.js +440 -0
  645. package/node_modules/argparse/package.json +31 -0
  646. package/node_modules/crelt/LICENSE +19 -0
  647. package/node_modules/crelt/README.md +23 -0
  648. package/node_modules/crelt/dist/index.cjs +31 -0
  649. package/node_modules/crelt/dist/index.d.cts +4 -0
  650. package/node_modules/crelt/index.d.ts +4 -0
  651. package/node_modules/crelt/index.js +28 -0
  652. package/node_modules/crelt/package.json +35 -0
  653. package/node_modules/crelt/rollup.config.js +13 -0
  654. package/node_modules/entities/LICENSE +11 -0
  655. package/node_modules/entities/lib/decode.d.ts +211 -0
  656. package/node_modules/entities/lib/decode.d.ts.map +1 -0
  657. package/node_modules/entities/lib/decode.js +536 -0
  658. package/node_modules/entities/lib/decode.js.map +1 -0
  659. package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
  660. package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  661. package/node_modules/entities/lib/decode_codepoint.js +76 -0
  662. package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  663. package/node_modules/entities/lib/encode.d.ts +22 -0
  664. package/node_modules/entities/lib/encode.d.ts.map +1 -0
  665. package/node_modules/entities/lib/encode.js +77 -0
  666. package/node_modules/entities/lib/encode.js.map +1 -0
  667. package/node_modules/entities/lib/escape.d.ts +43 -0
  668. package/node_modules/entities/lib/escape.d.ts.map +1 -0
  669. package/node_modules/entities/lib/escape.js +122 -0
  670. package/node_modules/entities/lib/escape.js.map +1 -0
  671. package/node_modules/entities/lib/esm/decode.d.ts +211 -0
  672. package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
  673. package/node_modules/entities/lib/esm/decode.js +496 -0
  674. package/node_modules/entities/lib/esm/decode.js.map +1 -0
  675. package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
  676. package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
  677. package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
  678. package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  679. package/node_modules/entities/lib/esm/encode.d.ts +22 -0
  680. package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
  681. package/node_modules/entities/lib/esm/encode.js +69 -0
  682. package/node_modules/entities/lib/esm/encode.js.map +1 -0
  683. package/node_modules/entities/lib/esm/escape.d.ts +43 -0
  684. package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
  685. package/node_modules/entities/lib/esm/escape.js +116 -0
  686. package/node_modules/entities/lib/esm/escape.js.map +1 -0
  687. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
  688. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
  689. package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  690. package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  691. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
  692. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
  693. package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  694. package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  695. package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
  696. package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
  697. package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
  698. package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
  699. package/node_modules/entities/lib/esm/index.d.ts +96 -0
  700. package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
  701. package/node_modules/entities/lib/esm/index.js +99 -0
  702. package/node_modules/entities/lib/esm/index.js.map +1 -0
  703. package/node_modules/entities/lib/esm/package.json +1 -0
  704. package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  705. package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  706. package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  707. package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  708. package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  709. package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  710. package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  711. package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  712. package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
  713. package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
  714. package/node_modules/entities/lib/generated/encode-html.js +12 -0
  715. package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  716. package/node_modules/entities/lib/index.d.ts +96 -0
  717. package/node_modules/entities/lib/index.d.ts.map +1 -0
  718. package/node_modules/entities/lib/index.js +126 -0
  719. package/node_modules/entities/lib/index.js.map +1 -0
  720. package/node_modules/entities/package.json +90 -0
  721. package/node_modules/entities/readme.md +122 -0
  722. package/node_modules/escape-string-regexp/index.d.ts +18 -0
  723. package/node_modules/escape-string-regexp/index.js +13 -0
  724. package/node_modules/escape-string-regexp/license +9 -0
  725. package/node_modules/escape-string-regexp/package.json +38 -0
  726. package/node_modules/escape-string-regexp/readme.md +34 -0
  727. package/node_modules/fast-equals/LICENSE +21 -0
  728. package/node_modules/fast-equals/README.md +477 -0
  729. package/node_modules/fast-equals/dist/cjs/comparator.d.cts +60 -0
  730. package/node_modules/fast-equals/dist/cjs/equals.d.cts +62 -0
  731. package/node_modules/fast-equals/dist/cjs/index.cjs +653 -0
  732. package/node_modules/fast-equals/dist/cjs/index.cjs.map +1 -0
  733. package/node_modules/fast-equals/dist/cjs/index.d.cts +66 -0
  734. package/node_modules/fast-equals/dist/cjs/internalTypes.d.cts +178 -0
  735. package/node_modules/fast-equals/dist/cjs/utils.d.cts +33 -0
  736. package/node_modules/fast-equals/dist/es/comparator.d.mts +60 -0
  737. package/node_modules/fast-equals/dist/es/equals.d.mts +62 -0
  738. package/node_modules/fast-equals/dist/es/index.d.mts +66 -0
  739. package/node_modules/fast-equals/dist/es/index.mjs +642 -0
  740. package/node_modules/fast-equals/dist/es/index.mjs.map +1 -0
  741. package/node_modules/fast-equals/dist/es/internalTypes.d.mts +178 -0
  742. package/node_modules/fast-equals/dist/es/utils.d.mts +33 -0
  743. package/node_modules/fast-equals/dist/umd/comparator.d.ts +26 -0
  744. package/node_modules/fast-equals/dist/umd/equals.d.ts +62 -0
  745. package/node_modules/fast-equals/dist/umd/index.d.ts +47 -0
  746. package/node_modules/fast-equals/dist/umd/index.js +659 -0
  747. package/node_modules/fast-equals/dist/umd/index.js.map +1 -0
  748. package/node_modules/fast-equals/dist/umd/internalTypes.d.ts +159 -0
  749. package/node_modules/fast-equals/dist/umd/utils.d.ts +28 -0
  750. package/node_modules/fast-equals/index.d.ts +260 -0
  751. package/node_modules/fast-equals/package.json +113 -0
  752. package/node_modules/linkify-it/LICENSE +22 -0
  753. package/node_modules/linkify-it/README.md +196 -0
  754. package/node_modules/linkify-it/build/index.cjs.js +832 -0
  755. package/node_modules/linkify-it/index.mjs +642 -0
  756. package/node_modules/linkify-it/lib/re.mjs +189 -0
  757. package/node_modules/linkify-it/package.json +58 -0
  758. package/node_modules/markdown-it/LICENSE +22 -0
  759. package/node_modules/markdown-it/README.md +324 -0
  760. package/node_modules/markdown-it/bin/markdown-it.mjs +107 -0
  761. package/node_modules/markdown-it/dist/index.cjs.js +5547 -0
  762. package/node_modules/markdown-it/dist/markdown-it.js +6969 -0
  763. package/node_modules/markdown-it/dist/markdown-it.min.js +2 -0
  764. package/node_modules/markdown-it/index.mjs +1 -0
  765. package/node_modules/markdown-it/lib/common/html_blocks.mjs +67 -0
  766. package/node_modules/markdown-it/lib/common/html_re.mjs +25 -0
  767. package/node_modules/markdown-it/lib/common/utils.mjs +304 -0
  768. package/node_modules/markdown-it/lib/helpers/index.mjs +11 -0
  769. package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +77 -0
  770. package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +49 -0
  771. package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +66 -0
  772. package/node_modules/markdown-it/lib/index.mjs +565 -0
  773. package/node_modules/markdown-it/lib/parser_block.mjs +134 -0
  774. package/node_modules/markdown-it/lib/parser_core.mjs +62 -0
  775. package/node_modules/markdown-it/lib/parser_inline.mjs +197 -0
  776. package/node_modules/markdown-it/lib/presets/commonmark.mjs +88 -0
  777. package/node_modules/markdown-it/lib/presets/default.mjs +47 -0
  778. package/node_modules/markdown-it/lib/presets/zero.mjs +70 -0
  779. package/node_modules/markdown-it/lib/renderer.mjs +322 -0
  780. package/node_modules/markdown-it/lib/ruler.mjs +340 -0
  781. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +209 -0
  782. package/node_modules/markdown-it/lib/rules_block/code.mjs +30 -0
  783. package/node_modules/markdown-it/lib/rules_block/fence.mjs +94 -0
  784. package/node_modules/markdown-it/lib/rules_block/heading.mjs +51 -0
  785. package/node_modules/markdown-it/lib/rules_block/hr.mjs +40 -0
  786. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +69 -0
  787. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +82 -0
  788. package/node_modules/markdown-it/lib/rules_block/list.mjs +331 -0
  789. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +46 -0
  790. package/node_modules/markdown-it/lib/rules_block/reference.mjs +212 -0
  791. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +220 -0
  792. package/node_modules/markdown-it/lib/rules_block/table.mjs +228 -0
  793. package/node_modules/markdown-it/lib/rules_core/block.mjs +13 -0
  794. package/node_modules/markdown-it/lib/rules_core/inline.mjs +11 -0
  795. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +134 -0
  796. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +17 -0
  797. package/node_modules/markdown-it/lib/rules_core/replacements.mjs +101 -0
  798. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +193 -0
  799. package/node_modules/markdown-it/lib/rules_core/state_core.mjs +17 -0
  800. package/node_modules/markdown-it/lib/rules_core/text_join.mjs +43 -0
  801. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +72 -0
  802. package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +60 -0
  803. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +124 -0
  804. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +123 -0
  805. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +51 -0
  806. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +69 -0
  807. package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +38 -0
  808. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +50 -0
  809. package/node_modules/markdown-it/lib/rules_inline/image.mjs +138 -0
  810. package/node_modules/markdown-it/lib/rules_inline/link.mjs +139 -0
  811. package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +63 -0
  812. package/node_modules/markdown-it/lib/rules_inline/newline.mjs +42 -0
  813. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +123 -0
  814. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +127 -0
  815. package/node_modules/markdown-it/lib/rules_inline/text.mjs +86 -0
  816. package/node_modules/markdown-it/lib/token.mjs +191 -0
  817. package/node_modules/markdown-it/package.json +92 -0
  818. package/node_modules/mdurl/LICENSE +45 -0
  819. package/node_modules/mdurl/README.md +102 -0
  820. package/node_modules/mdurl/build/index.cjs.js +534 -0
  821. package/node_modules/mdurl/index.mjs +11 -0
  822. package/node_modules/mdurl/lib/decode.mjs +112 -0
  823. package/node_modules/mdurl/lib/encode.mjs +89 -0
  824. package/node_modules/mdurl/lib/format.mjs +21 -0
  825. package/node_modules/mdurl/lib/parse.mjs +308 -0
  826. package/node_modules/mdurl/package.json +37 -0
  827. package/node_modules/orderedmap/LICENSE +19 -0
  828. package/node_modules/orderedmap/README.md +69 -0
  829. package/node_modules/orderedmap/dist/index.cjs +139 -0
  830. package/node_modules/orderedmap/dist/index.d.cts +33 -0
  831. package/node_modules/orderedmap/dist/index.d.ts +33 -0
  832. package/node_modules/orderedmap/dist/index.js +137 -0
  833. package/node_modules/orderedmap/package.json +39 -0
  834. package/node_modules/prosemirror-changeset/CHANGELOG.md +147 -0
  835. package/node_modules/prosemirror-changeset/LICENSE +19 -0
  836. package/node_modules/prosemirror-changeset/README.md +175 -0
  837. package/node_modules/prosemirror-changeset/dist/index.cjs +585 -0
  838. package/node_modules/prosemirror-changeset/dist/index.d.cts +186 -0
  839. package/node_modules/prosemirror-changeset/dist/index.d.ts +186 -0
  840. package/node_modules/prosemirror-changeset/dist/index.js +715 -0
  841. package/node_modules/prosemirror-changeset/package.json +40 -0
  842. package/node_modules/prosemirror-changeset/src/README.md +32 -0
  843. package/node_modules/prosemirror-changeset/src/change.ts +189 -0
  844. package/node_modules/prosemirror-changeset/src/changeset.ts +212 -0
  845. package/node_modules/prosemirror-changeset/src/diff.ts +151 -0
  846. package/node_modules/prosemirror-changeset/src/simplify.ts +132 -0
  847. package/node_modules/prosemirror-changeset/test/test-changed-range.ts +48 -0
  848. package/node_modules/prosemirror-changeset/test/test-changes.ts +211 -0
  849. package/node_modules/prosemirror-changeset/test/test-diff.ts +69 -0
  850. package/node_modules/prosemirror-changeset/test/test-merge.ts +56 -0
  851. package/node_modules/prosemirror-changeset/test/test-simplify.ts +71 -0
  852. package/node_modules/prosemirror-collab/.tern-project +8 -0
  853. package/node_modules/prosemirror-collab/CHANGELOG.md +77 -0
  854. package/node_modules/prosemirror-collab/CONTRIBUTING.md +104 -0
  855. package/node_modules/prosemirror-collab/LICENSE +19 -0
  856. package/node_modules/prosemirror-collab/README.md +28 -0
  857. package/node_modules/prosemirror-collab/dist/index.cjs +155 -0
  858. package/node_modules/prosemirror-collab/dist/index.d.cts +60 -0
  859. package/node_modules/prosemirror-collab/dist/index.d.ts +60 -0
  860. package/node_modules/prosemirror-collab/dist/index.js +156 -0
  861. package/node_modules/prosemirror-collab/package.json +40 -0
  862. package/node_modules/prosemirror-collab/src/README.md +11 -0
  863. package/node_modules/prosemirror-collab/src/collab.ts +184 -0
  864. package/node_modules/prosemirror-commands/.tern-project +8 -0
  865. package/node_modules/prosemirror-commands/CHANGELOG.md +322 -0
  866. package/node_modules/prosemirror-commands/CONTRIBUTING.md +104 -0
  867. package/node_modules/prosemirror-commands/LICENSE +19 -0
  868. package/node_modules/prosemirror-commands/README.md +28 -0
  869. package/node_modules/prosemirror-commands/dist/index.cjs +687 -0
  870. package/node_modules/prosemirror-commands/dist/index.d.cts +215 -0
  871. package/node_modules/prosemirror-commands/dist/index.d.ts +215 -0
  872. package/node_modules/prosemirror-commands/dist/index.js +850 -0
  873. package/node_modules/prosemirror-commands/package.json +39 -0
  874. package/node_modules/prosemirror-commands/src/README.md +40 -0
  875. package/node_modules/prosemirror-commands/src/commands.ts +783 -0
  876. package/node_modules/prosemirror-dropcursor/CHANGELOG.md +137 -0
  877. package/node_modules/prosemirror-dropcursor/CONTRIBUTING.md +100 -0
  878. package/node_modules/prosemirror-dropcursor/LICENSE +19 -0
  879. package/node_modules/prosemirror-dropcursor/README.md +50 -0
  880. package/node_modules/prosemirror-dropcursor/dist/index.cjs +185 -0
  881. package/node_modules/prosemirror-dropcursor/dist/index.d.cts +38 -0
  882. package/node_modules/prosemirror-dropcursor/dist/index.d.ts +38 -0
  883. package/node_modules/prosemirror-dropcursor/dist/index.js +146 -0
  884. package/node_modules/prosemirror-dropcursor/package.json +38 -0
  885. package/node_modules/prosemirror-dropcursor/src/dropcursor.ts +170 -0
  886. package/node_modules/prosemirror-gapcursor/CHANGELOG.md +122 -0
  887. package/node_modules/prosemirror-gapcursor/CONTRIBUTING.md +104 -0
  888. package/node_modules/prosemirror-gapcursor/LICENSE +19 -0
  889. package/node_modules/prosemirror-gapcursor/README.md +31 -0
  890. package/node_modules/prosemirror-gapcursor/dist/index.cjs +239 -0
  891. package/node_modules/prosemirror-gapcursor/dist/index.d.cts +31 -0
  892. package/node_modules/prosemirror-gapcursor/dist/index.d.ts +31 -0
  893. package/node_modules/prosemirror-gapcursor/dist/index.js +239 -0
  894. package/node_modules/prosemirror-gapcursor/package.json +43 -0
  895. package/node_modules/prosemirror-gapcursor/src/README.md +21 -0
  896. package/node_modules/prosemirror-gapcursor/src/gapcursor.ts +141 -0
  897. package/node_modules/prosemirror-gapcursor/src/index.ts +91 -0
  898. package/node_modules/prosemirror-gapcursor/style/gapcursor.css +25 -0
  899. package/node_modules/prosemirror-history/.tern-project +8 -0
  900. package/node_modules/prosemirror-history/CHANGELOG.md +170 -0
  901. package/node_modules/prosemirror-history/CONTRIBUTING.md +104 -0
  902. package/node_modules/prosemirror-history/LICENSE +19 -0
  903. package/node_modules/prosemirror-history/README.md +27 -0
  904. package/node_modules/prosemirror-history/dist/index.cjs +382 -0
  905. package/node_modules/prosemirror-history/dist/index.d.cts +64 -0
  906. package/node_modules/prosemirror-history/dist/index.d.ts +64 -0
  907. package/node_modules/prosemirror-history/dist/index.js +453 -0
  908. package/node_modules/prosemirror-history/package.json +40 -0
  909. package/node_modules/prosemirror-history/src/README.md +23 -0
  910. package/node_modules/prosemirror-history/src/history.ts +465 -0
  911. package/node_modules/prosemirror-inputrules/.tern-project +8 -0
  912. package/node_modules/prosemirror-inputrules/CHANGELOG.md +127 -0
  913. package/node_modules/prosemirror-inputrules/CONTRIBUTING.md +104 -0
  914. package/node_modules/prosemirror-inputrules/LICENSE +19 -0
  915. package/node_modules/prosemirror-inputrules/README.md +29 -0
  916. package/node_modules/prosemirror-inputrules/dist/index.cjs +194 -0
  917. package/node_modules/prosemirror-inputrules/dist/index.d.cts +131 -0
  918. package/node_modules/prosemirror-inputrules/dist/index.d.ts +131 -0
  919. package/node_modules/prosemirror-inputrules/dist/index.js +239 -0
  920. package/node_modules/prosemirror-inputrules/package.json +36 -0
  921. package/node_modules/prosemirror-inputrules/src/README.md +23 -0
  922. package/node_modules/prosemirror-inputrules/src/index.ts +4 -0
  923. package/node_modules/prosemirror-inputrules/src/inputrules.ts +167 -0
  924. package/node_modules/prosemirror-inputrules/src/rulebuilders.ts +59 -0
  925. package/node_modules/prosemirror-inputrules/src/rules.ts +17 -0
  926. package/node_modules/prosemirror-keymap/.tern-project +8 -0
  927. package/node_modules/prosemirror-keymap/CHANGELOG.md +104 -0
  928. package/node_modules/prosemirror-keymap/CONTRIBUTING.md +104 -0
  929. package/node_modules/prosemirror-keymap/LICENSE +19 -0
  930. package/node_modules/prosemirror-keymap/README.md +27 -0
  931. package/node_modules/prosemirror-keymap/dist/index.cjs +65 -0
  932. package/node_modules/prosemirror-keymap/dist/index.d.cts +47 -0
  933. package/node_modules/prosemirror-keymap/dist/index.d.ts +47 -0
  934. package/node_modules/prosemirror-keymap/dist/index.js +128 -0
  935. package/node_modules/prosemirror-keymap/package.json +38 -0
  936. package/node_modules/prosemirror-keymap/src/README.md +5 -0
  937. package/node_modules/prosemirror-keymap/src/keymap.ts +105 -0
  938. package/node_modules/prosemirror-markdown/.tern-project +8 -0
  939. package/node_modules/prosemirror-markdown/CHANGELOG.md +311 -0
  940. package/node_modules/prosemirror-markdown/CONTRIBUTING.md +100 -0
  941. package/node_modules/prosemirror-markdown/LICENSE +19 -0
  942. package/node_modules/prosemirror-markdown/README.md +276 -0
  943. package/node_modules/prosemirror-markdown/dist/index.cjs +966 -0
  944. package/node_modules/prosemirror-markdown/dist/index.d.cts +335 -0
  945. package/node_modules/prosemirror-markdown/dist/index.d.ts +335 -0
  946. package/node_modules/prosemirror-markdown/dist/index.js +878 -0
  947. package/node_modules/prosemirror-markdown/package.json +40 -0
  948. package/node_modules/prosemirror-markdown/src/README.md +42 -0
  949. package/node_modules/prosemirror-markdown/src/from_markdown.ts +272 -0
  950. package/node_modules/prosemirror-markdown/src/index.ts +5 -0
  951. package/node_modules/prosemirror-markdown/src/schema.ts +156 -0
  952. package/node_modules/prosemirror-markdown/src/to_markdown.ts +483 -0
  953. package/node_modules/prosemirror-menu/.tern-project +8 -0
  954. package/node_modules/prosemirror-menu/CHANGELOG.md +107 -0
  955. package/node_modules/prosemirror-menu/CONTRIBUTING.md +100 -0
  956. package/node_modules/prosemirror-menu/LICENSE +19 -0
  957. package/node_modules/prosemirror-menu/README.md +235 -0
  958. package/node_modules/prosemirror-menu/dist/index.cjs +798 -0
  959. package/node_modules/prosemirror-menu/dist/index.d.cts +281 -0
  960. package/node_modules/prosemirror-menu/dist/index.d.ts +281 -0
  961. package/node_modules/prosemirror-menu/dist/index.js +795 -0
  962. package/node_modules/prosemirror-menu/package.json +42 -0
  963. package/node_modules/prosemirror-menu/src/README.md +60 -0
  964. package/node_modules/prosemirror-menu/src/icons.ts +53 -0
  965. package/node_modules/prosemirror-menu/src/index.ts +4 -0
  966. package/node_modules/prosemirror-menu/src/menu.ts +628 -0
  967. package/node_modules/prosemirror-menu/src/menubar.ts +210 -0
  968. package/node_modules/prosemirror-menu/style/menu.css +169 -0
  969. package/node_modules/prosemirror-model/.tern-project +8 -0
  970. package/node_modules/prosemirror-model/CHANGELOG.md +730 -0
  971. package/node_modules/prosemirror-model/CONTRIBUTING.md +104 -0
  972. package/node_modules/prosemirror-model/LICENSE +19 -0
  973. package/node_modules/prosemirror-model/README.md +29 -0
  974. package/node_modules/prosemirror-model/dist/index.cjs +2898 -0
  975. package/node_modules/prosemirror-model/dist/index.d.cts +1679 -0
  976. package/node_modules/prosemirror-model/dist/index.d.ts +1679 -0
  977. package/node_modules/prosemirror-model/dist/index.js +3464 -0
  978. package/node_modules/prosemirror-model/package.json +38 -0
  979. package/node_modules/prosemirror-model/src/README.md +62 -0
  980. package/node_modules/prosemirror-model/src/comparedeep.ts +15 -0
  981. package/node_modules/prosemirror-model/src/content.ts +413 -0
  982. package/node_modules/prosemirror-model/src/diff.ts +52 -0
  983. package/node_modules/prosemirror-model/src/dom.ts +1 -0
  984. package/node_modules/prosemirror-model/src/fragment.ts +268 -0
  985. package/node_modules/prosemirror-model/src/from_dom.ts +848 -0
  986. package/node_modules/prosemirror-model/src/index.ts +11 -0
  987. package/node_modules/prosemirror-model/src/mark.ts +111 -0
  988. package/node_modules/prosemirror-model/src/node.ts +402 -0
  989. package/node_modules/prosemirror-model/src/replace.ts +225 -0
  990. package/node_modules/prosemirror-model/src/resolvedpos.ts +289 -0
  991. package/node_modules/prosemirror-model/src/schema.ts +705 -0
  992. package/node_modules/prosemirror-model/src/to_dom.ts +238 -0
  993. package/node_modules/prosemirror-schema-basic/.tern-project +8 -0
  994. package/node_modules/prosemirror-schema-basic/CHANGELOG.md +81 -0
  995. package/node_modules/prosemirror-schema-basic/CONTRIBUTING.md +100 -0
  996. package/node_modules/prosemirror-schema-basic/LICENSE +19 -0
  997. package/node_modules/prosemirror-schema-basic/README.md +28 -0
  998. package/node_modules/prosemirror-schema-basic/dist/index.cjs +246 -0
  999. package/node_modules/prosemirror-schema-basic/dist/index.d.cts +87 -0
  1000. package/node_modules/prosemirror-schema-basic/dist/index.d.ts +87 -0
  1001. package/node_modules/prosemirror-schema-basic/dist/index.js +183 -0
  1002. package/node_modules/prosemirror-schema-basic/package.json +37 -0
  1003. package/node_modules/prosemirror-schema-basic/src/README.md +8 -0
  1004. package/node_modules/prosemirror-schema-basic/src/schema-basic.ts +166 -0
  1005. package/node_modules/prosemirror-schema-list/.tern-project +8 -0
  1006. package/node_modules/prosemirror-schema-list/CHANGELOG.md +140 -0
  1007. package/node_modules/prosemirror-schema-list/CONTRIBUTING.md +100 -0
  1008. package/node_modules/prosemirror-schema-list/LICENSE +19 -0
  1009. package/node_modules/prosemirror-schema-list/README.md +28 -0
  1010. package/node_modules/prosemirror-schema-list/dist/index.cjs +253 -0
  1011. package/node_modules/prosemirror-schema-list/dist/index.d.cts +71 -0
  1012. package/node_modules/prosemirror-schema-list/dist/index.d.ts +71 -0
  1013. package/node_modules/prosemirror-schema-list/dist/index.js +289 -0
  1014. package/node_modules/prosemirror-schema-list/package.json +40 -0
  1015. package/node_modules/prosemirror-schema-list/src/README.md +29 -0
  1016. package/node_modules/prosemirror-schema-list/src/schema-list.ts +267 -0
  1017. package/node_modules/prosemirror-state/.tern-project +8 -0
  1018. package/node_modules/prosemirror-state/CHANGELOG.md +296 -0
  1019. package/node_modules/prosemirror-state/CONTRIBUTING.md +104 -0
  1020. package/node_modules/prosemirror-state/LICENSE +19 -0
  1021. package/node_modules/prosemirror-state/README.md +28 -0
  1022. package/node_modules/prosemirror-state/dist/index.cjs +884 -0
  1023. package/node_modules/prosemirror-state/dist/index.d.cts +709 -0
  1024. package/node_modules/prosemirror-state/dist/index.d.ts +709 -0
  1025. package/node_modules/prosemirror-state/dist/index.js +1002 -0
  1026. package/node_modules/prosemirror-state/package.json +39 -0
  1027. package/node_modules/prosemirror-state/src/README.md +42 -0
  1028. package/node_modules/prosemirror-state/src/index.ts +7 -0
  1029. package/node_modules/prosemirror-state/src/plugin.ts +142 -0
  1030. package/node_modules/prosemirror-state/src/selection.ts +462 -0
  1031. package/node_modules/prosemirror-state/src/state.ts +266 -0
  1032. package/node_modules/prosemirror-state/src/transaction.ts +215 -0
  1033. package/node_modules/prosemirror-tables/LICENSE +19 -0
  1034. package/node_modules/prosemirror-tables/README.md +254 -0
  1035. package/node_modules/prosemirror-tables/dist/index.cjs +2683 -0
  1036. package/node_modules/prosemirror-tables/dist/index.d.cts +751 -0
  1037. package/node_modules/prosemirror-tables/dist/index.d.cts.map +1 -0
  1038. package/node_modules/prosemirror-tables/dist/index.d.ts +751 -0
  1039. package/node_modules/prosemirror-tables/dist/index.d.ts.map +1 -0
  1040. package/node_modules/prosemirror-tables/dist/index.js +2626 -0
  1041. package/node_modules/prosemirror-tables/dist/index.js.map +1 -0
  1042. package/node_modules/prosemirror-tables/package.json +80 -0
  1043. package/node_modules/prosemirror-tables/style/tables.css +48 -0
  1044. package/node_modules/prosemirror-trailing-node/LICENSE +21 -0
  1045. package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.cts +41 -0
  1046. package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.ts +41 -0
  1047. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.cjs +70 -0
  1048. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.cts +2 -0
  1049. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.ts +2 -0
  1050. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.js +43 -0
  1051. package/node_modules/prosemirror-trailing-node/dist-types/index.d.ts +2 -0
  1052. package/node_modules/prosemirror-trailing-node/dist-types/trailing-node-plugin.d.ts +33 -0
  1053. package/node_modules/prosemirror-trailing-node/dist-types/tsconfig.tsbuildinfo +1 -0
  1054. package/node_modules/prosemirror-trailing-node/package.json +57 -0
  1055. package/node_modules/prosemirror-trailing-node/readme.md +55 -0
  1056. package/node_modules/prosemirror-transform/.tern-project +8 -0
  1057. package/node_modules/prosemirror-transform/CHANGELOG.md +502 -0
  1058. package/node_modules/prosemirror-transform/CONTRIBUTING.md +104 -0
  1059. package/node_modules/prosemirror-transform/LICENSE +19 -0
  1060. package/node_modules/prosemirror-transform/README.md +29 -0
  1061. package/node_modules/prosemirror-transform/dist/index.cjs +1888 -0
  1062. package/node_modules/prosemirror-transform/dist/index.d.cts +847 -0
  1063. package/node_modules/prosemirror-transform/dist/index.d.ts +847 -0
  1064. package/node_modules/prosemirror-transform/dist/index.js +2181 -0
  1065. package/node_modules/prosemirror-transform/package.json +37 -0
  1066. package/node_modules/prosemirror-transform/src/README.md +59 -0
  1067. package/node_modules/prosemirror-transform/src/attr_step.ts +98 -0
  1068. package/node_modules/prosemirror-transform/src/index.ts +11 -0
  1069. package/node_modules/prosemirror-transform/src/map.ts +284 -0
  1070. package/node_modules/prosemirror-transform/src/mark.ts +106 -0
  1071. package/node_modules/prosemirror-transform/src/mark_step.ts +224 -0
  1072. package/node_modules/prosemirror-transform/src/replace.ts +460 -0
  1073. package/node_modules/prosemirror-transform/src/replace_step.ts +178 -0
  1074. package/node_modules/prosemirror-transform/src/step.ts +97 -0
  1075. package/node_modules/prosemirror-transform/src/structure.ts +349 -0
  1076. package/node_modules/prosemirror-transform/src/transform.ts +271 -0
  1077. package/node_modules/prosemirror-view/.tern-project +8 -0
  1078. package/node_modules/prosemirror-view/CHANGELOG.md +2447 -0
  1079. package/node_modules/prosemirror-view/CONTRIBUTING.md +104 -0
  1080. package/node_modules/prosemirror-view/LICENSE +19 -0
  1081. package/node_modules/prosemirror-view/README.md +28 -0
  1082. package/node_modules/prosemirror-view/dist/index.cjs +5381 -0
  1083. package/node_modules/prosemirror-view/dist/index.d.cts +904 -0
  1084. package/node_modules/prosemirror-view/dist/index.d.ts +904 -0
  1085. package/node_modules/prosemirror-view/dist/index.js +5900 -0
  1086. package/node_modules/prosemirror-view/package.json +43 -0
  1087. package/node_modules/prosemirror-view/src/README.md +38 -0
  1088. package/node_modules/prosemirror-view/src/browser.ts +24 -0
  1089. package/node_modules/prosemirror-view/src/capturekeys.ts +345 -0
  1090. package/node_modules/prosemirror-view/src/clipboard.ts +263 -0
  1091. package/node_modules/prosemirror-view/src/decoration.ts +793 -0
  1092. package/node_modules/prosemirror-view/src/dom.ts +159 -0
  1093. package/node_modules/prosemirror-view/src/domchange.ts +383 -0
  1094. package/node_modules/prosemirror-view/src/domcoords.ts +515 -0
  1095. package/node_modules/prosemirror-view/src/domobserver.ts +392 -0
  1096. package/node_modules/prosemirror-view/src/index.ts +825 -0
  1097. package/node_modules/prosemirror-view/src/input.ts +830 -0
  1098. package/node_modules/prosemirror-view/src/selection.ts +216 -0
  1099. package/node_modules/prosemirror-view/src/viewdesc.ts +1590 -0
  1100. package/node_modules/prosemirror-view/style/prosemirror.css +54 -0
  1101. package/node_modules/punycode.js/LICENSE-MIT.txt +20 -0
  1102. package/node_modules/punycode.js/README.md +148 -0
  1103. package/node_modules/punycode.js/package.json +58 -0
  1104. package/node_modules/punycode.js/punycode.es6.js +444 -0
  1105. package/node_modules/punycode.js/punycode.js +443 -0
  1106. package/node_modules/rope-sequence/LICENSE +19 -0
  1107. package/node_modules/rope-sequence/README.md +63 -0
  1108. package/node_modules/rope-sequence/dist/index.cjs +209 -0
  1109. package/node_modules/rope-sequence/dist/index.d.cts +11 -0
  1110. package/node_modules/rope-sequence/dist/index.d.ts +11 -0
  1111. package/node_modules/rope-sequence/dist/index.js +207 -0
  1112. package/node_modules/rope-sequence/index.js +190 -0
  1113. package/node_modules/rope-sequence/package.json +34 -0
  1114. package/node_modules/rope-sequence/test.js +78 -0
  1115. package/node_modules/uc.micro/LICENSE.txt +20 -0
  1116. package/node_modules/uc.micro/README.md +14 -0
  1117. package/node_modules/uc.micro/build/index.cjs.js +20 -0
  1118. package/node_modules/uc.micro/categories/Cc/regex.mjs +1 -0
  1119. package/node_modules/uc.micro/categories/Cf/regex.mjs +1 -0
  1120. package/node_modules/uc.micro/categories/P/regex.mjs +1 -0
  1121. package/node_modules/uc.micro/categories/S/regex.mjs +1 -0
  1122. package/node_modules/uc.micro/categories/Z/regex.mjs +1 -0
  1123. package/node_modules/uc.micro/index.mjs +8 -0
  1124. package/node_modules/uc.micro/package.json +37 -0
  1125. package/node_modules/uc.micro/properties/Any/regex.mjs +1 -0
  1126. package/node_modules/use-sync-external-store/LICENSE +21 -0
  1127. package/node_modules/use-sync-external-store/README.md +5 -0
  1128. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +97 -0
  1129. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +85 -0
  1130. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +95 -0
  1131. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.development.js +88 -0
  1132. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.production.js +59 -0
  1133. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +66 -0
  1134. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +96 -0
  1135. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +84 -0
  1136. package/node_modules/use-sync-external-store/cjs/use-sync-external-store.development.js +27 -0
  1137. package/node_modules/use-sync-external-store/cjs/use-sync-external-store.production.js +13 -0
  1138. package/node_modules/use-sync-external-store/index.js +7 -0
  1139. package/node_modules/use-sync-external-store/package.json +43 -0
  1140. package/node_modules/use-sync-external-store/shim/index.js +7 -0
  1141. package/node_modules/use-sync-external-store/shim/index.native.js +7 -0
  1142. package/node_modules/use-sync-external-store/shim/with-selector.js +7 -0
  1143. package/node_modules/use-sync-external-store/with-selector.js +7 -0
  1144. package/node_modules/w3c-keyname/.tern-port +1 -0
  1145. package/node_modules/w3c-keyname/LICENSE +19 -0
  1146. package/node_modules/w3c-keyname/README.md +18 -0
  1147. package/node_modules/w3c-keyname/index.cjs +127 -0
  1148. package/node_modules/w3c-keyname/index.d.cts +5 -0
  1149. package/node_modules/w3c-keyname/index.d.ts +5 -0
  1150. package/node_modules/w3c-keyname/index.js +119 -0
  1151. package/node_modules/w3c-keyname/package.json +37 -0
  1152. package/package.json +120 -3
  1153. package/public-api.md +23 -2
  1154. package/dist/chat/tool-renderers/KbSearchRenderer.d.ts +0 -2
  1155. package/dist/chat/tool-renderers/kb-search-result.d.ts +0 -19
  1156. package/dist/chunk-6ZDOQEWK.js.map +0 -1
  1157. package/dist/chunk-FQQJP2GJ.js.map +0 -1
  1158. package/dist/rich-input/extensions/kb-mention.d.ts +0 -18
  1159. package/dist/rich-input/extensions/workflow-mention.d.ts +0 -10
  1160. package/dist/rich-input/lib/kb-suggestions.d.ts +0 -37
  1161. /package/dist/{chunk-WCMGQJLE.js.map → chunk-EYRP6PV3.js.map} +0 -0
@@ -0,0 +1,783 @@
1
+ import {joinPoint, canJoin, findWrapping, liftTarget, canSplit,
2
+ ReplaceStep, ReplaceAroundStep, replaceStep} from "prosemirror-transform"
3
+ import {Slice, Fragment, Node, NodeType, Attrs, MarkType, ResolvedPos, ContentMatch} from "prosemirror-model"
4
+ import {Selection, EditorState, Transaction, TextSelection, NodeSelection,
5
+ SelectionRange, AllSelection, Command} from "prosemirror-state"
6
+ import {EditorView} from "prosemirror-view"
7
+
8
+ /// Delete the selection, if there is one.
9
+ export const deleteSelection: Command = (state, dispatch) => {
10
+ if (state.selection.empty) return false
11
+ if (dispatch) dispatch(state.tr.deleteSelection().scrollIntoView())
12
+ return true
13
+ }
14
+
15
+ function atBlockStart(state: EditorState, view?: EditorView): ResolvedPos | null {
16
+ let {$cursor} = state.selection as TextSelection
17
+ if (!$cursor || (view ? !view.endOfTextblock("backward", state)
18
+ : $cursor.parentOffset > 0))
19
+ return null
20
+ return $cursor
21
+ }
22
+
23
+ /// If the selection is empty and at the start of a textblock, try to
24
+ /// reduce the distance between that block and the one before it—if
25
+ /// there's a block directly before it that can be joined, join them.
26
+ /// If not, try to move the selected block closer to the next one in
27
+ /// the document structure by lifting it out of its parent or moving it
28
+ /// into a parent of the previous block. Will use the view for accurate
29
+ /// (bidi-aware) start-of-textblock detection if given.
30
+ export const joinBackward: Command = (state, dispatch, view) => {
31
+ let $cursor = atBlockStart(state, view)
32
+ if (!$cursor) return false
33
+
34
+ let $cut = findCutBefore($cursor)
35
+
36
+ // If there is no node before this, try to lift
37
+ if (!$cut) {
38
+ let range = $cursor.blockRange(), target = range && liftTarget(range)
39
+ if (target == null) return false
40
+ if (dispatch) dispatch(state.tr.lift(range!, target).scrollIntoView())
41
+ return true
42
+ }
43
+
44
+ let before = $cut.nodeBefore!
45
+ // Apply the joining algorithm
46
+ if (deleteBarrier(state, $cut, dispatch, -1)) return true
47
+
48
+ // If the node below has no content and the node above is
49
+ // selectable, delete the node below and select the one above.
50
+ if ($cursor.parent.content.size == 0 &&
51
+ (textblockAt(before, "end") || NodeSelection.isSelectable(before))) {
52
+ for (let depth = $cursor.depth;; depth--) {
53
+ let delStep = replaceStep(state.doc, $cursor.before(depth), $cursor.after(depth), Slice.empty)
54
+ if (delStep && (delStep as ReplaceStep).slice.size < (delStep as ReplaceStep).to - (delStep as ReplaceStep).from) {
55
+ if (dispatch) {
56
+ let tr = state.tr.step(delStep)
57
+ tr.setSelection(textblockAt(before, "end")
58
+ ? Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos, -1)), -1)!
59
+ : NodeSelection.create(tr.doc, $cut.pos - before.nodeSize))
60
+ dispatch(tr.scrollIntoView())
61
+ }
62
+ return true
63
+ }
64
+ if (depth == 1 || $cursor.node(depth - 1).childCount > 1) break
65
+ }
66
+ }
67
+
68
+ // If the node before is an atom, delete it
69
+ if (before.isAtom && $cut.depth == $cursor.depth - 1) {
70
+ if (dispatch) dispatch(state.tr.delete($cut.pos - before.nodeSize, $cut.pos).scrollIntoView())
71
+ return true
72
+ }
73
+
74
+ return false
75
+ }
76
+
77
+ /// A more limited form of [`joinBackward`](#commands.joinBackward)
78
+ /// that only tries to join the current textblock to the one before
79
+ /// it, if the cursor is at the start of a textblock.
80
+ export const joinTextblockBackward: Command = (state, dispatch, view) => {
81
+ let $cursor = atBlockStart(state, view)
82
+ if (!$cursor) return false
83
+ let $cut = findCutBefore($cursor)
84
+ return $cut ? joinTextblocksAround(state, $cut, dispatch) : false
85
+ }
86
+
87
+ /// A more limited form of [`joinForward`](#commands.joinForward)
88
+ /// that only tries to join the current textblock to the one after
89
+ /// it, if the cursor is at the end of a textblock.
90
+ export const joinTextblockForward: Command = (state, dispatch, view) => {
91
+ let $cursor = atBlockEnd(state, view)
92
+ if (!$cursor) return false
93
+ let $cut = findCutAfter($cursor)
94
+ return $cut ? joinTextblocksAround(state, $cut, dispatch) : false
95
+ }
96
+
97
+ function joinTextblocksAround(state: EditorState, $cut: ResolvedPos, dispatch?: (tr: Transaction) => void) {
98
+ let before = $cut.nodeBefore!, beforeText = before, beforePos = $cut.pos - 1
99
+ for (; !beforeText.isTextblock; beforePos--) {
100
+ if (beforeText.type.spec.isolating) return false
101
+ let child = beforeText.lastChild
102
+ if (!child) return false
103
+ beforeText = child
104
+ }
105
+ let after = $cut.nodeAfter!, afterText = after, afterPos = $cut.pos + 1
106
+ for (; !afterText.isTextblock; afterPos++) {
107
+ if (afterText.type.spec.isolating) return false
108
+ let child = afterText.firstChild
109
+ if (!child) return false
110
+ afterText = child
111
+ }
112
+ let step = replaceStep(state.doc, beforePos, afterPos, Slice.empty) as ReplaceStep | null
113
+ if (!step || step.from != beforePos ||
114
+ step instanceof ReplaceStep && step.slice.size >= afterPos - beforePos) return false
115
+ if (dispatch) {
116
+ let tr = state.tr.step(step)
117
+ tr.setSelection(TextSelection.create(tr.doc, beforePos))
118
+ dispatch(tr.scrollIntoView())
119
+ }
120
+ return true
121
+
122
+ }
123
+
124
+ function textblockAt(node: Node, side: "start" | "end", only = false) {
125
+ for (let scan: Node | null = node; scan; scan = (side == "start" ? scan.firstChild : scan.lastChild)) {
126
+ if (scan.isTextblock) return true
127
+ if (only && scan.childCount != 1) return false
128
+ }
129
+ return false
130
+ }
131
+
132
+ /// When the selection is empty and at the start of a textblock, select
133
+ /// the node before that textblock, if possible. This is intended to be
134
+ /// bound to keys like backspace, after
135
+ /// [`joinBackward`](#commands.joinBackward) or other deleting
136
+ /// commands, as a fall-back behavior when the schema doesn't allow
137
+ /// deletion at the selected point.
138
+ export const selectNodeBackward: Command = (state, dispatch, view) => {
139
+ let {$head, empty} = state.selection, $cut: ResolvedPos | null = $head
140
+ if (!empty) return false
141
+
142
+ if ($head.parent.isTextblock) {
143
+ if (view ? !view.endOfTextblock("backward", state) : $head.parentOffset > 0) return false
144
+ $cut = findCutBefore($head)
145
+ }
146
+ let node = $cut && $cut.nodeBefore
147
+ if (!node || !NodeSelection.isSelectable(node)) return false
148
+ if (dispatch)
149
+ dispatch(state.tr.setSelection(NodeSelection.create(state.doc, $cut!.pos - node.nodeSize)).scrollIntoView())
150
+ return true
151
+ }
152
+
153
+ function findCutBefore($pos: ResolvedPos): ResolvedPos | null {
154
+ if (!$pos.parent.type.spec.isolating) for (let i = $pos.depth - 1; i >= 0; i--) {
155
+ if ($pos.index(i) > 0) return $pos.doc.resolve($pos.before(i + 1))
156
+ if ($pos.node(i).type.spec.isolating) break
157
+ }
158
+ return null
159
+ }
160
+
161
+ function atBlockEnd(state: EditorState, view?: EditorView): ResolvedPos | null {
162
+ let {$cursor} = state.selection as TextSelection
163
+ if (!$cursor || (view ? !view.endOfTextblock("forward", state)
164
+ : $cursor.parentOffset < $cursor.parent.content.size))
165
+ return null
166
+ return $cursor
167
+ }
168
+
169
+ /// If the selection is empty and the cursor is at the end of a
170
+ /// textblock, try to reduce or remove the boundary between that block
171
+ /// and the one after it, either by joining them or by moving the other
172
+ /// block closer to this one in the tree structure. Will use the view
173
+ /// for accurate start-of-textblock detection if given.
174
+ export const joinForward: Command = (state, dispatch, view) => {
175
+ let $cursor = atBlockEnd(state, view)
176
+ if (!$cursor) return false
177
+
178
+ let $cut = findCutAfter($cursor)
179
+ // If there is no node after this, there's nothing to do
180
+ if (!$cut) return false
181
+
182
+ let after = $cut.nodeAfter!
183
+ // Try the joining algorithm
184
+ if (deleteBarrier(state, $cut, dispatch, 1)) return true
185
+
186
+ // If the node above has no content and the node below is
187
+ // selectable, delete the node above and select the one below.
188
+ if ($cursor.parent.content.size == 0 &&
189
+ (textblockAt(after, "start") || NodeSelection.isSelectable(after))) {
190
+ let delStep = replaceStep(state.doc, $cursor.before(), $cursor.after(), Slice.empty)
191
+ if (delStep && (delStep as ReplaceStep).slice.size < (delStep as ReplaceStep).to - (delStep as ReplaceStep).from) {
192
+ if (dispatch) {
193
+ let tr = state.tr.step(delStep)
194
+ tr.setSelection(textblockAt(after, "start") ? Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos)), 1)!
195
+ : NodeSelection.create(tr.doc, tr.mapping.map($cut.pos)))
196
+ dispatch(tr.scrollIntoView())
197
+ }
198
+ return true
199
+ }
200
+ }
201
+
202
+ // If the next node is an atom, delete it
203
+ if (after.isAtom && $cut.depth == $cursor.depth - 1) {
204
+ if (dispatch) dispatch(state.tr.delete($cut.pos, $cut.pos + after.nodeSize).scrollIntoView())
205
+ return true
206
+ }
207
+
208
+ return false
209
+ }
210
+
211
+ /// When the selection is empty and at the end of a textblock, select
212
+ /// the node coming after that textblock, if possible. This is intended
213
+ /// to be bound to keys like delete, after
214
+ /// [`joinForward`](#commands.joinForward) and similar deleting
215
+ /// commands, to provide a fall-back behavior when the schema doesn't
216
+ /// allow deletion at the selected point.
217
+ export const selectNodeForward: Command = (state, dispatch, view) => {
218
+ let {$head, empty} = state.selection, $cut: ResolvedPos | null = $head
219
+ if (!empty) return false
220
+ if ($head.parent.isTextblock) {
221
+ if (view ? !view.endOfTextblock("forward", state) : $head.parentOffset < $head.parent.content.size)
222
+ return false
223
+ $cut = findCutAfter($head)
224
+ }
225
+ let node = $cut && $cut.nodeAfter
226
+ if (!node || !NodeSelection.isSelectable(node)) return false
227
+ if (dispatch)
228
+ dispatch(state.tr.setSelection(NodeSelection.create(state.doc, $cut!.pos)).scrollIntoView())
229
+ return true
230
+ }
231
+
232
+ function findCutAfter($pos: ResolvedPos) {
233
+ if (!$pos.parent.type.spec.isolating) for (let i = $pos.depth - 1; i >= 0; i--) {
234
+ let parent = $pos.node(i)
235
+ if ($pos.index(i) + 1 < parent.childCount) return $pos.doc.resolve($pos.after(i + 1))
236
+ if (parent.type.spec.isolating) break
237
+ }
238
+ return null
239
+ }
240
+
241
+ /// Join the selected block or, if there is a text selection, the
242
+ /// closest ancestor block of the selection that can be joined, with
243
+ /// the sibling above it.
244
+ export const joinUp: Command = (state, dispatch) => {
245
+ let sel = state.selection, nodeSel = sel instanceof NodeSelection, point
246
+ if (nodeSel) {
247
+ if ((sel as NodeSelection).node.isTextblock || !canJoin(state.doc, sel.from)) return false
248
+ point = sel.from
249
+ } else {
250
+ point = joinPoint(state.doc, sel.from, -1)
251
+ if (point == null) return false
252
+ }
253
+ if (dispatch) {
254
+ let tr = state.tr.join(point)
255
+ if (nodeSel) tr.setSelection(NodeSelection.create(tr.doc, point - state.doc.resolve(point).nodeBefore!.nodeSize))
256
+ dispatch(tr.scrollIntoView())
257
+ }
258
+ return true
259
+ }
260
+
261
+ /// Join the selected block, or the closest ancestor of the selection
262
+ /// that can be joined, with the sibling after it.
263
+ export const joinDown: Command = (state, dispatch) => {
264
+ let sel = state.selection, point
265
+ if (sel instanceof NodeSelection) {
266
+ if (sel.node.isTextblock || !canJoin(state.doc, sel.to)) return false
267
+ point = sel.to
268
+ } else {
269
+ point = joinPoint(state.doc, sel.to, 1)
270
+ if (point == null) return false
271
+ }
272
+ if (dispatch)
273
+ dispatch(state.tr.join(point).scrollIntoView())
274
+ return true
275
+ }
276
+
277
+ /// Lift the selected block, or the closest ancestor block of the
278
+ /// selection that can be lifted, out of its parent node.
279
+ export const lift: Command = (state, dispatch) => {
280
+ let {$from, $to} = state.selection
281
+ let range = $from.blockRange($to), target = range && liftTarget(range)
282
+ if (target == null) return false
283
+ if (dispatch) dispatch(state.tr.lift(range!, target).scrollIntoView())
284
+ return true
285
+ }
286
+
287
+ /// If the selection is in a node whose type has a truthy
288
+ /// [`code`](#model.NodeSpec.code) property in its spec, replace the
289
+ /// selection with a newline character.
290
+ export const newlineInCode: Command = (state, dispatch) => {
291
+ let {$head, $anchor} = state.selection
292
+ if (!$head.parent.type.spec.code || !$head.sameParent($anchor)) return false
293
+ if (dispatch) dispatch(state.tr.insertText("\n").scrollIntoView())
294
+ return true
295
+ }
296
+
297
+ function defaultBlockAt(match: ContentMatch) {
298
+ for (let i = 0; i < match.edgeCount; i++) {
299
+ let {type} = match.edge(i)
300
+ if (type.isTextblock && !type.hasRequiredAttrs()) return type
301
+ }
302
+ return null
303
+ }
304
+
305
+ /// When the selection is in a node with a truthy
306
+ /// [`code`](#model.NodeSpec.code) property in its spec, create a
307
+ /// default block after the code block, and move the cursor there.
308
+ export const exitCode: Command = (state, dispatch) => {
309
+ let {$head, $anchor} = state.selection
310
+ if (!$head.parent.type.spec.code || !$head.sameParent($anchor)) return false
311
+ let above = $head.node(-1), after = $head.indexAfter(-1), type = defaultBlockAt(above.contentMatchAt(after))
312
+ if (!type || !above.canReplaceWith(after, after, type)) return false
313
+ if (dispatch) {
314
+ let pos = $head.after(), tr = state.tr.replaceWith(pos, pos, type.createAndFill()!)
315
+ tr.setSelection(Selection.near(tr.doc.resolve(pos), 1))
316
+ dispatch(tr.scrollIntoView())
317
+ }
318
+ return true
319
+ }
320
+
321
+ /// If a block node is selected, create an empty paragraph before (if
322
+ /// it is its parent's first child) or after it.
323
+ export const createParagraphNear: Command = (state, dispatch) => {
324
+ let sel = state.selection, {$from, $to} = sel
325
+ if (sel instanceof AllSelection || $from.parent.inlineContent || $to.parent.inlineContent) return false
326
+ let type = defaultBlockAt($to.parent.contentMatchAt($to.indexAfter()))
327
+ if (!type || !type.isTextblock) return false
328
+ if (dispatch) {
329
+ let side = (!$from.parentOffset && $to.index() < $to.parent.childCount ? $from : $to).pos
330
+ let tr = state.tr.insert(side, type.createAndFill()!)
331
+ tr.setSelection(TextSelection.create(tr.doc, side + 1))
332
+ dispatch(tr.scrollIntoView())
333
+ }
334
+ return true
335
+ }
336
+
337
+ /// If the cursor is in an empty textblock that can be lifted, lift the
338
+ /// block.
339
+ export const liftEmptyBlock: Command = (state, dispatch) => {
340
+ let {$cursor} = state.selection as TextSelection
341
+ if (!$cursor || $cursor.parent.content.size) return false
342
+ if ($cursor.depth > 1 && $cursor.after() != $cursor.end(-1)) {
343
+ let before = $cursor.before()
344
+ if (canSplit(state.doc, before)) {
345
+ if (dispatch) dispatch(state.tr.split(before).scrollIntoView())
346
+ return true
347
+ }
348
+ }
349
+ let range = $cursor.blockRange(), target = range && liftTarget(range)
350
+ if (target == null) return false
351
+ if (dispatch) dispatch(state.tr.lift(range!, target).scrollIntoView())
352
+ return true
353
+ }
354
+
355
+ /// Create a variant of [`splitBlock`](#commands.splitBlock) that uses
356
+ /// a custom function to determine the type of the newly split off block.
357
+ export function splitBlockAs(
358
+ splitNode?: (node: Node, atEnd: boolean, $from: ResolvedPos) => {type: NodeType, attrs?: Attrs} | null
359
+ ): Command {
360
+ return (state, dispatch) => {
361
+ let {$from, $to} = state.selection
362
+ if (state.selection instanceof NodeSelection && state.selection.node.isBlock) {
363
+ if (!$from.parentOffset || !canSplit(state.doc, $from.pos)) return false
364
+ if (dispatch) dispatch(state.tr.split($from.pos).scrollIntoView())
365
+ return true
366
+ }
367
+
368
+ if (!$from.depth) return false
369
+ let types: (null | {type: NodeType, attrs?: Attrs | null})[] = []
370
+ let splitDepth, deflt, atEnd = false, atStart = false
371
+ for (let d = $from.depth;; d--) {
372
+ let node = $from.node(d)
373
+ if (node.isBlock) {
374
+ atEnd = $from.end(d) == $from.pos + ($from.depth - d)
375
+ atStart = $from.start(d) == $from.pos - ($from.depth - d)
376
+ deflt = defaultBlockAt($from.node(d - 1).contentMatchAt($from.indexAfter(d - 1)))
377
+ let splitType = splitNode && splitNode($to.parent, atEnd, $from)
378
+ types.unshift(splitType || (atEnd && deflt ? {type: deflt} : null))
379
+ splitDepth = d
380
+ break
381
+ } else {
382
+ if (d == 1) return false
383
+ types.unshift(null)
384
+ }
385
+ }
386
+
387
+ let tr = state.tr
388
+ if (state.selection instanceof TextSelection || state.selection instanceof AllSelection) tr.deleteSelection()
389
+ let splitPos = tr.mapping.map($from.pos)
390
+ let can = canSplit(tr.doc, splitPos, types.length, types)
391
+ if (!can) {
392
+ types[0] = deflt ? {type: deflt} : null
393
+ can = canSplit(tr.doc, splitPos, types.length, types)
394
+ }
395
+ if (!can) return false
396
+ tr.split(splitPos, types.length, types)
397
+ if (!atEnd && atStart && $from.node(splitDepth).type != deflt) {
398
+ let first = tr.mapping.map($from.before(splitDepth)), $first = tr.doc.resolve(first)
399
+ if (deflt && $from.node(splitDepth - 1).canReplaceWith($first.index(), $first.index() + 1, deflt))
400
+ tr.setNodeMarkup(tr.mapping.map($from.before(splitDepth)), deflt)
401
+ }
402
+ if (dispatch) dispatch(tr.scrollIntoView())
403
+ return true
404
+ }
405
+ }
406
+
407
+ /// Split the parent block of the selection. If the selection is a text
408
+ /// selection, also delete its content.
409
+ export const splitBlock: Command = splitBlockAs()
410
+
411
+ /// Acts like [`splitBlock`](#commands.splitBlock), but without
412
+ /// resetting the set of active marks at the cursor.
413
+ export const splitBlockKeepMarks: Command = (state, dispatch) => {
414
+ return splitBlock(state, dispatch && (tr => {
415
+ let marks = state.storedMarks || (state.selection.$to.parentOffset && state.selection.$from.marks())
416
+ if (marks) tr.ensureMarks(marks)
417
+ dispatch(tr)
418
+ }))
419
+ }
420
+
421
+ /// Move the selection to the node wrapping the current selection, if
422
+ /// any. (Will not select the document node.)
423
+ export const selectParentNode: Command = (state, dispatch) => {
424
+ let {$from, to} = state.selection, pos
425
+ let same = $from.sharedDepth(to)
426
+ if (same == 0) return false
427
+ pos = $from.before(same)
428
+ if (dispatch) dispatch(state.tr.setSelection(NodeSelection.create(state.doc, pos)))
429
+ return true
430
+ }
431
+
432
+ /// Select the whole document.
433
+ export const selectAll: Command = (state, dispatch) => {
434
+ if (dispatch) dispatch(state.tr.setSelection(new AllSelection(state.doc)))
435
+ return true
436
+ }
437
+
438
+ function joinMaybeClear(state: EditorState, $pos: ResolvedPos, dispatch: ((tr: Transaction) => void) | undefined) {
439
+ let before = $pos.nodeBefore, after = $pos.nodeAfter, index = $pos.index()
440
+ if (!before || !after || !before.type.compatibleContent(after.type)) return false
441
+ if (!before.content.size && $pos.parent.canReplace(index - 1, index)) {
442
+ if (dispatch) dispatch(state.tr.delete($pos.pos - before.nodeSize, $pos.pos).scrollIntoView())
443
+ return true
444
+ }
445
+ if (!$pos.parent.canReplace(index, index + 1) || !(after.isTextblock || canJoin(state.doc, $pos.pos)))
446
+ return false
447
+ if (dispatch)
448
+ dispatch(state.tr.join($pos.pos).scrollIntoView())
449
+ return true
450
+ }
451
+
452
+ function deleteBarrier(state: EditorState, $cut: ResolvedPos, dispatch: ((tr: Transaction) => void) | undefined, dir: number) {
453
+ let before = $cut.nodeBefore!, after = $cut.nodeAfter!, conn, match
454
+ let isolated = before.type.spec.isolating || after.type.spec.isolating
455
+ if (!isolated && joinMaybeClear(state, $cut, dispatch)) return true
456
+
457
+ let canDelAfter = !isolated && $cut.parent.canReplace($cut.index(), $cut.index() + 1)
458
+ if (canDelAfter &&
459
+ (conn = (match = before.contentMatchAt(before.childCount)).findWrapping(after.type)) &&
460
+ match.matchType(conn[0] || after.type)!.validEnd) {
461
+ if (dispatch) {
462
+ let end = $cut.pos + after.nodeSize, wrap = Fragment.empty
463
+ for (let i = conn.length - 1; i >= 0; i--)
464
+ wrap = Fragment.from(conn[i].create(null, wrap))
465
+ wrap = Fragment.from(before.copy(wrap))
466
+ let tr = state.tr.step(new ReplaceAroundStep($cut.pos - 1, end, $cut.pos, end, new Slice(wrap, 1, 0), conn.length, true))
467
+ let $joinAt = tr.doc.resolve(end + 2 * conn.length)
468
+ if ($joinAt.nodeAfter && $joinAt.nodeAfter.type == before.type &&
469
+ canJoin(tr.doc, $joinAt.pos)) tr.join($joinAt.pos)
470
+ dispatch(tr.scrollIntoView())
471
+ }
472
+ return true
473
+ }
474
+
475
+ let selAfter = after.type.spec.isolating || (dir > 0 && isolated) ? null : Selection.findFrom($cut, 1)
476
+ let range = selAfter && selAfter.$from.blockRange(selAfter.$to), target = range && liftTarget(range)
477
+ if (target != null && target >= $cut.depth) {
478
+ if (dispatch) dispatch(state.tr.lift(range!, target).scrollIntoView())
479
+ return true
480
+ }
481
+
482
+ if (canDelAfter && textblockAt(after, "start", true) && textblockAt(before, "end")) {
483
+ let at = before, wrap = []
484
+ for (;;) {
485
+ wrap.push(at)
486
+ if (at.isTextblock) break
487
+ at = at.lastChild!
488
+ }
489
+ let afterText = after, afterDepth = 1
490
+ for (; !afterText.isTextblock; afterText = afterText.firstChild!) afterDepth++
491
+ if (at.canReplace(at.childCount, at.childCount, afterText.content)) {
492
+ if (dispatch) {
493
+ let end = Fragment.empty
494
+ for (let i = wrap.length - 1; i >= 0; i--) end = Fragment.from(wrap[i].copy(end))
495
+ let tr = state.tr.step(new ReplaceAroundStep($cut.pos - wrap.length, $cut.pos + after.nodeSize,
496
+ $cut.pos + afterDepth, $cut.pos + after.nodeSize - afterDepth,
497
+ new Slice(end, wrap.length, 0), 0, true))
498
+ dispatch(tr.scrollIntoView())
499
+ }
500
+ return true
501
+ }
502
+ }
503
+
504
+ return false
505
+ }
506
+
507
+ function selectTextblockSide(side: number): Command {
508
+ return function(state, dispatch) {
509
+ let sel = state.selection, $pos = side < 0 ? sel.$from : sel.$to
510
+ let depth = $pos.depth
511
+ while ($pos.node(depth).isInline) {
512
+ if (!depth) return false
513
+ depth--
514
+ }
515
+ if (!$pos.node(depth).isTextblock) return false
516
+ if (dispatch)
517
+ dispatch(state.tr.setSelection(TextSelection.create(
518
+ state.doc, side < 0 ? $pos.start(depth) : $pos.end(depth))))
519
+ return true
520
+ }
521
+ }
522
+
523
+ /// Moves the cursor to the start of current text block.
524
+ export const selectTextblockStart = selectTextblockSide(-1)
525
+
526
+ /// Moves the cursor to the end of current text block.
527
+ export const selectTextblockEnd = selectTextblockSide(1)
528
+
529
+ // Parameterized commands
530
+
531
+ /// Wrap the selection in a node of the given type with the given
532
+ /// attributes.
533
+ export function wrapIn(nodeType: NodeType, attrs: Attrs | null = null): Command {
534
+ return function(state, dispatch) {
535
+ let {$from, $to} = state.selection
536
+ let range = $from.blockRange($to), wrapping = range && findWrapping(range, nodeType, attrs)
537
+ if (!wrapping) return false
538
+ if (dispatch) dispatch(state.tr.wrap(range!, wrapping).scrollIntoView())
539
+ return true
540
+ }
541
+ }
542
+
543
+ /// Returns a command that tries to set the selected textblocks to the
544
+ /// given node type with the given attributes.
545
+ export function setBlockType(nodeType: NodeType, attrs: Attrs | null = null): Command {
546
+ return function(state, dispatch) {
547
+ let applicable = false
548
+ for (let i = 0; i < state.selection.ranges.length && !applicable; i++) {
549
+ let {$from: {pos: from}, $to: {pos: to}} = state.selection.ranges[i]
550
+ state.doc.nodesBetween(from, to, (node, pos) => {
551
+ if (applicable) return false
552
+ if (!node.isTextblock || node.hasMarkup(nodeType, attrs)) return
553
+ if (node.type == nodeType) {
554
+ applicable = true
555
+ } else {
556
+ let $pos = state.doc.resolve(pos), index = $pos.index()
557
+ applicable = $pos.parent.canReplaceWith(index, index + 1, nodeType)
558
+ }
559
+ })
560
+ }
561
+ if (!applicable) return false
562
+ if (dispatch) {
563
+ let tr = state.tr
564
+ for (let i = 0; i < state.selection.ranges.length; i++) {
565
+ let {$from: {pos: from}, $to: {pos: to}} = state.selection.ranges[i]
566
+ tr.setBlockType(from, to, nodeType, attrs)
567
+ }
568
+ dispatch(tr.scrollIntoView())
569
+ }
570
+ return true
571
+ }
572
+ }
573
+
574
+ function markApplies(doc: Node, ranges: readonly SelectionRange[], type: MarkType, enterAtoms: boolean) {
575
+ for (let i = 0; i < ranges.length; i++) {
576
+ let {$from, $to} = ranges[i]
577
+ let can = $from.depth == 0 ? doc.inlineContent && doc.type.allowsMarkType(type) : false
578
+ doc.nodesBetween($from.pos, $to.pos, (node, pos) => {
579
+ if (can || !enterAtoms && node.isAtom && node.isInline && pos >= $from.pos && pos + node.nodeSize <= $to.pos)
580
+ return false
581
+ can = node.inlineContent && node.type.allowsMarkType(type)
582
+ })
583
+ if (can) return true
584
+ }
585
+ return false
586
+ }
587
+
588
+ function removeInlineAtoms(ranges: readonly SelectionRange[]): readonly SelectionRange[] {
589
+ let result = []
590
+ for (let i = 0; i < ranges.length; i++) {
591
+ let {$from, $to} = ranges[i]
592
+ $from.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {
593
+ if (node.isAtom && node.content.size && node.isInline && pos >= $from.pos && pos + node.nodeSize <= $to.pos) {
594
+ if (pos + 1 > $from.pos) result.push(new SelectionRange($from, $from.doc.resolve(pos + 1)))
595
+ $from = $from.doc.resolve(pos + 1 + node.content.size)
596
+ return false
597
+ }
598
+ })
599
+ if ($from.pos < $to.pos) result.push(new SelectionRange($from, $to))
600
+ }
601
+ return result
602
+ }
603
+
604
+ /// Create a command function that toggles the given mark with the
605
+ /// given attributes. Will return `false` when the current selection
606
+ /// doesn't support that mark. This will remove the mark if any marks
607
+ /// of that type exist in the selection, or add it otherwise. If the
608
+ /// selection is empty, this applies to the [stored
609
+ /// marks](#state.EditorState.storedMarks) instead of a range of the
610
+ /// document.
611
+ export function toggleMark(markType: MarkType, attrs: Attrs | null = null, options?: {
612
+ /// Controls whether, when part of the selected range has the mark
613
+ /// already and part doesn't, the mark is removed (`true`, the
614
+ /// default) or added (`false`).
615
+ removeWhenPresent?: boolean
616
+ /// When set to false, this will prevent the command from acting on
617
+ /// the content of inline nodes marked as
618
+ /// [atoms](#model.NodeSpec.atom) that are completely covered by a
619
+ /// selection range.
620
+ enterInlineAtoms?: boolean
621
+ /// By default, this command doesn't apply to leading and trailing
622
+ /// whitespace in the selection. Set this to `true` to change that.
623
+ includeWhitespace?: boolean
624
+ }): Command {
625
+ let removeWhenPresent = (options && options.removeWhenPresent) !== false
626
+ let enterAtoms = (options && options.enterInlineAtoms) !== false
627
+ let dropSpace = !(options && options.includeWhitespace)
628
+ return function(state, dispatch) {
629
+ let {empty, $cursor, ranges} = state.selection as TextSelection
630
+ if ((empty && !$cursor) || !markApplies(state.doc, ranges, markType, enterAtoms)) return false
631
+ if (dispatch) {
632
+ if ($cursor) {
633
+ if (markType.isInSet(state.storedMarks || $cursor.marks()))
634
+ dispatch(state.tr.removeStoredMark(markType))
635
+ else
636
+ dispatch(state.tr.addStoredMark(markType.create(attrs)))
637
+ } else {
638
+ let add, tr = state.tr
639
+ if (!enterAtoms) ranges = removeInlineAtoms(ranges)
640
+ if (removeWhenPresent) {
641
+ add = !ranges.some(r => state.doc.rangeHasMark(r.$from.pos, r.$to.pos, markType))
642
+ } else {
643
+ add = !ranges.every(r => {
644
+ let missing = false
645
+ tr.doc.nodesBetween(r.$from.pos, r.$to.pos, (node, pos, parent) => {
646
+ if (missing) return false
647
+ missing = !markType.isInSet(node.marks) && !!parent && parent.type.allowsMarkType(markType) &&
648
+ !(node.isText && /^\s*$/.test(node.textBetween(Math.max(0, r.$from.pos - pos),
649
+ Math.min(node.nodeSize, r.$to.pos - pos))))
650
+ })
651
+ return !missing
652
+ })
653
+ }
654
+ for (let i = 0; i < ranges.length; i++) {
655
+ let {$from, $to} = ranges[i]
656
+ if (!add) {
657
+ tr.removeMark($from.pos, $to.pos, markType)
658
+ } else {
659
+ let from = $from.pos, to = $to.pos, start = $from.nodeAfter, end = $to.nodeBefore
660
+ let spaceStart = dropSpace && start && start.isText ? /^\s*/.exec(start.text!)![0].length : 0
661
+ let spaceEnd = dropSpace && end && end.isText ? /\s*$/.exec(end.text!)![0].length : 0
662
+ if (from + spaceStart < to) { from += spaceStart; to -= spaceEnd }
663
+ tr.addMark(from, to, markType.create(attrs))
664
+ }
665
+ }
666
+ dispatch(tr.scrollIntoView())
667
+ }
668
+ }
669
+ return true
670
+ }
671
+ }
672
+
673
+ function wrapDispatchForJoin(dispatch: (tr: Transaction) => void, isJoinable: (a: Node, b: Node) => boolean) {
674
+ return (tr: Transaction) => {
675
+ if (!tr.isGeneric) return dispatch(tr)
676
+
677
+ let ranges: number[] = []
678
+ for (let i = 0; i < tr.mapping.maps.length; i++) {
679
+ let map = tr.mapping.maps[i]
680
+ for (let j = 0; j < ranges.length; j++)
681
+ ranges[j] = map.map(ranges[j])
682
+ map.forEach((_s, _e, from, to) => ranges.push(from, to))
683
+ }
684
+
685
+ // Figure out which joinable points exist inside those ranges,
686
+ // by checking all node boundaries in their parent nodes.
687
+ let joinable = []
688
+ for (let i = 0; i < ranges.length; i += 2) {
689
+ let from = ranges[i], to = ranges[i + 1]
690
+ let $from = tr.doc.resolve(from), depth = $from.sharedDepth(to), parent = $from.node(depth)
691
+ for (let index = $from.indexAfter(depth), pos = $from.after(depth + 1); pos <= to; ++index) {
692
+ let after = parent.maybeChild(index)
693
+ if (!after) break
694
+ if (index && joinable.indexOf(pos) == -1) {
695
+ let before = parent.child(index - 1)
696
+ if (before.type == after.type && isJoinable(before, after))
697
+ joinable.push(pos)
698
+ }
699
+ pos += after.nodeSize
700
+ }
701
+ }
702
+ // Join the joinable points
703
+ joinable.sort((a, b) => a - b)
704
+ for (let i = joinable.length - 1; i >= 0; i--) {
705
+ if (canJoin(tr.doc, joinable[i])) tr.join(joinable[i])
706
+ }
707
+ dispatch(tr)
708
+ }
709
+ }
710
+
711
+ /// Wrap a command so that, when it produces a transform that causes
712
+ /// two joinable nodes to end up next to each other, those are joined.
713
+ /// Nodes are considered joinable when they are of the same type and
714
+ /// when the `isJoinable` predicate returns true for them or, if an
715
+ /// array of strings was passed, if their node type name is in that
716
+ /// array.
717
+ export function autoJoin(
718
+ command: Command,
719
+ isJoinable: ((before: Node, after: Node) => boolean) | readonly string[]
720
+ ): Command {
721
+ let canJoin = Array.isArray(isJoinable) ? (node: Node) => isJoinable.indexOf(node.type.name) > -1
722
+ : isJoinable as (a: Node, b: Node) => boolean
723
+ return (state, dispatch, view) => command(state, dispatch && wrapDispatchForJoin(dispatch, canJoin), view)
724
+ }
725
+
726
+ /// Combine a number of command functions into a single function (which
727
+ /// calls them one by one until one returns true).
728
+ export function chainCommands(...commands: readonly Command[]): Command {
729
+ return function(state, dispatch, view) {
730
+ for (let i = 0; i < commands.length; i++)
731
+ if (commands[i](state, dispatch, view)) return true
732
+ return false
733
+ }
734
+ }
735
+
736
+ let backspace = chainCommands(deleteSelection, joinBackward, selectNodeBackward)
737
+ let del = chainCommands(deleteSelection, joinForward, selectNodeForward)
738
+
739
+ /// A basic keymap containing bindings not specific to any schema.
740
+ /// Binds the following keys (when multiple commands are listed, they
741
+ /// are chained with [`chainCommands`](#commands.chainCommands)):
742
+ ///
743
+ /// * **Enter** to `newlineInCode`, `createParagraphNear`, `liftEmptyBlock`, `splitBlock`
744
+ /// * **Mod-Enter** to `exitCode`
745
+ /// * **Backspace** and **Mod-Backspace** to `deleteSelection`, `joinBackward`, `selectNodeBackward`
746
+ /// * **Delete** and **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`
747
+ /// * **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`
748
+ /// * **Mod-a** to `selectAll`
749
+ export const pcBaseKeymap: {[key: string]: Command} = {
750
+ "Enter": chainCommands(newlineInCode, createParagraphNear, liftEmptyBlock, splitBlock),
751
+ "Mod-Enter": exitCode,
752
+ "Backspace": backspace,
753
+ "Mod-Backspace": backspace,
754
+ "Shift-Backspace": backspace,
755
+ "Delete": del,
756
+ "Mod-Delete": del,
757
+ "Mod-a": selectAll
758
+ }
759
+
760
+ /// A copy of `pcBaseKeymap` that also binds **Ctrl-h** like Backspace,
761
+ /// **Ctrl-d** like Delete, **Alt-Backspace** like Ctrl-Backspace, and
762
+ /// **Ctrl-Alt-Backspace**, **Alt-Delete**, and **Alt-d** like
763
+ /// Ctrl-Delete.
764
+ export const macBaseKeymap: {[key: string]: Command} = {
765
+ "Ctrl-h": pcBaseKeymap["Backspace"],
766
+ "Alt-Backspace": pcBaseKeymap["Mod-Backspace"],
767
+ "Ctrl-d": pcBaseKeymap["Delete"],
768
+ "Ctrl-Alt-Backspace": pcBaseKeymap["Mod-Delete"],
769
+ "Alt-Delete": pcBaseKeymap["Mod-Delete"],
770
+ "Alt-d": pcBaseKeymap["Mod-Delete"],
771
+ "Ctrl-a": selectTextblockStart,
772
+ "Ctrl-e": selectTextblockEnd
773
+ }
774
+ for (let key in pcBaseKeymap) (macBaseKeymap as any)[key] = pcBaseKeymap[key]
775
+
776
+ const mac = typeof navigator != "undefined" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform)
777
+ // @ts-ignore
778
+ : typeof os != "undefined" && os.platform ? os.platform() == "darwin" : false
779
+
780
+ /// Depending on the detected platform, this will hold
781
+ /// [`pcBasekeymap`](#commands.pcBaseKeymap) or
782
+ /// [`macBaseKeymap`](#commands.macBaseKeymap).
783
+ export const baseKeymap: {[key: string]: Command} = mac ? macBaseKeymap : pcBaseKeymap