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

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,825 @@
1
+ import {NodeSelection, EditorState, Plugin, PluginView, Transaction, Selection} from "prosemirror-state"
2
+ import {Slice, ResolvedPos, DOMParser, DOMSerializer, Node, Mark} from "prosemirror-model"
3
+
4
+ import {scrollRectIntoView, posAtCoords, coordsAtPos, endOfTextblock, storeScrollPos,
5
+ resetScrollPos, focusPreventScroll} from "./domcoords"
6
+ import {docViewDesc, ViewDesc, NodeView, NodeViewDesc, MarkView} from "./viewdesc"
7
+ import {initInput, destroyInput, dispatchEvent, ensureListeners, clearComposition,
8
+ InputState, doPaste, Dragging, findCompositionNode} from "./input"
9
+ import {selectionToDOM, anchorInRightPlace, syncNodeSelection} from "./selection"
10
+ import {Decoration, viewDecorations, DecorationSource} from "./decoration"
11
+ import {DOMObserver, safariShadowSelectionRange} from "./domobserver"
12
+ import {readDOMChange} from "./domchange"
13
+ import {DOMSelection, DOMNode, DOMSelectionRange, deepActiveElement, clearReusedRange} from "./dom"
14
+ import * as browser from "./browser"
15
+
16
+ export {Decoration, DecorationSet, DecorationAttrs, DecorationSource} from "./decoration"
17
+ export {NodeView, MarkView, ViewMutationRecord} from "./viewdesc"
18
+
19
+ // Exported for testing
20
+ import {serializeForClipboard, parseFromClipboard} from "./clipboard"
21
+ import {endComposition} from "./input"
22
+ /// @internal
23
+ export const __parseFromClipboard = parseFromClipboard
24
+ /// @internal
25
+ export const __endComposition = endComposition
26
+
27
+ /// An editor view manages the DOM structure that represents an
28
+ /// editable document. Its state and behavior are determined by its
29
+ /// [props](#view.DirectEditorProps).
30
+ export class EditorView {
31
+ /// @internal
32
+ _props: DirectEditorProps
33
+ private directPlugins: readonly Plugin[]
34
+ private _root: Document | ShadowRoot | null = null
35
+ /// @internal
36
+ focused = false
37
+ /// Kludge used to work around a Chrome bug @internal
38
+ trackWrites: DOMNode | null = null
39
+ private mounted = false
40
+ /// @internal
41
+ markCursor: readonly Mark[] | null = null
42
+ /// @internal
43
+ cursorWrapper: {dom: DOMNode, deco: Decoration} | null = null
44
+ /// @internal
45
+ nodeViews: NodeViewSet
46
+ /// @internal
47
+ lastSelectedViewDesc: ViewDesc | undefined = undefined
48
+ /// @internal
49
+ docView: NodeViewDesc
50
+ /// @internal
51
+ input = new InputState
52
+ private prevDirectPlugins: readonly Plugin[] = []
53
+ private pluginViews: PluginView[] = []
54
+ /// @internal
55
+ declare domObserver: DOMObserver
56
+ /// Holds `true` when a hack node is needed in Firefox to prevent the
57
+ /// [space is eaten issue](https://github.com/ProseMirror/prosemirror/issues/651)
58
+ /// @internal
59
+ requiresGeckoHackNode: boolean = false
60
+
61
+ /// The view's current [state](#state.EditorState).
62
+ public state: EditorState
63
+
64
+ /// Create a view. `place` may be a DOM node that the editor should
65
+ /// be appended to, a function that will place it into the document,
66
+ /// or an object whose `mount` property holds the node to use as the
67
+ /// document container. If it is `null`, the editor will not be
68
+ /// added to the document.
69
+ constructor(place: null | DOMNode | ((editor: HTMLElement) => void) | {mount: HTMLElement}, props: DirectEditorProps) {
70
+ this._props = props
71
+ this.state = props.state
72
+ this.directPlugins = props.plugins || []
73
+ this.directPlugins.forEach(checkStateComponent)
74
+
75
+ this.dispatch = this.dispatch.bind(this)
76
+
77
+ this.dom = (place && (place as {mount: HTMLElement}).mount) || document.createElement("div")
78
+ if (place) {
79
+ if ((place as DOMNode).appendChild) (place as DOMNode).appendChild(this.dom)
80
+ else if (typeof place == "function") place(this.dom)
81
+ else if ((place as {mount: HTMLElement}).mount) this.mounted = true
82
+ }
83
+
84
+ this.editable = getEditable(this)
85
+ updateCursorWrapper(this)
86
+ this.nodeViews = buildNodeViews(this)
87
+ this.docView = docViewDesc(this.state.doc, computeDocDeco(this), viewDecorations(this), this.dom, this)
88
+
89
+ this.domObserver = new DOMObserver(this, (from, to, typeOver, added) => readDOMChange(this, from, to, typeOver, added))
90
+ this.domObserver.start()
91
+ initInput(this)
92
+ this.updatePluginViews()
93
+ }
94
+
95
+ /// An editable DOM node containing the document. (You probably
96
+ /// should not directly interfere with its content.)
97
+ readonly dom: HTMLElement
98
+
99
+ /// Indicates whether the editor is currently [editable](#view.EditorProps.editable).
100
+ editable: boolean
101
+
102
+ /// When editor content is being dragged, this object contains
103
+ /// information about the dragged slice and whether it is being
104
+ /// copied or moved. At any other time, it is null.
105
+ dragging: null | {slice: Slice, move: boolean} = null
106
+
107
+ /// Holds `true` when a
108
+ /// [composition](https://w3c.github.io/uievents/#events-compositionevents)
109
+ /// is active.
110
+ get composing() { return this.input.composing }
111
+
112
+ /// The view's current [props](#view.EditorProps).
113
+ get props() {
114
+ if (this._props.state != this.state) {
115
+ let prev = this._props
116
+ this._props = {} as any
117
+ for (let name in prev) (this._props as any)[name] = (prev as any)[name]
118
+ this._props.state = this.state
119
+ }
120
+ return this._props
121
+ }
122
+
123
+ /// Update the view's props. Will immediately cause an update to
124
+ /// the DOM.
125
+ update(props: DirectEditorProps) {
126
+ if (props.handleDOMEvents != this._props.handleDOMEvents) ensureListeners(this)
127
+ let prevProps = this._props
128
+ this._props = props
129
+ if (props.plugins) {
130
+ props.plugins.forEach(checkStateComponent)
131
+ this.directPlugins = props.plugins
132
+ }
133
+ this.updateStateInner(props.state, prevProps)
134
+ }
135
+
136
+ /// Update the view by updating existing props object with the object
137
+ /// given as argument. Equivalent to `view.update(Object.assign({},
138
+ /// view.props, props))`.
139
+ setProps(props: Partial<DirectEditorProps>) {
140
+ let updated = {} as DirectEditorProps
141
+ for (let name in this._props) (updated as any)[name] = (this._props as any)[name]
142
+ updated.state = this.state
143
+ for (let name in props) (updated as any)[name] = (props as any)[name]
144
+ this.update(updated)
145
+ }
146
+
147
+ /// Update the editor's `state` prop, without touching any of the
148
+ /// other props.
149
+ updateState(state: EditorState) {
150
+ this.updateStateInner(state, this._props)
151
+ }
152
+
153
+ private updateStateInner(state: EditorState, prevProps: DirectEditorProps) {
154
+ let prev = this.state, redraw = false, updateSel = false
155
+ // When stored marks are added, stop composition, so that they can
156
+ // be displayed.
157
+ if (state.storedMarks && this.composing) {
158
+ clearComposition(this)
159
+ updateSel = true
160
+ }
161
+ this.state = state
162
+ let pluginsChanged = prev.plugins != state.plugins || this._props.plugins != prevProps.plugins
163
+ if (pluginsChanged || this._props.plugins != prevProps.plugins || this._props.nodeViews != prevProps.nodeViews) {
164
+ let nodeViews = buildNodeViews(this)
165
+ if (changedNodeViews(nodeViews, this.nodeViews)) {
166
+ this.nodeViews = nodeViews
167
+ redraw = true
168
+ }
169
+ }
170
+ if (pluginsChanged || prevProps.handleDOMEvents != this._props.handleDOMEvents) {
171
+ ensureListeners(this)
172
+ }
173
+
174
+ this.editable = getEditable(this)
175
+ updateCursorWrapper(this)
176
+ let innerDeco = viewDecorations(this), outerDeco = computeDocDeco(this)
177
+
178
+ let scroll = prev.plugins != state.plugins && !prev.doc.eq(state.doc) ? "reset"
179
+ : (state as any).scrollToSelection > (prev as any).scrollToSelection ? "to selection" : "preserve"
180
+ let updateDoc = redraw || !this.docView.matchesNode(state.doc, outerDeco, innerDeco)
181
+ if (updateDoc || !state.selection.eq(prev.selection)) updateSel = true
182
+ let oldScrollPos = scroll == "preserve" && updateSel && this.dom.style.overflowAnchor == null && storeScrollPos(this)
183
+
184
+ if (updateSel) {
185
+ this.domObserver.stop()
186
+ // Work around an issue in Chrome, IE, and Edge where changing
187
+ // the DOM around an active selection puts it into a broken
188
+ // state where the thing the user sees differs from the
189
+ // selection reported by the Selection object (#710, #973,
190
+ // #1011, #1013, #1035).
191
+ let forceSelUpdate = updateDoc && (browser.ie || browser.chrome) && !this.composing &&
192
+ !prev.selection.empty && !state.selection.empty && selectionContextChanged(prev.selection, state.selection)
193
+ if (updateDoc) {
194
+ // If the node that the selection points into is written to,
195
+ // Chrome sometimes starts misreporting the selection, so this
196
+ // tracks that and forces a selection reset when our update
197
+ // did write to the node.
198
+ let chromeKludge = browser.chrome ? (this.trackWrites = this.domSelectionRange().focusNode) : null
199
+ if (this.composing) this.input.compositionNode = findCompositionNode(this)
200
+ if (redraw || !this.docView.update(state.doc, outerDeco, innerDeco, this)) {
201
+ this.docView.updateOuterDeco(outerDeco)
202
+ this.docView.destroy()
203
+ this.docView = docViewDesc(state.doc, outerDeco, innerDeco, this.dom, this)
204
+ }
205
+ if (chromeKludge && (!this.trackWrites || !this.dom.contains(this.trackWrites))) forceSelUpdate = true
206
+ }
207
+ // Work around for an issue where an update arriving right between
208
+ // a DOM selection change and the "selectionchange" event for it
209
+ // can cause a spurious DOM selection update, disrupting mouse
210
+ // drag selection.
211
+ if (forceSelUpdate ||
212
+ !(this.input.mouseDown && this.domObserver.currentSelection.eq(this.domSelectionRange()) &&
213
+ anchorInRightPlace(this))) {
214
+ selectionToDOM(this, forceSelUpdate)
215
+ } else {
216
+ syncNodeSelection(this, state.selection)
217
+ this.domObserver.setCurSelection()
218
+ }
219
+ this.domObserver.start()
220
+ }
221
+
222
+ this.updatePluginViews(prev)
223
+ if ((this.dragging as Dragging)?.node && !prev.doc.eq(state.doc))
224
+ this.updateDraggedNode(this.dragging as Dragging, prev)
225
+
226
+ if (scroll == "reset") {
227
+ this.dom.scrollTop = 0
228
+ } else if (scroll == "to selection") {
229
+ this.scrollToSelection()
230
+ } else if (oldScrollPos) {
231
+ resetScrollPos(oldScrollPos)
232
+ }
233
+ }
234
+
235
+ /// @internal
236
+ scrollToSelection() {
237
+ let startDOM = this.domSelectionRange().focusNode
238
+ if (!startDOM || !this.dom.contains(startDOM.nodeType == 1 ? startDOM : startDOM.parentNode)) {
239
+ // Ignore selections outside the editor
240
+ } else if (this.someProp("handleScrollToSelection", f => f(this))) {
241
+ // Handled
242
+ } else if (this.state.selection instanceof NodeSelection) {
243
+ let target = this.docView.domAfterPos(this.state.selection.from)
244
+ if (target.nodeType == 1) scrollRectIntoView(this, (target as HTMLElement).getBoundingClientRect(), startDOM)
245
+ } else {
246
+ scrollRectIntoView(this, this.coordsAtPos(this.state.selection.head, 1), startDOM)
247
+ }
248
+ }
249
+
250
+ private destroyPluginViews() {
251
+ let view
252
+ while (view = this.pluginViews.pop()) if (view.destroy) view.destroy()
253
+ }
254
+
255
+ private updatePluginViews(prevState?: EditorState) {
256
+ if (!prevState || prevState.plugins != this.state.plugins || this.directPlugins != this.prevDirectPlugins) {
257
+ this.prevDirectPlugins = this.directPlugins
258
+ this.destroyPluginViews()
259
+ for (let i = 0; i < this.directPlugins.length; i++) {
260
+ let plugin = this.directPlugins[i]
261
+ if (plugin.spec.view) this.pluginViews.push(plugin.spec.view(this))
262
+ }
263
+ for (let i = 0; i < this.state.plugins.length; i++) {
264
+ let plugin = this.state.plugins[i]
265
+ if (plugin.spec.view) this.pluginViews.push(plugin.spec.view(this))
266
+ }
267
+ } else {
268
+ for (let i = 0; i < this.pluginViews.length; i++) {
269
+ let pluginView = this.pluginViews[i]
270
+ if (pluginView.update) pluginView.update(this, prevState)
271
+ }
272
+ }
273
+ }
274
+
275
+ private updateDraggedNode(dragging: Dragging, prev: EditorState) {
276
+ let sel = dragging.node!, found = -1
277
+ if (sel.from < this.state.doc.content.size && this.state.doc.nodeAt(sel.from) == sel.node) {
278
+ found = sel.from
279
+ } else {
280
+ let movedPos = sel.from + (this.state.doc.content.size - prev.doc.content.size)
281
+ let moved = movedPos > 0 && movedPos < this.state.doc.content.size && this.state.doc.nodeAt(movedPos)
282
+ if (moved == sel.node) found = movedPos
283
+ }
284
+ this.dragging = new Dragging(dragging.slice, dragging.move,
285
+ found < 0 ? undefined : NodeSelection.create(this.state.doc, found))
286
+ }
287
+
288
+ /// Goes over the values of a prop, first those provided directly,
289
+ /// then those from plugins given to the view, then from plugins in
290
+ /// the state (in order), and calls `f` every time a non-undefined
291
+ /// value is found. When `f` returns a truthy value, that is
292
+ /// immediately returned. When `f` isn't provided, it is treated as
293
+ /// the identity function (the prop value is returned directly).
294
+ someProp<PropName extends keyof EditorProps, Result>(
295
+ propName: PropName,
296
+ f: (value: NonNullable<EditorProps[PropName]>) => Result
297
+ ): Result | undefined
298
+ someProp<PropName extends keyof EditorProps>(propName: PropName): NonNullable<EditorProps[PropName]> | undefined
299
+ someProp<PropName extends keyof EditorProps, Result>(
300
+ propName: PropName,
301
+ f?: (value: NonNullable<EditorProps[PropName]>) => Result
302
+ ): Result | undefined {
303
+ let prop = this._props && this._props[propName], value
304
+ if (prop != null && (value = f ? f(prop as any) : prop)) return value as any
305
+ for (let i = 0; i < this.directPlugins.length; i++) {
306
+ let prop = this.directPlugins[i].props[propName]
307
+ if (prop != null && (value = f ? f(prop as any) : prop)) return value as any
308
+ }
309
+ let plugins = this.state.plugins
310
+ if (plugins) for (let i = 0; i < plugins.length; i++) {
311
+ let prop = plugins[i].props[propName]
312
+ if (prop != null && (value = f ? f(prop as any) : prop)) return value as any
313
+ }
314
+ }
315
+
316
+ /// Query whether the view has focus.
317
+ hasFocus() {
318
+ // Work around IE not handling focus correctly if resize handles are shown.
319
+ // If the cursor is inside an element with resize handles, activeElement
320
+ // will be that element instead of this.dom.
321
+ if (browser.ie) {
322
+ // If activeElement is within this.dom, and there are no other elements
323
+ // setting `contenteditable` to false in between, treat it as focused.
324
+ let node = this.root.activeElement
325
+ if (node == this.dom) return true
326
+ if (!node || !this.dom.contains(node)) return false
327
+ while (node && this.dom != node && this.dom.contains(node)) {
328
+ if ((node as HTMLElement).contentEditable == 'false') return false
329
+ node = node.parentElement
330
+ }
331
+ return true
332
+ }
333
+ return this.root.activeElement == this.dom
334
+ }
335
+
336
+ /// Focus the editor.
337
+ focus() {
338
+ this.domObserver.stop()
339
+ if (this.editable) focusPreventScroll(this.dom)
340
+ selectionToDOM(this)
341
+ this.domObserver.start()
342
+ }
343
+
344
+ /// Get the document root in which the editor exists. This will
345
+ /// usually be the top-level `document`, but might be a [shadow
346
+ /// DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Shadow_DOM)
347
+ /// root if the editor is inside one.
348
+ get root(): Document | ShadowRoot {
349
+ let cached = this._root
350
+ if (cached == null) for (let search = this.dom.parentNode; search; search = search.parentNode) {
351
+ if (search.nodeType == 9 || (search.nodeType == 11 && (search as any).host)) {
352
+ if (!(search as any).getSelection)
353
+ Object.getPrototypeOf(search).getSelection = () => (search as DOMNode).ownerDocument!.getSelection()
354
+ return this._root = search as Document | ShadowRoot
355
+ }
356
+ }
357
+ return cached || document
358
+ }
359
+
360
+ /// When an existing editor view is moved to a new document or
361
+ /// shadow tree, call this to make it recompute its root.
362
+ updateRoot() {
363
+ this._root = null
364
+ }
365
+
366
+ /// Given a pair of viewport coordinates, return the document
367
+ /// position that corresponds to them. May return null if the given
368
+ /// coordinates aren't inside of the editor. When an object is
369
+ /// returned, its `pos` property is the position nearest to the
370
+ /// coordinates, and its `inside` property holds the position of the
371
+ /// inner node that the position falls inside of, or -1 if it is at
372
+ /// the top level, not in any node.
373
+ posAtCoords(coords: {left: number, top: number}): {pos: number, inside: number} | null {
374
+ return posAtCoords(this, coords)
375
+ }
376
+
377
+ /// Returns the viewport rectangle at a given document position.
378
+ /// `left` and `right` will be the same number, as this returns a
379
+ /// flat cursor-ish rectangle. If the position is between two things
380
+ /// that aren't directly adjacent, `side` determines which element
381
+ /// is used. When < 0, the element before the position is used,
382
+ /// otherwise the element after.
383
+ coordsAtPos(pos: number, side = 1): {left: number, right: number, top: number, bottom: number} {
384
+ return coordsAtPos(this, pos, side)
385
+ }
386
+
387
+ /// Find the DOM position that corresponds to the given document
388
+ /// position. When `side` is negative, find the position as close as
389
+ /// possible to the content before the position. When positive,
390
+ /// prefer positions close to the content after the position. When
391
+ /// zero, prefer as shallow a position as possible.
392
+ ///
393
+ /// Note that you should **not** mutate the editor's internal DOM,
394
+ /// only inspect it (and even that is usually not necessary).
395
+ domAtPos(pos: number, side = 0): {node: DOMNode, offset: number} {
396
+ return this.docView.domFromPos(pos, side)
397
+ }
398
+
399
+ /// Find the DOM node that represents the document node after the
400
+ /// given position. May return `null` when the position doesn't point
401
+ /// in front of a node or if the node is inside an opaque node view.
402
+ ///
403
+ /// This is intended to be able to call things like
404
+ /// `getBoundingClientRect` on that DOM node. Do **not** mutate the
405
+ /// editor DOM directly, or add styling this way, since that will be
406
+ /// immediately overriden by the editor as it redraws the node.
407
+ nodeDOM(pos: number): DOMNode | null {
408
+ let desc = this.docView.descAt(pos)
409
+ return desc ? (desc as NodeViewDesc).nodeDOM : null
410
+ }
411
+
412
+ /// Find the document position that corresponds to a given DOM
413
+ /// position. (Whenever possible, it is preferable to inspect the
414
+ /// document structure directly, rather than poking around in the
415
+ /// DOM, but sometimes—for example when interpreting an event
416
+ /// target—you don't have a choice.)
417
+ ///
418
+ /// The `bias` parameter can be used to influence which side of a DOM
419
+ /// node to use when the position is inside a leaf node.
420
+ posAtDOM(node: DOMNode, offset: number, bias = -1): number {
421
+ let pos = this.docView.posFromDOM(node, offset, bias)
422
+ if (pos == null) throw new RangeError("DOM position not inside the editor")
423
+ return pos
424
+ }
425
+
426
+ /// Find out whether the selection is at the end of a textblock when
427
+ /// moving in a given direction. When, for example, given `"left"`,
428
+ /// it will return true if moving left from the current cursor
429
+ /// position would leave that position's parent textblock. Will apply
430
+ /// to the view's current state by default, but it is possible to
431
+ /// pass a different state.
432
+ endOfTextblock(dir: "up" | "down" | "left" | "right" | "forward" | "backward", state?: EditorState): boolean {
433
+ return endOfTextblock(this, state || this.state, dir)
434
+ }
435
+
436
+ /// Run the editor's paste logic with the given HTML string. The
437
+ /// `event`, if given, will be passed to the
438
+ /// [`handlePaste`](#view.EditorProps.handlePaste) hook.
439
+ pasteHTML(html: string, event?: ClipboardEvent) {
440
+ return doPaste(this, "", html, false, event || new ClipboardEvent("paste"))
441
+ }
442
+
443
+ /// Run the editor's paste logic with the given plain-text input.
444
+ pasteText(text: string, event?: ClipboardEvent) {
445
+ return doPaste(this, text, null, true, event || new ClipboardEvent("paste"))
446
+ }
447
+
448
+ /// Serialize the given slice as it would be if it was copied from
449
+ /// this editor. Returns a DOM element that contains a
450
+ /// representation of the slice as its children, a textual
451
+ /// representation, and the transformed slice (which can be
452
+ /// different from the given input due to hooks like
453
+ /// [`transformCopied`](#view.EditorProps.transformCopied)).
454
+ serializeForClipboard(slice: Slice): {dom: HTMLElement, text: string, slice: Slice} {
455
+ return serializeForClipboard(this, slice)
456
+ }
457
+
458
+ /// Removes the editor from the DOM and destroys all [node
459
+ /// views](#view.NodeView).
460
+ destroy() {
461
+ if (!this.docView) return
462
+ destroyInput(this)
463
+ this.destroyPluginViews()
464
+ if (this.mounted) {
465
+ this.docView.update(this.state.doc, [], viewDecorations(this), this)
466
+ this.dom.textContent = ""
467
+ } else if (this.dom.parentNode) {
468
+ this.dom.parentNode.removeChild(this.dom)
469
+ }
470
+ this.docView.destroy()
471
+ ;(this as any).docView = null
472
+ clearReusedRange()
473
+ }
474
+
475
+ /// This is true when the view has been
476
+ /// [destroyed](#view.EditorView.destroy) (and thus should not be
477
+ /// used anymore).
478
+ get isDestroyed() {
479
+ return this.docView == null
480
+ }
481
+
482
+ /// Used for testing.
483
+ dispatchEvent(event: Event) {
484
+ return dispatchEvent(this, event)
485
+ }
486
+
487
+ /// Dispatch a transaction. Will call
488
+ /// [`dispatchTransaction`](#view.DirectEditorProps.dispatchTransaction)
489
+ /// when given, and otherwise defaults to applying the transaction to
490
+ /// the current state and calling
491
+ /// [`updateState`](#view.EditorView.updateState) with the result.
492
+ /// This method is bound to the view instance, so that it can be
493
+ /// easily passed around.
494
+ declare dispatch: (tr: Transaction) => void
495
+
496
+ /// @internal
497
+ domSelectionRange(): DOMSelectionRange {
498
+ let sel = this.domSelection()
499
+ if (!sel) return {focusNode: null, focusOffset: 0, anchorNode: null, anchorOffset: 0}
500
+ return browser.safari && this.root.nodeType === 11 &&
501
+ deepActiveElement(this.dom.ownerDocument) == this.dom && safariShadowSelectionRange(this, sel) || sel
502
+ }
503
+
504
+ /// @internal
505
+ domSelection(): DOMSelection | null {
506
+ return (this.root as Document).getSelection()
507
+ }
508
+ }
509
+
510
+ EditorView.prototype.dispatch = function(tr: Transaction) {
511
+ let dispatchTransaction = this._props.dispatchTransaction
512
+ if (dispatchTransaction) dispatchTransaction.call(this, tr)
513
+ else this.updateState(this.state.apply(tr))
514
+ }
515
+
516
+ function computeDocDeco(view: EditorView) {
517
+ let attrs = Object.create(null)
518
+ attrs.class = "ProseMirror"
519
+ attrs.contenteditable = String(view.editable)
520
+
521
+ view.someProp("attributes", value => {
522
+ if (typeof value == "function") value = value(view.state)
523
+ if (value) for (let attr in value) {
524
+ if (attr == "class")
525
+ attrs.class += " " + value[attr]
526
+ else if (attr == "style")
527
+ attrs.style = (attrs.style ? attrs.style + ";" : "") + value[attr]
528
+ else if (!attrs[attr] && attr != "contenteditable" && attr != "nodeName")
529
+ attrs[attr] = String(value[attr])
530
+ }
531
+ })
532
+ if (!attrs.translate) attrs.translate = "no"
533
+
534
+ return [Decoration.node(0, view.state.doc.content.size, attrs)]
535
+ }
536
+
537
+ function updateCursorWrapper(view: EditorView) {
538
+ if (view.markCursor) {
539
+ let dom = document.createElement("img")
540
+ dom.className = "ProseMirror-separator"
541
+ dom.setAttribute("mark-placeholder", "true")
542
+ dom.setAttribute("alt", "")
543
+ view.cursorWrapper = {dom, deco: Decoration.widget(view.state.selection.from,
544
+ dom, {raw: true, marks: view.markCursor} as any)}
545
+ } else {
546
+ view.cursorWrapper = null
547
+ }
548
+ }
549
+
550
+ function getEditable(view: EditorView) {
551
+ return !view.someProp("editable", value => value(view.state) === false)
552
+ }
553
+
554
+ function selectionContextChanged(sel1: Selection, sel2: Selection) {
555
+ let depth = Math.min(sel1.$anchor.sharedDepth(sel1.head), sel2.$anchor.sharedDepth(sel2.head))
556
+ return sel1.$anchor.start(depth) != sel2.$anchor.start(depth)
557
+ }
558
+
559
+ function buildNodeViews(view: EditorView) {
560
+ let result: NodeViewSet = Object.create(null)
561
+ function add(obj: NodeViewSet) {
562
+ for (let prop in obj) if (!Object.prototype.hasOwnProperty.call(result, prop))
563
+ result[prop] = obj[prop]
564
+ }
565
+ view.someProp("nodeViews", add)
566
+ view.someProp("markViews", add)
567
+ return result
568
+ }
569
+
570
+ function changedNodeViews(a: NodeViewSet, b: NodeViewSet) {
571
+ let nA = 0, nB = 0
572
+ for (let prop in a) {
573
+ if (a[prop] != b[prop]) return true
574
+ nA++
575
+ }
576
+ for (let _ in b) nB++
577
+ return nA != nB
578
+ }
579
+
580
+ function checkStateComponent(plugin: Plugin) {
581
+ if (plugin.spec.state || plugin.spec.filterTransaction || plugin.spec.appendTransaction)
582
+ throw new RangeError("Plugins passed directly to the view must not have a state component")
583
+ }
584
+
585
+ /// The type of function [provided](#view.EditorProps.nodeViews) to
586
+ /// create [node views](#view.NodeView).
587
+ export type NodeViewConstructor = (node: Node, view: EditorView, getPos: () => number | undefined,
588
+ decorations: readonly Decoration[], innerDecorations: DecorationSource) => NodeView
589
+
590
+ /// The function types [used](#view.EditorProps.markViews) to create
591
+ /// mark views.
592
+ export type MarkViewConstructor = (mark: Mark, view: EditorView, inline: boolean) => MarkView
593
+
594
+ type NodeViewSet = {[name: string]: NodeViewConstructor | MarkViewConstructor}
595
+
596
+ /// Helper type that maps event names to event object types, but
597
+ /// includes events that TypeScript's HTMLElementEventMap doesn't know
598
+ /// about.
599
+ export interface DOMEventMap extends HTMLElementEventMap {
600
+ [event: string]: any
601
+ }
602
+
603
+ /// Props are configuration values that can be passed to an editor view
604
+ /// or included in a plugin. This interface lists the supported props.
605
+ ///
606
+ /// The various event-handling functions may all return `true` to
607
+ /// indicate that they handled the given event. The view will then take
608
+ /// care to call `preventDefault` on the event, except with
609
+ /// `handleDOMEvents`, where the handler itself is responsible for that.
610
+ ///
611
+ /// How a prop is resolved depends on the prop. Handler functions are
612
+ /// called one at a time, starting with the base props and then
613
+ /// searching through the plugins (in order of appearance) until one of
614
+ /// them returns true. For some props, the first plugin that yields a
615
+ /// value gets precedence.
616
+ ///
617
+ /// The optional type parameter refers to the type of `this` in prop
618
+ /// functions, and is used to pass in the plugin type when defining a
619
+ /// [plugin](#state.Plugin).
620
+ export interface EditorProps<P = any> {
621
+ /// Can be an object mapping DOM event type names to functions that
622
+ /// handle them. Such functions will be called before any handling
623
+ /// ProseMirror does of events fired on the editable DOM element.
624
+ /// Contrary to the other event handling props, when returning true
625
+ /// from such a function, you are responsible for calling
626
+ /// `preventDefault` yourself (or not, if you want to allow the
627
+ /// default behavior).
628
+ handleDOMEvents?: {
629
+ [event in keyof DOMEventMap]?: (this: P, view: EditorView, event: DOMEventMap[event]) => boolean | void
630
+ }
631
+
632
+ /// Called when the editor receives a `keydown` event.
633
+ handleKeyDown?: (this: P, view: EditorView, event: KeyboardEvent) => boolean | void
634
+
635
+ /// Handler for `keypress` events.
636
+ handleKeyPress?: (this: P, view: EditorView, event: KeyboardEvent) => boolean | void
637
+
638
+ /// Whenever the user directly input text, this handler is called
639
+ /// before the input is applied. If it returns `true`, the default
640
+ /// behavior of actually inserting the text is suppressed.
641
+ handleTextInput?: (this: P, view: EditorView, from: number, to: number, text: string, deflt: () => Transaction) => boolean | void
642
+
643
+ /// Called for each node around a click, from the inside out. The
644
+ /// `direct` flag will be true for the inner node.
645
+ handleClickOn?: (this: P, view: EditorView, pos: number, node: Node, nodePos: number, event: MouseEvent, direct: boolean) => boolean | void
646
+
647
+ /// Called when the editor is clicked, after `handleClickOn` handlers
648
+ /// have been called.
649
+ handleClick?: (this: P, view: EditorView, pos: number, event: MouseEvent) => boolean | void
650
+
651
+ /// Called for each node around a double click.
652
+ handleDoubleClickOn?: (this: P, view: EditorView, pos: number, node: Node, nodePos: number, event: MouseEvent, direct: boolean) => boolean | void
653
+
654
+ /// Called when the editor is double-clicked, after `handleDoubleClickOn`.
655
+ handleDoubleClick?: (this: P, view: EditorView, pos: number, event: MouseEvent) => boolean | void
656
+
657
+ /// Called for each node around a triple click.
658
+ handleTripleClickOn?: (this: P, view: EditorView, pos: number, node: Node, nodePos: number, event: MouseEvent, direct: boolean) => boolean | void
659
+
660
+ /// Called when the editor is triple-clicked, after `handleTripleClickOn`.
661
+ handleTripleClick?: (this: P, view: EditorView, pos: number, event: MouseEvent) => boolean | void
662
+
663
+ /// Can be used to override the behavior of pasting. `slice` is the
664
+ /// pasted content parsed by the editor, but you can directly access
665
+ /// the event to get at the raw content.
666
+ handlePaste?: (this: P, view: EditorView, event: ClipboardEvent, slice: Slice) => boolean | void
667
+
668
+ /// Called when something is dropped on the editor. `moved` will be
669
+ /// true if this drop moves from the current selection (which should
670
+ /// thus be deleted).
671
+ handleDrop?: (this: P, view: EditorView, event: DragEvent, slice: Slice, moved: boolean) => boolean | void
672
+
673
+ /// Called when the view, after updating its state, tries to scroll
674
+ /// the selection into view. A handler function may return false to
675
+ /// indicate that it did not handle the scrolling and further
676
+ /// handlers or the default behavior should be tried.
677
+ handleScrollToSelection?: (this: P, view: EditorView) => boolean
678
+
679
+ /// Determines whether an in-editor drag event should copy or move
680
+ /// the selection. When not given, the event's `altKey` property is
681
+ /// used on macOS, `ctrlKey` on other platforms.
682
+ dragCopies?: (event: DragEvent) => boolean
683
+
684
+ /// Can be used to override the way a selection is created when
685
+ /// reading a DOM selection between the given anchor and head.
686
+ createSelectionBetween?: (this: P, view: EditorView, anchor: ResolvedPos, head: ResolvedPos) => Selection | null
687
+
688
+ /// The [parser](#model.DOMParser) to use when reading editor changes
689
+ /// from the DOM. Defaults to calling
690
+ /// [`DOMParser.fromSchema`](#model.DOMParser^fromSchema) on the
691
+ /// editor's schema.
692
+ domParser?: DOMParser
693
+
694
+ /// Can be used to transform pasted HTML text, _before_ it is parsed,
695
+ /// for example to clean it up.
696
+ transformPastedHTML?: (this: P, html: string, view: EditorView) => string
697
+
698
+ /// The [parser](#model.DOMParser) to use when reading content from
699
+ /// the clipboard. When not given, the value of the
700
+ /// [`domParser`](#view.EditorProps.domParser) prop is used.
701
+ clipboardParser?: DOMParser
702
+
703
+ /// Transform pasted plain text. The `plain` flag will be true when
704
+ /// the text is pasted as plain text.
705
+ transformPastedText?: (this: P, text: string, plain: boolean, view: EditorView) => string
706
+
707
+ /// A function to parse text from the clipboard into a document
708
+ /// slice. Called after
709
+ /// [`transformPastedText`](#view.EditorProps.transformPastedText).
710
+ /// The default behavior is to split the text into lines, wrap them
711
+ /// in `<p>` tags, and call
712
+ /// [`clipboardParser`](#view.EditorProps.clipboardParser) on it.
713
+ /// The `plain` flag will be true when the text is pasted as plain text.
714
+ clipboardTextParser?: (this: P, text: string, $context: ResolvedPos, plain: boolean, view: EditorView) => Slice
715
+
716
+ /// Can be used to transform pasted or dragged-and-dropped content
717
+ /// before it is applied to the document. The `plain` flag will be
718
+ /// true when the text is pasted as plain text.
719
+ transformPasted?: (this: P, slice: Slice, view: EditorView, plain: boolean) => Slice
720
+
721
+ /// Can be used to transform copied or cut content before it is
722
+ /// serialized to the clipboard.
723
+ transformCopied?: (this: P, slice: Slice, view: EditorView) => Slice
724
+
725
+ /// Allows you to pass custom rendering and behavior logic for
726
+ /// nodes. Should map node names to constructor functions that
727
+ /// produce a [`NodeView`](#view.NodeView) object implementing the
728
+ /// node's display behavior. The third argument `getPos` is a
729
+ /// function that can be called to get the node's current position,
730
+ /// which can be useful when creating transactions to update it.
731
+ /// Note that if the node is not in the document, the position
732
+ /// returned by this function will be `undefined`.
733
+ ///
734
+ /// `decorations` is an array of node or inline decorations that are
735
+ /// active around the node. They are automatically drawn in the
736
+ /// normal way, and you will usually just want to ignore this, but
737
+ /// they can also be used as a way to provide context information to
738
+ /// the node view without adding it to the document itself.
739
+ ///
740
+ /// `innerDecorations` holds the decorations for the node's content.
741
+ /// You can safely ignore this if your view has no content or a
742
+ /// `contentDOM` property, since the editor will draw the decorations
743
+ /// on the content. But if you, for example, want to create a nested
744
+ /// editor with the content, it may make sense to provide it with the
745
+ /// inner decorations.
746
+ ///
747
+ /// (For backwards compatibility reasons, [mark
748
+ /// views](#view.EditorProps.markViews) can also be included in this
749
+ /// object.)
750
+ nodeViews?: {[node: string]: NodeViewConstructor}
751
+
752
+ /// Pass custom mark rendering functions. Note that these cannot
753
+ /// provide the kind of dynamic behavior that [node
754
+ /// views](#view.NodeView) can—they just provide custom rendering
755
+ /// logic. The third argument indicates whether the mark's content
756
+ /// is inline.
757
+ markViews?: {[mark: string]: MarkViewConstructor}
758
+
759
+ /// The DOM serializer to use when putting content onto the
760
+ /// clipboard. If not given, the result of
761
+ /// [`DOMSerializer.fromSchema`](#model.DOMSerializer^fromSchema)
762
+ /// will be used. This object will only have its
763
+ /// [`serializeFragment`](#model.DOMSerializer.serializeFragment)
764
+ /// method called, and you may provide an alternative object type
765
+ /// implementing a compatible method.
766
+ clipboardSerializer?: DOMSerializer
767
+
768
+ /// A function that will be called to get the text for the current
769
+ /// selection when copying text to the clipboard. By default, the
770
+ /// editor will use [`textBetween`](#model.Node.textBetween) on the
771
+ /// selected range.
772
+ clipboardTextSerializer?: (this: P, content: Slice, view: EditorView) => string
773
+
774
+ /// A set of [document decorations](#view.Decoration) to show in the
775
+ /// view.
776
+ decorations?: (this: P, state: EditorState) => DecorationSource | null | undefined
777
+
778
+ /// When this returns false, the content of the view is not directly
779
+ /// editable.
780
+ editable?: (this: P, state: EditorState) => boolean
781
+
782
+ /// Control the DOM attributes of the editable element. May be either
783
+ /// an object or a function going from an editor state to an object.
784
+ /// By default, the element will get a class `"ProseMirror"`, and
785
+ /// will have its `contentEditable` attribute determined by the
786
+ /// [`editable` prop](#view.EditorProps.editable). Additional classes
787
+ /// provided here will be added to the class. For other attributes,
788
+ /// the value provided first (as in
789
+ /// [`someProp`](#view.EditorView.someProp)) will be used.
790
+ attributes?: {[name: string]: string} | ((state: EditorState) => {[name: string]: string})
791
+
792
+ /// Determines the distance (in pixels) between the cursor and the
793
+ /// end of the visible viewport at which point, when scrolling the
794
+ /// cursor into view, scrolling takes place. Defaults to 0.
795
+ scrollThreshold?: number | {top: number, right: number, bottom: number, left: number}
796
+
797
+ /// Determines the extra space (in pixels) that is left above or
798
+ /// below the cursor when it is scrolled into view. Defaults to 5.
799
+ scrollMargin?: number | {top: number, right: number, bottom: number, left: number}
800
+ }
801
+
802
+ /// The props object given directly to the editor view supports some
803
+ /// fields that can't be used in plugins:
804
+ export interface DirectEditorProps extends EditorProps {
805
+ /// The current state of the editor.
806
+ state: EditorState
807
+
808
+ /// A set of plugins to use in the view, applying their [plugin
809
+ /// view](#state.PluginSpec.view) and
810
+ /// [props](#state.PluginSpec.props). Passing plugins with a state
811
+ /// component (a [state field](#state.PluginSpec.state) field or a
812
+ /// [transaction](#state.PluginSpec.filterTransaction) filter or
813
+ /// appender) will result in an error, since such plugins must be
814
+ /// present in the state to work.
815
+ plugins?: readonly Plugin[]
816
+
817
+ /// The callback over which to send transactions (state updates)
818
+ /// produced by the view. If you specify this, you probably want to
819
+ /// make sure this ends up calling the view's
820
+ /// [`updateState`](#view.EditorView.updateState) method with a new
821
+ /// state that has the transaction
822
+ /// [applied](#state.EditorState.apply). The callback will be bound to have
823
+ /// the view instance as its `this` binding.
824
+ dispatchTransaction?: (tr: Transaction) => void
825
+ }