@blade-hq/agent-react 2612.0.0-beta.5 → 2612.0.0-beta.7

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 (1150) hide show
  1. package/README.md +8 -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/ai-elements/reasoning.d.ts +4 -4
  6. package/dist/chat/customization.d.ts +1 -5
  7. package/dist/chat/index.d.ts +1 -4
  8. package/dist/chat/lib/citations.d.ts +5 -22
  9. package/dist/chat/runtime/actions.d.ts +1 -1
  10. package/dist/chat/runtime/input-cache-reset.d.ts +1 -1
  11. package/dist/chat/runtime/input-history-storage.d.ts +2 -0
  12. package/dist/chat/runtime/input-services.d.ts +0 -6
  13. package/dist/{chunk-T5WGKZN4.js → chunk-67GHJQK5.js} +724 -575
  14. package/dist/chunk-67GHJQK5.js.map +1 -0
  15. package/dist/{chunk-7IPINZHT.js → chunk-DPDXGYGM.js} +2 -2
  16. package/dist/{chunk-XULCQP3Q.js → chunk-MERN5XEM.js} +636 -704
  17. package/dist/chunk-MERN5XEM.js.map +1 -0
  18. package/dist/components/ChatInput.d.ts +3 -1
  19. package/dist/components/plugin-connector.d.ts +1 -0
  20. package/dist/embed/entry.d.ts +1 -0
  21. package/dist/host.d.ts +0 -4
  22. package/dist/index.js +2 -2
  23. package/dist/internal.js +3 -3
  24. package/dist/internal.js.map +1 -1
  25. package/dist/lib/agent-computer-command.d.ts +1 -3
  26. package/dist/rich-input/ChatInput.d.ts +1 -1
  27. package/dist/rich-input/FileCompletionMenu.d.ts +5 -9
  28. package/dist/rich-input/SkillStatusBar.d.ts +2 -4
  29. package/dist/rich-input/extensions/plugin-mention.d.ts +15 -0
  30. package/dist/rich-input/extensions/skill-mention.d.ts +0 -1
  31. package/dist/rich-input/index.d.ts +4 -2
  32. package/dist/rich-input/lib/composer-content.d.ts +7 -22
  33. package/dist/rich-input/lib/input-history-document.d.ts +3 -0
  34. package/dist/rich-input/lib/plugin-suggestions.d.ts +7 -0
  35. package/dist/rich-input/lib/reference-candidates.d.ts +27 -0
  36. package/dist/rich-input/services.d.ts +2 -3
  37. package/dist/rich-input/use-input-history.d.ts +8 -10
  38. package/dist/rich-input/use-reference-candidates.d.ts +8 -0
  39. package/dist/rich-input.js +491 -472
  40. package/dist/rich-input.js.map +1 -1
  41. package/dist/style.full.css +1 -1
  42. package/node_modules/@floating-ui/core/LICENSE +20 -0
  43. package/node_modules/@floating-ui/core/README.md +4 -0
  44. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -0
  45. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +1184 -0
  46. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +531 -0
  47. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +531 -0
  48. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +1058 -0
  49. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +1058 -0
  50. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +1203 -0
  51. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -0
  52. package/node_modules/@floating-ui/core/package.json +63 -0
  53. package/node_modules/@floating-ui/dom/LICENSE +20 -0
  54. package/node_modules/@floating-ui/dom/README.md +4 -0
  55. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -0
  56. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +956 -0
  57. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +358 -0
  58. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +358 -0
  59. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +781 -0
  60. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +781 -0
  61. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +975 -0
  62. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -0
  63. package/node_modules/@floating-ui/dom/package.json +71 -0
  64. package/node_modules/@floating-ui/utils/LICENSE +20 -0
  65. package/node_modules/@floating-ui/utils/README.md +4 -0
  66. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +103 -0
  67. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +103 -0
  68. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +47 -0
  69. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +47 -0
  70. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +165 -0
  71. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +165 -0
  72. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +192 -0
  73. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -0
  74. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js +136 -0
  75. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +136 -0
  76. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js +167 -0
  77. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.min.js +1 -0
  78. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +47 -0
  79. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +165 -0
  80. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +192 -0
  81. package/node_modules/@floating-ui/utils/dom/package.json +6 -0
  82. package/node_modules/@floating-ui/utils/package.json +70 -0
  83. package/node_modules/@radix-ui/primitive/LICENSE +21 -0
  84. package/node_modules/@radix-ui/primitive/README.md +3 -0
  85. package/node_modules/@radix-ui/primitive/dist/index.d.mts +20 -0
  86. package/node_modules/@radix-ui/primitive/dist/index.d.ts +20 -0
  87. package/node_modules/@radix-ui/primitive/dist/index.js +76 -0
  88. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -0
  89. package/node_modules/@radix-ui/primitive/dist/index.mjs +53 -0
  90. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -0
  91. package/node_modules/@radix-ui/primitive/package.json +47 -0
  92. package/node_modules/@radix-ui/react-collapsible/LICENSE +21 -0
  93. package/node_modules/@radix-ui/react-collapsible/README.md +3 -0
  94. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +33 -0
  95. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +33 -0
  96. package/node_modules/@radix-ui/react-collapsible/dist/index.js +187 -0
  97. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +7 -0
  98. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +155 -0
  99. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +7 -0
  100. package/node_modules/@radix-ui/react-collapsible/package.json +75 -0
  101. package/node_modules/@radix-ui/react-compose-refs/README.md +13 -0
  102. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +15 -0
  103. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +15 -0
  104. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +74 -0
  105. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -0
  106. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +41 -0
  107. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -0
  108. package/node_modules/@radix-ui/react-compose-refs/package.json +75 -0
  109. package/node_modules/@radix-ui/react-context/README.md +13 -0
  110. package/node_modules/@radix-ui/react-context/dist/index.d.mts +21 -0
  111. package/node_modules/@radix-ui/react-context/dist/index.d.ts +21 -0
  112. package/node_modules/@radix-ui/react-context/dist/index.js +114 -0
  113. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -0
  114. package/node_modules/@radix-ui/react-context/dist/index.mjs +81 -0
  115. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -0
  116. package/node_modules/@radix-ui/react-context/package.json +75 -0
  117. package/node_modules/@radix-ui/react-id/README.md +13 -0
  118. package/node_modules/@radix-ui/react-id/dist/index.d.mts +3 -0
  119. package/node_modules/@radix-ui/react-id/dist/index.d.ts +3 -0
  120. package/node_modules/@radix-ui/react-id/dist/index.js +49 -0
  121. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -0
  122. package/node_modules/@radix-ui/react-id/dist/index.mjs +16 -0
  123. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -0
  124. package/node_modules/@radix-ui/react-id/package.json +78 -0
  125. package/node_modules/@radix-ui/react-presence/LICENSE +21 -0
  126. package/node_modules/@radix-ui/react-presence/README.md +3 -0
  127. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +12 -0
  128. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +12 -0
  129. package/node_modules/@radix-ui/react-presence/dist/index.js +171 -0
  130. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -0
  131. package/node_modules/@radix-ui/react-presence/dist/index.mjs +139 -0
  132. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -0
  133. package/node_modules/@radix-ui/react-presence/package.json +69 -0
  134. package/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  135. package/node_modules/@radix-ui/react-primitive/README.md +3 -0
  136. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  137. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  138. package/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  139. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  140. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  141. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  142. package/node_modules/@radix-ui/react-primitive/package.json +68 -0
  143. package/node_modules/@radix-ui/react-slot/LICENSE +21 -0
  144. package/node_modules/@radix-ui/react-slot/README.md +3 -0
  145. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +17 -0
  146. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +17 -0
  147. package/node_modules/@radix-ui/react-slot/dist/index.js +138 -0
  148. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -0
  149. package/node_modules/@radix-ui/react-slot/dist/index.mjs +105 -0
  150. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -0
  151. package/node_modules/@radix-ui/react-slot/package.json +63 -0
  152. package/node_modules/@radix-ui/react-use-controllable-state/LICENSE +21 -0
  153. package/node_modules/@radix-ui/react-use-controllable-state/README.md +3 -0
  154. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +40 -0
  155. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +40 -0
  156. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +169 -0
  157. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -0
  158. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +136 -0
  159. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -0
  160. package/node_modules/@radix-ui/react-use-controllable-state/package.json +64 -0
  161. package/node_modules/@radix-ui/react-use-effect-event/LICENSE +21 -0
  162. package/node_modules/@radix-ui/react-use-effect-event/README.md +5 -0
  163. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.mts +8 -0
  164. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.ts +8 -0
  165. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js +60 -0
  166. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js.map +7 -0
  167. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs +27 -0
  168. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs.map +7 -0
  169. package/node_modules/@radix-ui/react-use-effect-event/package.json +65 -0
  170. package/node_modules/@radix-ui/react-use-effect-event/src/index.ts +1 -0
  171. package/node_modules/@radix-ui/react-use-effect-event/src/use-effect-event.tsx +36 -0
  172. package/node_modules/@radix-ui/react-use-layout-effect/README.md +13 -0
  173. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +12 -0
  174. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +12 -0
  175. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +41 -0
  176. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -0
  177. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +8 -0
  178. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -0
  179. package/node_modules/@radix-ui/react-use-layout-effect/package.json +75 -0
  180. package/node_modules/@remirror/core-constants/LICENSE +21 -0
  181. package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.cts +612 -0
  182. package/node_modules/@remirror/core-constants/dist/_tsup-dts-rollup.d.ts +612 -0
  183. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.cjs +314 -0
  184. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.cts +20 -0
  185. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.d.ts +20 -0
  186. package/node_modules/@remirror/core-constants/dist/remirror-core-constants.js +269 -0
  187. package/node_modules/@remirror/core-constants/dist-types/core-constants.d.ts +431 -0
  188. package/node_modules/@remirror/core-constants/dist-types/error-constants.d.ts +119 -0
  189. package/node_modules/@remirror/core-constants/dist-types/index.d.ts +2 -0
  190. package/node_modules/@remirror/core-constants/dist-types/tsconfig.tsbuildinfo +1 -0
  191. package/node_modules/@remirror/core-constants/package.json +45 -0
  192. package/node_modules/@remirror/core-constants/readme.md +17 -0
  193. package/node_modules/@tiptap/core/LICENSE.md +21 -0
  194. package/node_modules/@tiptap/core/README.md +18 -0
  195. package/node_modules/@tiptap/core/dist/index.cjs +7126 -0
  196. package/node_modules/@tiptap/core/dist/index.cjs.map +1 -0
  197. package/node_modules/@tiptap/core/dist/index.d.cts +4954 -0
  198. package/node_modules/@tiptap/core/dist/index.d.ts +4954 -0
  199. package/node_modules/@tiptap/core/dist/index.js +6992 -0
  200. package/node_modules/@tiptap/core/dist/index.js.map +1 -0
  201. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs +56 -0
  202. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs.map +1 -0
  203. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.cts +23 -0
  204. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.d.ts +23 -0
  205. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js +26 -0
  206. package/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js.map +1 -0
  207. package/node_modules/@tiptap/core/jsx-dev-runtime/index.cjs +1 -0
  208. package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.cts +1 -0
  209. package/node_modules/@tiptap/core/jsx-dev-runtime/index.d.ts +1 -0
  210. package/node_modules/@tiptap/core/jsx-dev-runtime/index.js +1 -0
  211. package/node_modules/@tiptap/core/jsx-runtime/index.cjs +1 -0
  212. package/node_modules/@tiptap/core/jsx-runtime/index.d.cts +1 -0
  213. package/node_modules/@tiptap/core/jsx-runtime/index.d.ts +1 -0
  214. package/node_modules/@tiptap/core/jsx-runtime/index.js +1 -0
  215. package/node_modules/@tiptap/core/package.json +70 -0
  216. package/node_modules/@tiptap/core/src/CommandManager.ts +138 -0
  217. package/node_modules/@tiptap/core/src/Editor.ts +806 -0
  218. package/node_modules/@tiptap/core/src/EventEmitter.ts +58 -0
  219. package/node_modules/@tiptap/core/src/Extendable.ts +602 -0
  220. package/node_modules/@tiptap/core/src/Extension.ts +55 -0
  221. package/node_modules/@tiptap/core/src/ExtensionManager.ts +440 -0
  222. package/node_modules/@tiptap/core/src/InputRule.ts +290 -0
  223. package/node_modules/@tiptap/core/src/Mark.ts +211 -0
  224. package/node_modules/@tiptap/core/src/MarkView.ts +122 -0
  225. package/node_modules/@tiptap/core/src/Node.ts +377 -0
  226. package/node_modules/@tiptap/core/src/NodePos.ts +257 -0
  227. package/node_modules/@tiptap/core/src/NodeView.ts +339 -0
  228. package/node_modules/@tiptap/core/src/PasteRule.ts +373 -0
  229. package/node_modules/@tiptap/core/src/Tracker.ts +36 -0
  230. package/node_modules/@tiptap/core/src/__tests__/transformPastedHTML.test.ts +575 -0
  231. package/node_modules/@tiptap/core/src/commands/blur.ts +29 -0
  232. package/node_modules/@tiptap/core/src/commands/clearContent.ts +25 -0
  233. package/node_modules/@tiptap/core/src/commands/clearNodes.ts +57 -0
  234. package/node_modules/@tiptap/core/src/commands/command.ts +22 -0
  235. package/node_modules/@tiptap/core/src/commands/createParagraphNear.ts +21 -0
  236. package/node_modules/@tiptap/core/src/commands/cut.ts +36 -0
  237. package/node_modules/@tiptap/core/src/commands/deleteCurrentNode.ts +44 -0
  238. package/node_modules/@tiptap/core/src/commands/deleteNode.ts +41 -0
  239. package/node_modules/@tiptap/core/src/commands/deleteRange.ts +26 -0
  240. package/node_modules/@tiptap/core/src/commands/deleteSelection.ts +21 -0
  241. package/node_modules/@tiptap/core/src/commands/enter.ts +19 -0
  242. package/node_modules/@tiptap/core/src/commands/exitCode.ts +21 -0
  243. package/node_modules/@tiptap/core/src/commands/extendMarkRange.ts +51 -0
  244. package/node_modules/@tiptap/core/src/commands/first.ts +26 -0
  245. package/node_modules/@tiptap/core/src/commands/focus.ts +108 -0
  246. package/node_modules/@tiptap/core/src/commands/forEach.ts +24 -0
  247. package/node_modules/@tiptap/core/src/commands/index.ts +57 -0
  248. package/node_modules/@tiptap/core/src/commands/insertContent.ts +46 -0
  249. package/node_modules/@tiptap/core/src/commands/insertContentAt.ts +212 -0
  250. package/node_modules/@tiptap/core/src/commands/join.ts +69 -0
  251. package/node_modules/@tiptap/core/src/commands/joinItemBackward.ts +37 -0
  252. package/node_modules/@tiptap/core/src/commands/joinItemForward.ts +37 -0
  253. package/node_modules/@tiptap/core/src/commands/joinTextblockBackward.ts +20 -0
  254. package/node_modules/@tiptap/core/src/commands/joinTextblockForward.ts +20 -0
  255. package/node_modules/@tiptap/core/src/commands/keyboardShortcut.ts +100 -0
  256. package/node_modules/@tiptap/core/src/commands/lift.ts +34 -0
  257. package/node_modules/@tiptap/core/src/commands/liftEmptyBlock.ts +21 -0
  258. package/node_modules/@tiptap/core/src/commands/liftListItem.ts +26 -0
  259. package/node_modules/@tiptap/core/src/commands/newlineInCode.ts +21 -0
  260. package/node_modules/@tiptap/core/src/commands/resetAttributes.ts +73 -0
  261. package/node_modules/@tiptap/core/src/commands/scrollIntoView.ts +23 -0
  262. package/node_modules/@tiptap/core/src/commands/selectAll.ts +27 -0
  263. package/node_modules/@tiptap/core/src/commands/selectNodeBackward.ts +21 -0
  264. package/node_modules/@tiptap/core/src/commands/selectNodeForward.ts +21 -0
  265. package/node_modules/@tiptap/core/src/commands/selectParentNode.ts +21 -0
  266. package/node_modules/@tiptap/core/src/commands/selectTextblockEnd.ts +23 -0
  267. package/node_modules/@tiptap/core/src/commands/selectTextblockStart.ts +23 -0
  268. package/node_modules/@tiptap/core/src/commands/setContent.ts +76 -0
  269. package/node_modules/@tiptap/core/src/commands/setMark.ts +118 -0
  270. package/node_modules/@tiptap/core/src/commands/setMeta.ts +25 -0
  271. package/node_modules/@tiptap/core/src/commands/setNode.ts +57 -0
  272. package/node_modules/@tiptap/core/src/commands/setNodeSelection.ts +31 -0
  273. package/node_modules/@tiptap/core/src/commands/setTextDirection.ts +51 -0
  274. package/node_modules/@tiptap/core/src/commands/setTextSelection.ts +35 -0
  275. package/node_modules/@tiptap/core/src/commands/sinkListItem.ts +26 -0
  276. package/node_modules/@tiptap/core/src/commands/splitBlock.ts +115 -0
  277. package/node_modules/@tiptap/core/src/commands/splitListItem.ts +149 -0
  278. package/node_modules/@tiptap/core/src/commands/toggleList.ts +159 -0
  279. package/node_modules/@tiptap/core/src/commands/toggleMark.ts +51 -0
  280. package/node_modules/@tiptap/core/src/commands/toggleNode.ts +47 -0
  281. package/node_modules/@tiptap/core/src/commands/toggleWrap.ts +32 -0
  282. package/node_modules/@tiptap/core/src/commands/undoInputRule.ts +49 -0
  283. package/node_modules/@tiptap/core/src/commands/unsetAllMarks.ts +32 -0
  284. package/node_modules/@tiptap/core/src/commands/unsetMark.ts +65 -0
  285. package/node_modules/@tiptap/core/src/commands/unsetTextDirection.ts +51 -0
  286. package/node_modules/@tiptap/core/src/commands/updateAttributes.ts +150 -0
  287. package/node_modules/@tiptap/core/src/commands/wrapIn.ts +27 -0
  288. package/node_modules/@tiptap/core/src/commands/wrapInList.ts +27 -0
  289. package/node_modules/@tiptap/core/src/extensions/clipboardTextSerializer.ts +44 -0
  290. package/node_modules/@tiptap/core/src/extensions/commands.ts +14 -0
  291. package/node_modules/@tiptap/core/src/extensions/delete.ts +89 -0
  292. package/node_modules/@tiptap/core/src/extensions/drop.ts +26 -0
  293. package/node_modules/@tiptap/core/src/extensions/editable.ts +18 -0
  294. package/node_modules/@tiptap/core/src/extensions/focusEvents.ts +41 -0
  295. package/node_modules/@tiptap/core/src/extensions/index.ts +10 -0
  296. package/node_modules/@tiptap/core/src/extensions/keymap.ts +160 -0
  297. package/node_modules/@tiptap/core/src/extensions/paste.ts +25 -0
  298. package/node_modules/@tiptap/core/src/extensions/tabindex.ts +18 -0
  299. package/node_modules/@tiptap/core/src/extensions/textDirection.ts +86 -0
  300. package/node_modules/@tiptap/core/src/helpers/MappablePosition.ts +66 -0
  301. package/node_modules/@tiptap/core/src/helpers/combineTransactionSteps.ts +21 -0
  302. package/node_modules/@tiptap/core/src/helpers/createChainableState.ts +39 -0
  303. package/node_modules/@tiptap/core/src/helpers/createDocument.ts +24 -0
  304. package/node_modules/@tiptap/core/src/helpers/createNodeFromContent.ts +119 -0
  305. package/node_modules/@tiptap/core/src/helpers/defaultBlockAt.ts +18 -0
  306. package/node_modules/@tiptap/core/src/helpers/findChildren.ts +24 -0
  307. package/node_modules/@tiptap/core/src/helpers/findChildrenInRange.ts +36 -0
  308. package/node_modules/@tiptap/core/src/helpers/findParentNode.ts +18 -0
  309. package/node_modules/@tiptap/core/src/helpers/findParentNodeClosestToPos.ts +37 -0
  310. package/node_modules/@tiptap/core/src/helpers/flattenExtensions.ts +30 -0
  311. package/node_modules/@tiptap/core/src/helpers/generateHTML.ts +18 -0
  312. package/node_modules/@tiptap/core/src/helpers/generateJSON.ts +18 -0
  313. package/node_modules/@tiptap/core/src/helpers/generateText.ts +34 -0
  314. package/node_modules/@tiptap/core/src/helpers/getAttributes.ts +29 -0
  315. package/node_modules/@tiptap/core/src/helpers/getAttributesFromExtensions.ts +122 -0
  316. package/node_modules/@tiptap/core/src/helpers/getChangedRanges.ts +85 -0
  317. package/node_modules/@tiptap/core/src/helpers/getDebugJSON.ts +54 -0
  318. package/node_modules/@tiptap/core/src/helpers/getExtensionField.ts +32 -0
  319. package/node_modules/@tiptap/core/src/helpers/getHTMLFromFragment.ts +13 -0
  320. package/node_modules/@tiptap/core/src/helpers/getMarkAttributes.ts +30 -0
  321. package/node_modules/@tiptap/core/src/helpers/getMarkRange.ts +90 -0
  322. package/node_modules/@tiptap/core/src/helpers/getMarkType.ts +13 -0
  323. package/node_modules/@tiptap/core/src/helpers/getMarksBetween.ts +44 -0
  324. package/node_modules/@tiptap/core/src/helpers/getNodeAtPosition.ts +29 -0
  325. package/node_modules/@tiptap/core/src/helpers/getNodeAttributes.ts +22 -0
  326. package/node_modules/@tiptap/core/src/helpers/getNodeType.ts +13 -0
  327. package/node_modules/@tiptap/core/src/helpers/getRenderedAttributes.ts +23 -0
  328. package/node_modules/@tiptap/core/src/helpers/getSchema.ts +12 -0
  329. package/node_modules/@tiptap/core/src/helpers/getSchemaByResolvedExtensions.ts +183 -0
  330. package/node_modules/@tiptap/core/src/helpers/getSchemaTypeByName.ts +11 -0
  331. package/node_modules/@tiptap/core/src/helpers/getSchemaTypeNameByName.ts +19 -0
  332. package/node_modules/@tiptap/core/src/helpers/getSplittedAttributes.ts +28 -0
  333. package/node_modules/@tiptap/core/src/helpers/getText.ts +28 -0
  334. package/node_modules/@tiptap/core/src/helpers/getTextBetween.ts +52 -0
  335. package/node_modules/@tiptap/core/src/helpers/getTextContentFromNodes.ts +29 -0
  336. package/node_modules/@tiptap/core/src/helpers/getTextSerializersFromSchema.ts +16 -0
  337. package/node_modules/@tiptap/core/src/helpers/index.ts +55 -0
  338. package/node_modules/@tiptap/core/src/helpers/injectExtensionAttributesToParseRule.ts +47 -0
  339. package/node_modules/@tiptap/core/src/helpers/isActive.ts +23 -0
  340. package/node_modules/@tiptap/core/src/helpers/isAtEndOfNode.ts +29 -0
  341. package/node_modules/@tiptap/core/src/helpers/isAtStartOfNode.ts +11 -0
  342. package/node_modules/@tiptap/core/src/helpers/isExtensionRulesEnabled.ts +13 -0
  343. package/node_modules/@tiptap/core/src/helpers/isList.ts +27 -0
  344. package/node_modules/@tiptap/core/src/helpers/isMarkActive.ts +94 -0
  345. package/node_modules/@tiptap/core/src/helpers/isNodeActive.ts +51 -0
  346. package/node_modules/@tiptap/core/src/helpers/isNodeEmpty.ts +62 -0
  347. package/node_modules/@tiptap/core/src/helpers/isNodeSelection.ts +5 -0
  348. package/node_modules/@tiptap/core/src/helpers/isTextSelection.ts +5 -0
  349. package/node_modules/@tiptap/core/src/helpers/posToDOMRect.ts +35 -0
  350. package/node_modules/@tiptap/core/src/helpers/resolveExtensions.ts +25 -0
  351. package/node_modules/@tiptap/core/src/helpers/resolveFocusPosition.ts +31 -0
  352. package/node_modules/@tiptap/core/src/helpers/rewriteUnknownContent.ts +149 -0
  353. package/node_modules/@tiptap/core/src/helpers/selectionToInsertionEnd.ts +29 -0
  354. package/node_modules/@tiptap/core/src/helpers/sortExtensions.ts +26 -0
  355. package/node_modules/@tiptap/core/src/helpers/splitExtensions.ts +16 -0
  356. package/node_modules/@tiptap/core/src/index.ts +28 -0
  357. package/node_modules/@tiptap/core/src/inputRules/index.ts +5 -0
  358. package/node_modules/@tiptap/core/src/inputRules/markInputRule.ts +68 -0
  359. package/node_modules/@tiptap/core/src/inputRules/nodeInputRule.ts +73 -0
  360. package/node_modules/@tiptap/core/src/inputRules/textInputRule.ts +35 -0
  361. package/node_modules/@tiptap/core/src/inputRules/textblockTypeInputRule.ts +35 -0
  362. package/node_modules/@tiptap/core/src/inputRules/wrappingInputRule.ts +82 -0
  363. package/node_modules/@tiptap/core/src/jsx-runtime.ts +65 -0
  364. package/node_modules/@tiptap/core/src/lib/ResizableNodeView.ts +1060 -0
  365. package/node_modules/@tiptap/core/src/lib/index.ts +1 -0
  366. package/node_modules/@tiptap/core/src/pasteRules/index.ts +3 -0
  367. package/node_modules/@tiptap/core/src/pasteRules/markPasteRule.ts +71 -0
  368. package/node_modules/@tiptap/core/src/pasteRules/nodePasteRule.ts +44 -0
  369. package/node_modules/@tiptap/core/src/pasteRules/textPasteRule.ts +34 -0
  370. package/node_modules/@tiptap/core/src/style.ts +71 -0
  371. package/node_modules/@tiptap/core/src/types.ts +1058 -0
  372. package/node_modules/@tiptap/core/src/utilities/callOrReturn.ts +21 -0
  373. package/node_modules/@tiptap/core/src/utilities/canInsertNode.ts +30 -0
  374. package/node_modules/@tiptap/core/src/utilities/createStyleTag.ts +21 -0
  375. package/node_modules/@tiptap/core/src/utilities/deleteProps.ts +16 -0
  376. package/node_modules/@tiptap/core/src/utilities/elementFromString.ts +27 -0
  377. package/node_modules/@tiptap/core/src/utilities/escapeForRegEx.ts +4 -0
  378. package/node_modules/@tiptap/core/src/utilities/findDuplicates.ts +8 -0
  379. package/node_modules/@tiptap/core/src/utilities/fromString.ts +19 -0
  380. package/node_modules/@tiptap/core/src/utilities/index.ts +26 -0
  381. package/node_modules/@tiptap/core/src/utilities/isAndroid.ts +3 -0
  382. package/node_modules/@tiptap/core/src/utilities/isEmptyObject.ts +3 -0
  383. package/node_modules/@tiptap/core/src/utilities/isFirefox.ts +11 -0
  384. package/node_modules/@tiptap/core/src/utilities/isFunction.ts +4 -0
  385. package/node_modules/@tiptap/core/src/utilities/isMacOS.ts +3 -0
  386. package/node_modules/@tiptap/core/src/utilities/isNumber.ts +3 -0
  387. package/node_modules/@tiptap/core/src/utilities/isPlainObject.ts +13 -0
  388. package/node_modules/@tiptap/core/src/utilities/isRegExp.ts +3 -0
  389. package/node_modules/@tiptap/core/src/utilities/isSafari.ts +11 -0
  390. package/node_modules/@tiptap/core/src/utilities/isString.ts +3 -0
  391. package/node_modules/@tiptap/core/src/utilities/isiOS.ts +7 -0
  392. package/node_modules/@tiptap/core/src/utilities/markdown/attributeUtils.ts +130 -0
  393. package/node_modules/@tiptap/core/src/utilities/markdown/createAtomBlockMarkdownSpec.ts +141 -0
  394. package/node_modules/@tiptap/core/src/utilities/markdown/createBlockMarkdownSpec.ts +225 -0
  395. package/node_modules/@tiptap/core/src/utilities/markdown/createInlineMarkdownSpec.ts +282 -0
  396. package/node_modules/@tiptap/core/src/utilities/markdown/index.ts +13 -0
  397. package/node_modules/@tiptap/core/src/utilities/markdown/parseIndentedBlocks.ts +194 -0
  398. package/node_modules/@tiptap/core/src/utilities/markdown/renderNestedMarkdownContent.ts +96 -0
  399. package/node_modules/@tiptap/core/src/utilities/mergeAttributes.ts +109 -0
  400. package/node_modules/@tiptap/core/src/utilities/mergeDeep.ts +17 -0
  401. package/node_modules/@tiptap/core/src/utilities/minMax.ts +3 -0
  402. package/node_modules/@tiptap/core/src/utilities/objectIncludes.ts +30 -0
  403. package/node_modules/@tiptap/core/src/utilities/removeDuplicates.ts +13 -0
  404. package/node_modules/@tiptap/extension-bubble-menu/LICENSE.md +21 -0
  405. package/node_modules/@tiptap/extension-bubble-menu/README.md +18 -0
  406. package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs +462 -0
  407. package/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs.map +1 -0
  408. package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.cts +169 -0
  409. package/node_modules/@tiptap/extension-bubble-menu/dist/index.d.ts +169 -0
  410. package/node_modules/@tiptap/extension-bubble-menu/dist/index.js +443 -0
  411. package/node_modules/@tiptap/extension-bubble-menu/dist/index.js.map +1 -0
  412. package/node_modules/@tiptap/extension-bubble-menu/package.json +54 -0
  413. package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu-plugin.ts +650 -0
  414. package/node_modules/@tiptap/extension-bubble-menu/src/bubble-menu.ts +50 -0
  415. package/node_modules/@tiptap/extension-bubble-menu/src/index.ts +6 -0
  416. package/node_modules/@tiptap/extension-floating-menu/LICENSE.md +21 -0
  417. package/node_modules/@tiptap/extension-floating-menu/README.md +18 -0
  418. package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs +380 -0
  419. package/node_modules/@tiptap/extension-floating-menu/dist/index.cjs.map +1 -0
  420. package/node_modules/@tiptap/extension-floating-menu/dist/index.d.cts +179 -0
  421. package/node_modules/@tiptap/extension-floating-menu/dist/index.d.ts +179 -0
  422. package/node_modules/@tiptap/extension-floating-menu/dist/index.js +361 -0
  423. package/node_modules/@tiptap/extension-floating-menu/dist/index.js.map +1 -0
  424. package/node_modules/@tiptap/extension-floating-menu/package.json +53 -0
  425. package/node_modules/@tiptap/extension-floating-menu/src/floating-menu-plugin.ts +525 -0
  426. package/node_modules/@tiptap/extension-floating-menu/src/floating-menu.ts +77 -0
  427. package/node_modules/@tiptap/extension-floating-menu/src/index.ts +6 -0
  428. package/node_modules/@tiptap/extension-mention/LICENSE.md +21 -0
  429. package/node_modules/@tiptap/extension-mention/README.md +18 -0
  430. package/node_modules/@tiptap/extension-mention/dist/index.cjs +277 -0
  431. package/node_modules/@tiptap/extension-mention/dist/index.cjs.map +1 -0
  432. package/node_modules/@tiptap/extension-mention/dist/index.d.cts +93 -0
  433. package/node_modules/@tiptap/extension-mention/dist/index.d.ts +93 -0
  434. package/node_modules/@tiptap/extension-mention/dist/index.js +250 -0
  435. package/node_modules/@tiptap/extension-mention/dist/index.js.map +1 -0
  436. package/node_modules/@tiptap/extension-mention/package.json +52 -0
  437. package/node_modules/@tiptap/extension-mention/src/index.ts +5 -0
  438. package/node_modules/@tiptap/extension-mention/src/mention.ts +357 -0
  439. package/node_modules/@tiptap/extension-mention/src/utils/get-default-suggestion-attributes.ts +89 -0
  440. package/node_modules/@tiptap/pm/LICENSE.md +21 -0
  441. package/node_modules/@tiptap/pm/README.md +22 -0
  442. package/node_modules/@tiptap/pm/changeset/index.ts +1 -0
  443. package/node_modules/@tiptap/pm/collab/index.ts +1 -0
  444. package/node_modules/@tiptap/pm/commands/index.ts +1 -0
  445. package/node_modules/@tiptap/pm/dist/changeset/index.cjs +2 -0
  446. package/node_modules/@tiptap/pm/dist/changeset/index.d.cts +18 -0
  447. package/node_modules/@tiptap/pm/dist/changeset/index.d.ts +18 -0
  448. package/node_modules/@tiptap/pm/dist/changeset/index.js +2 -0
  449. package/node_modules/@tiptap/pm/dist/collab/index.cjs +2 -0
  450. package/node_modules/@tiptap/pm/dist/collab/index.d.cts +1 -0
  451. package/node_modules/@tiptap/pm/dist/collab/index.d.ts +1 -0
  452. package/node_modules/@tiptap/pm/dist/collab/index.js +2 -0
  453. package/node_modules/@tiptap/pm/dist/commands/index.cjs +2 -0
  454. package/node_modules/@tiptap/pm/dist/commands/index.d.cts +1 -0
  455. package/node_modules/@tiptap/pm/dist/commands/index.d.ts +1 -0
  456. package/node_modules/@tiptap/pm/dist/commands/index.js +2 -0
  457. package/node_modules/@tiptap/pm/dist/dropcursor/index.cjs +2 -0
  458. package/node_modules/@tiptap/pm/dist/dropcursor/index.d.cts +1 -0
  459. package/node_modules/@tiptap/pm/dist/dropcursor/index.d.ts +1 -0
  460. package/node_modules/@tiptap/pm/dist/dropcursor/index.js +2 -0
  461. package/node_modules/@tiptap/pm/dist/gapcursor/index.cjs +2 -0
  462. package/node_modules/@tiptap/pm/dist/gapcursor/index.d.cts +1 -0
  463. package/node_modules/@tiptap/pm/dist/gapcursor/index.d.ts +1 -0
  464. package/node_modules/@tiptap/pm/dist/gapcursor/index.js +2 -0
  465. package/node_modules/@tiptap/pm/dist/history/index.cjs +2 -0
  466. package/node_modules/@tiptap/pm/dist/history/index.d.cts +1 -0
  467. package/node_modules/@tiptap/pm/dist/history/index.d.ts +1 -0
  468. package/node_modules/@tiptap/pm/dist/history/index.js +2 -0
  469. package/node_modules/@tiptap/pm/dist/inputrules/index.cjs +2 -0
  470. package/node_modules/@tiptap/pm/dist/inputrules/index.d.cts +1 -0
  471. package/node_modules/@tiptap/pm/dist/inputrules/index.d.ts +1 -0
  472. package/node_modules/@tiptap/pm/dist/inputrules/index.js +2 -0
  473. package/node_modules/@tiptap/pm/dist/keymap/index.cjs +2 -0
  474. package/node_modules/@tiptap/pm/dist/keymap/index.d.cts +1 -0
  475. package/node_modules/@tiptap/pm/dist/keymap/index.d.ts +1 -0
  476. package/node_modules/@tiptap/pm/dist/keymap/index.js +2 -0
  477. package/node_modules/@tiptap/pm/dist/markdown/index.cjs +2 -0
  478. package/node_modules/@tiptap/pm/dist/markdown/index.d.cts +1 -0
  479. package/node_modules/@tiptap/pm/dist/markdown/index.d.ts +1 -0
  480. package/node_modules/@tiptap/pm/dist/markdown/index.js +2 -0
  481. package/node_modules/@tiptap/pm/dist/menu/index.cjs +2 -0
  482. package/node_modules/@tiptap/pm/dist/menu/index.d.cts +1 -0
  483. package/node_modules/@tiptap/pm/dist/menu/index.d.ts +1 -0
  484. package/node_modules/@tiptap/pm/dist/menu/index.js +2 -0
  485. package/node_modules/@tiptap/pm/dist/model/index.cjs +2 -0
  486. package/node_modules/@tiptap/pm/dist/model/index.d.cts +1 -0
  487. package/node_modules/@tiptap/pm/dist/model/index.d.ts +1 -0
  488. package/node_modules/@tiptap/pm/dist/model/index.js +2 -0
  489. package/node_modules/@tiptap/pm/dist/schema-basic/index.cjs +2 -0
  490. package/node_modules/@tiptap/pm/dist/schema-basic/index.d.cts +1 -0
  491. package/node_modules/@tiptap/pm/dist/schema-basic/index.d.ts +1 -0
  492. package/node_modules/@tiptap/pm/dist/schema-basic/index.js +2 -0
  493. package/node_modules/@tiptap/pm/dist/schema-list/index.cjs +2 -0
  494. package/node_modules/@tiptap/pm/dist/schema-list/index.d.cts +1 -0
  495. package/node_modules/@tiptap/pm/dist/schema-list/index.d.ts +1 -0
  496. package/node_modules/@tiptap/pm/dist/schema-list/index.js +2 -0
  497. package/node_modules/@tiptap/pm/dist/state/index.cjs +2 -0
  498. package/node_modules/@tiptap/pm/dist/state/index.d.cts +1 -0
  499. package/node_modules/@tiptap/pm/dist/state/index.d.ts +1 -0
  500. package/node_modules/@tiptap/pm/dist/state/index.js +2 -0
  501. package/node_modules/@tiptap/pm/dist/tables/index.cjs +2 -0
  502. package/node_modules/@tiptap/pm/dist/tables/index.d.cts +1 -0
  503. package/node_modules/@tiptap/pm/dist/tables/index.d.ts +1 -0
  504. package/node_modules/@tiptap/pm/dist/tables/index.js +2 -0
  505. package/node_modules/@tiptap/pm/dist/trailing-node/index.cjs +2 -0
  506. package/node_modules/@tiptap/pm/dist/trailing-node/index.d.cts +1 -0
  507. package/node_modules/@tiptap/pm/dist/trailing-node/index.d.ts +1 -0
  508. package/node_modules/@tiptap/pm/dist/trailing-node/index.js +2 -0
  509. package/node_modules/@tiptap/pm/dist/transform/index.cjs +2 -0
  510. package/node_modules/@tiptap/pm/dist/transform/index.d.cts +1 -0
  511. package/node_modules/@tiptap/pm/dist/transform/index.d.ts +1 -0
  512. package/node_modules/@tiptap/pm/dist/transform/index.js +2 -0
  513. package/node_modules/@tiptap/pm/dist/view/index.cjs +2 -0
  514. package/node_modules/@tiptap/pm/dist/view/index.d.cts +1 -0
  515. package/node_modules/@tiptap/pm/dist/view/index.d.ts +1 -0
  516. package/node_modules/@tiptap/pm/dist/view/index.js +2 -0
  517. package/node_modules/@tiptap/pm/dropcursor/index.ts +1 -0
  518. package/node_modules/@tiptap/pm/gapcursor/index.ts +1 -0
  519. package/node_modules/@tiptap/pm/history/index.ts +1 -0
  520. package/node_modules/@tiptap/pm/inputrules/index.ts +1 -0
  521. package/node_modules/@tiptap/pm/keymap/index.ts +1 -0
  522. package/node_modules/@tiptap/pm/markdown/index.ts +1 -0
  523. package/node_modules/@tiptap/pm/menu/index.ts +1 -0
  524. package/node_modules/@tiptap/pm/model/index.ts +1 -0
  525. package/node_modules/@tiptap/pm/package.json +211 -0
  526. package/node_modules/@tiptap/pm/schema-basic/index.ts +1 -0
  527. package/node_modules/@tiptap/pm/schema-list/index.ts +1 -0
  528. package/node_modules/@tiptap/pm/state/index.ts +1 -0
  529. package/node_modules/@tiptap/pm/tables/index.ts +1 -0
  530. package/node_modules/@tiptap/pm/trailing-node/index.ts +1 -0
  531. package/node_modules/@tiptap/pm/transform/index.ts +1 -0
  532. package/node_modules/@tiptap/pm/view/index.ts +1 -0
  533. package/node_modules/@tiptap/react/LICENSE.md +21 -0
  534. package/node_modules/@tiptap/react/README.md +18 -0
  535. package/node_modules/@tiptap/react/dist/index.cjs +1195 -0
  536. package/node_modules/@tiptap/react/dist/index.cjs.map +1 -0
  537. package/node_modules/@tiptap/react/dist/index.d.cts +534 -0
  538. package/node_modules/@tiptap/react/dist/index.d.ts +534 -0
  539. package/node_modules/@tiptap/react/dist/index.js +1131 -0
  540. package/node_modules/@tiptap/react/dist/index.js.map +1 -0
  541. package/node_modules/@tiptap/react/dist/menus/index.cjs +499 -0
  542. package/node_modules/@tiptap/react/dist/menus/index.cjs.map +1 -0
  543. package/node_modules/@tiptap/react/dist/menus/index.d.cts +19 -0
  544. package/node_modules/@tiptap/react/dist/menus/index.d.ts +19 -0
  545. package/node_modules/@tiptap/react/dist/menus/index.js +461 -0
  546. package/node_modules/@tiptap/react/dist/menus/index.js.map +1 -0
  547. package/node_modules/@tiptap/react/package.json +76 -0
  548. package/node_modules/@tiptap/react/src/Context.tsx +60 -0
  549. package/node_modules/@tiptap/react/src/Editor.ts +13 -0
  550. package/node_modules/@tiptap/react/src/EditorContent.tsx +229 -0
  551. package/node_modules/@tiptap/react/src/NodeViewContent.tsx +30 -0
  552. package/node_modules/@tiptap/react/src/NodeViewWrapper.tsx +27 -0
  553. package/node_modules/@tiptap/react/src/ReactMarkViewRenderer.tsx +106 -0
  554. package/node_modules/@tiptap/react/src/ReactNodeViewRenderer.tsx +387 -0
  555. package/node_modules/@tiptap/react/src/ReactRenderer.tsx +282 -0
  556. package/node_modules/@tiptap/react/src/Tiptap.tsx +224 -0
  557. package/node_modules/@tiptap/react/src/index.ts +13 -0
  558. package/node_modules/@tiptap/react/src/menus/BubbleMenu.spec.ts +174 -0
  559. package/node_modules/@tiptap/react/src/menus/BubbleMenu.tsx +153 -0
  560. package/node_modules/@tiptap/react/src/menus/FloatingMenu.spec.ts +164 -0
  561. package/node_modules/@tiptap/react/src/menus/FloatingMenu.tsx +137 -0
  562. package/node_modules/@tiptap/react/src/menus/getAutoPluginKey.ts +5 -0
  563. package/node_modules/@tiptap/react/src/menus/index.ts +2 -0
  564. package/node_modules/@tiptap/react/src/menus/useMenuElementProps.ts +354 -0
  565. package/node_modules/@tiptap/react/src/types.ts +6 -0
  566. package/node_modules/@tiptap/react/src/useEditor.ts +382 -0
  567. package/node_modules/@tiptap/react/src/useEditorState.ts +173 -0
  568. package/node_modules/@tiptap/react/src/useReactNodeView.ts +28 -0
  569. package/node_modules/@tiptap/suggestion/LICENSE.md +21 -0
  570. package/node_modules/@tiptap/suggestion/README.md +18 -0
  571. package/node_modules/@tiptap/suggestion/dist/index.cjs +369 -0
  572. package/node_modules/@tiptap/suggestion/dist/index.cjs.map +1 -0
  573. package/node_modules/@tiptap/suggestion/dist/index.d.cts +213 -0
  574. package/node_modules/@tiptap/suggestion/dist/index.d.ts +213 -0
  575. package/node_modules/@tiptap/suggestion/dist/index.js +339 -0
  576. package/node_modules/@tiptap/suggestion/dist/index.js.map +1 -0
  577. package/node_modules/@tiptap/suggestion/package.json +50 -0
  578. package/node_modules/@tiptap/suggestion/src/__tests__/suggestion.test.ts +127 -0
  579. package/node_modules/@tiptap/suggestion/src/findSuggestionMatch.ts +79 -0
  580. package/node_modules/@tiptap/suggestion/src/index.ts +8 -0
  581. package/node_modules/@tiptap/suggestion/src/suggestion.ts +585 -0
  582. package/node_modules/@types/linkify-it/LICENSE +21 -0
  583. package/node_modules/@types/linkify-it/README.md +15 -0
  584. package/node_modules/@types/linkify-it/build/index.cjs.d.ts +178 -0
  585. package/node_modules/@types/linkify-it/index.d.mts +174 -0
  586. package/node_modules/@types/linkify-it/index.d.ts +3 -0
  587. package/node_modules/@types/linkify-it/package.json +50 -0
  588. package/node_modules/@types/markdown-it/LICENSE +21 -0
  589. package/node_modules/@types/markdown-it/README.md +15 -0
  590. package/node_modules/@types/markdown-it/dist/index.cjs.d.ts +1236 -0
  591. package/node_modules/@types/markdown-it/dist/markdown-it.d.ts +5 -0
  592. package/node_modules/@types/markdown-it/dist/markdown-it.min.d.ts +5 -0
  593. package/node_modules/@types/markdown-it/index.d.mts +1 -0
  594. package/node_modules/@types/markdown-it/index.d.ts +3 -0
  595. package/node_modules/@types/markdown-it/lib/common/html_blocks.d.mts +7 -0
  596. package/node_modules/@types/markdown-it/lib/common/html_re.d.mts +2 -0
  597. package/node_modules/@types/markdown-it/lib/common/utils.d.mts +62 -0
  598. package/node_modules/@types/markdown-it/lib/helpers/index.d.mts +5 -0
  599. package/node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.mts +7 -0
  600. package/node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.mts +3 -0
  601. package/node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.mts +29 -0
  602. package/node_modules/@types/markdown-it/lib/index.d.mts +404 -0
  603. package/node_modules/@types/markdown-it/lib/parser_block.d.mts +25 -0
  604. package/node_modules/@types/markdown-it/lib/parser_core.d.mts +18 -0
  605. package/node_modules/@types/markdown-it/lib/parser_inline.d.mts +38 -0
  606. package/node_modules/@types/markdown-it/lib/renderer.d.mts +96 -0
  607. package/node_modules/@types/markdown-it/lib/ruler.d.mts +158 -0
  608. package/node_modules/@types/markdown-it/lib/rules_block/state_block.d.mts +124 -0
  609. package/node_modules/@types/markdown-it/lib/rules_core/state_core.d.mts +18 -0
  610. package/node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.mts +73 -0
  611. package/node_modules/@types/markdown-it/lib/token.d.mts +108 -0
  612. package/node_modules/@types/markdown-it/package.json +54 -0
  613. package/node_modules/@types/mdurl/LICENSE +21 -0
  614. package/node_modules/@types/mdurl/README.md +15 -0
  615. package/node_modules/@types/mdurl/build/index.cjs.d.ts +52 -0
  616. package/node_modules/@types/mdurl/index.d.mts +6 -0
  617. package/node_modules/@types/mdurl/index.d.ts +3 -0
  618. package/node_modules/@types/mdurl/lib/decode.d.mts +10 -0
  619. package/node_modules/@types/mdurl/lib/encode.d.mts +15 -0
  620. package/node_modules/@types/mdurl/lib/format.d.mts +3 -0
  621. package/node_modules/@types/mdurl/lib/parse.d.mts +18 -0
  622. package/node_modules/@types/mdurl/package.json +36 -0
  623. package/node_modules/@types/use-sync-external-store/LICENSE +21 -0
  624. package/node_modules/@types/use-sync-external-store/README.md +15 -0
  625. package/node_modules/@types/use-sync-external-store/index.d.ts +5 -0
  626. package/node_modules/@types/use-sync-external-store/package.json +30 -0
  627. package/node_modules/@types/use-sync-external-store/shim/index.d.ts +1 -0
  628. package/node_modules/@types/use-sync-external-store/shim/with-selector.d.ts +1 -0
  629. package/node_modules/@types/use-sync-external-store/with-selector.d.ts +7 -0
  630. package/node_modules/argparse/LICENSE +254 -0
  631. package/node_modules/argparse/README.md +84 -0
  632. package/node_modules/argparse/argparse.js +3707 -0
  633. package/node_modules/argparse/lib/sub.js +67 -0
  634. package/node_modules/argparse/lib/textwrap.js +440 -0
  635. package/node_modules/argparse/package.json +31 -0
  636. package/node_modules/crelt/LICENSE +19 -0
  637. package/node_modules/crelt/README.md +23 -0
  638. package/node_modules/crelt/dist/index.cjs +31 -0
  639. package/node_modules/crelt/dist/index.d.cts +4 -0
  640. package/node_modules/crelt/index.d.ts +4 -0
  641. package/node_modules/crelt/index.js +28 -0
  642. package/node_modules/crelt/package.json +35 -0
  643. package/node_modules/crelt/rollup.config.js +13 -0
  644. package/node_modules/entities/LICENSE +11 -0
  645. package/node_modules/entities/lib/decode.d.ts +211 -0
  646. package/node_modules/entities/lib/decode.d.ts.map +1 -0
  647. package/node_modules/entities/lib/decode.js +536 -0
  648. package/node_modules/entities/lib/decode.js.map +1 -0
  649. package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
  650. package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  651. package/node_modules/entities/lib/decode_codepoint.js +76 -0
  652. package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  653. package/node_modules/entities/lib/encode.d.ts +22 -0
  654. package/node_modules/entities/lib/encode.d.ts.map +1 -0
  655. package/node_modules/entities/lib/encode.js +77 -0
  656. package/node_modules/entities/lib/encode.js.map +1 -0
  657. package/node_modules/entities/lib/escape.d.ts +43 -0
  658. package/node_modules/entities/lib/escape.d.ts.map +1 -0
  659. package/node_modules/entities/lib/escape.js +122 -0
  660. package/node_modules/entities/lib/escape.js.map +1 -0
  661. package/node_modules/entities/lib/esm/decode.d.ts +211 -0
  662. package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
  663. package/node_modules/entities/lib/esm/decode.js +496 -0
  664. package/node_modules/entities/lib/esm/decode.js.map +1 -0
  665. package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
  666. package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
  667. package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
  668. package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  669. package/node_modules/entities/lib/esm/encode.d.ts +22 -0
  670. package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
  671. package/node_modules/entities/lib/esm/encode.js +69 -0
  672. package/node_modules/entities/lib/esm/encode.js.map +1 -0
  673. package/node_modules/entities/lib/esm/escape.d.ts +43 -0
  674. package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
  675. package/node_modules/entities/lib/esm/escape.js +116 -0
  676. package/node_modules/entities/lib/esm/escape.js.map +1 -0
  677. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
  678. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
  679. package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  680. package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  681. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
  682. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
  683. package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  684. package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  685. package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
  686. package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
  687. package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
  688. package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
  689. package/node_modules/entities/lib/esm/index.d.ts +96 -0
  690. package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
  691. package/node_modules/entities/lib/esm/index.js +99 -0
  692. package/node_modules/entities/lib/esm/index.js.map +1 -0
  693. package/node_modules/entities/lib/esm/package.json +1 -0
  694. package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  695. package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  696. package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  697. package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  698. package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  699. package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  700. package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  701. package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  702. package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
  703. package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
  704. package/node_modules/entities/lib/generated/encode-html.js +12 -0
  705. package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  706. package/node_modules/entities/lib/index.d.ts +96 -0
  707. package/node_modules/entities/lib/index.d.ts.map +1 -0
  708. package/node_modules/entities/lib/index.js +126 -0
  709. package/node_modules/entities/lib/index.js.map +1 -0
  710. package/node_modules/entities/package.json +90 -0
  711. package/node_modules/entities/readme.md +122 -0
  712. package/node_modules/escape-string-regexp/index.d.ts +18 -0
  713. package/node_modules/escape-string-regexp/index.js +13 -0
  714. package/node_modules/escape-string-regexp/license +9 -0
  715. package/node_modules/escape-string-regexp/package.json +38 -0
  716. package/node_modules/escape-string-regexp/readme.md +34 -0
  717. package/node_modules/fast-equals/LICENSE +21 -0
  718. package/node_modules/fast-equals/README.md +477 -0
  719. package/node_modules/fast-equals/dist/cjs/comparator.d.cts +60 -0
  720. package/node_modules/fast-equals/dist/cjs/equals.d.cts +62 -0
  721. package/node_modules/fast-equals/dist/cjs/index.cjs +653 -0
  722. package/node_modules/fast-equals/dist/cjs/index.cjs.map +1 -0
  723. package/node_modules/fast-equals/dist/cjs/index.d.cts +66 -0
  724. package/node_modules/fast-equals/dist/cjs/internalTypes.d.cts +178 -0
  725. package/node_modules/fast-equals/dist/cjs/utils.d.cts +33 -0
  726. package/node_modules/fast-equals/dist/es/comparator.d.mts +60 -0
  727. package/node_modules/fast-equals/dist/es/equals.d.mts +62 -0
  728. package/node_modules/fast-equals/dist/es/index.d.mts +66 -0
  729. package/node_modules/fast-equals/dist/es/index.mjs +642 -0
  730. package/node_modules/fast-equals/dist/es/index.mjs.map +1 -0
  731. package/node_modules/fast-equals/dist/es/internalTypes.d.mts +178 -0
  732. package/node_modules/fast-equals/dist/es/utils.d.mts +33 -0
  733. package/node_modules/fast-equals/dist/umd/comparator.d.ts +26 -0
  734. package/node_modules/fast-equals/dist/umd/equals.d.ts +62 -0
  735. package/node_modules/fast-equals/dist/umd/index.d.ts +47 -0
  736. package/node_modules/fast-equals/dist/umd/index.js +659 -0
  737. package/node_modules/fast-equals/dist/umd/index.js.map +1 -0
  738. package/node_modules/fast-equals/dist/umd/internalTypes.d.ts +159 -0
  739. package/node_modules/fast-equals/dist/umd/utils.d.ts +28 -0
  740. package/node_modules/fast-equals/index.d.ts +260 -0
  741. package/node_modules/fast-equals/package.json +113 -0
  742. package/node_modules/linkify-it/LICENSE +22 -0
  743. package/node_modules/linkify-it/README.md +196 -0
  744. package/node_modules/linkify-it/build/index.cjs.js +832 -0
  745. package/node_modules/linkify-it/index.mjs +642 -0
  746. package/node_modules/linkify-it/lib/re.mjs +189 -0
  747. package/node_modules/linkify-it/package.json +58 -0
  748. package/node_modules/markdown-it/LICENSE +22 -0
  749. package/node_modules/markdown-it/README.md +324 -0
  750. package/node_modules/markdown-it/bin/markdown-it.mjs +107 -0
  751. package/node_modules/markdown-it/dist/index.cjs.js +5547 -0
  752. package/node_modules/markdown-it/dist/markdown-it.js +6969 -0
  753. package/node_modules/markdown-it/dist/markdown-it.min.js +2 -0
  754. package/node_modules/markdown-it/index.mjs +1 -0
  755. package/node_modules/markdown-it/lib/common/html_blocks.mjs +67 -0
  756. package/node_modules/markdown-it/lib/common/html_re.mjs +25 -0
  757. package/node_modules/markdown-it/lib/common/utils.mjs +304 -0
  758. package/node_modules/markdown-it/lib/helpers/index.mjs +11 -0
  759. package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +77 -0
  760. package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +49 -0
  761. package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +66 -0
  762. package/node_modules/markdown-it/lib/index.mjs +565 -0
  763. package/node_modules/markdown-it/lib/parser_block.mjs +134 -0
  764. package/node_modules/markdown-it/lib/parser_core.mjs +62 -0
  765. package/node_modules/markdown-it/lib/parser_inline.mjs +197 -0
  766. package/node_modules/markdown-it/lib/presets/commonmark.mjs +88 -0
  767. package/node_modules/markdown-it/lib/presets/default.mjs +47 -0
  768. package/node_modules/markdown-it/lib/presets/zero.mjs +70 -0
  769. package/node_modules/markdown-it/lib/renderer.mjs +322 -0
  770. package/node_modules/markdown-it/lib/ruler.mjs +340 -0
  771. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +209 -0
  772. package/node_modules/markdown-it/lib/rules_block/code.mjs +30 -0
  773. package/node_modules/markdown-it/lib/rules_block/fence.mjs +94 -0
  774. package/node_modules/markdown-it/lib/rules_block/heading.mjs +51 -0
  775. package/node_modules/markdown-it/lib/rules_block/hr.mjs +40 -0
  776. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +69 -0
  777. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +82 -0
  778. package/node_modules/markdown-it/lib/rules_block/list.mjs +331 -0
  779. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +46 -0
  780. package/node_modules/markdown-it/lib/rules_block/reference.mjs +212 -0
  781. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +220 -0
  782. package/node_modules/markdown-it/lib/rules_block/table.mjs +228 -0
  783. package/node_modules/markdown-it/lib/rules_core/block.mjs +13 -0
  784. package/node_modules/markdown-it/lib/rules_core/inline.mjs +11 -0
  785. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +134 -0
  786. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +17 -0
  787. package/node_modules/markdown-it/lib/rules_core/replacements.mjs +101 -0
  788. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +193 -0
  789. package/node_modules/markdown-it/lib/rules_core/state_core.mjs +17 -0
  790. package/node_modules/markdown-it/lib/rules_core/text_join.mjs +43 -0
  791. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +72 -0
  792. package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +60 -0
  793. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +124 -0
  794. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +123 -0
  795. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +51 -0
  796. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +69 -0
  797. package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +38 -0
  798. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +50 -0
  799. package/node_modules/markdown-it/lib/rules_inline/image.mjs +138 -0
  800. package/node_modules/markdown-it/lib/rules_inline/link.mjs +139 -0
  801. package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +63 -0
  802. package/node_modules/markdown-it/lib/rules_inline/newline.mjs +42 -0
  803. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +123 -0
  804. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +127 -0
  805. package/node_modules/markdown-it/lib/rules_inline/text.mjs +86 -0
  806. package/node_modules/markdown-it/lib/token.mjs +191 -0
  807. package/node_modules/markdown-it/package.json +92 -0
  808. package/node_modules/mdurl/LICENSE +45 -0
  809. package/node_modules/mdurl/README.md +102 -0
  810. package/node_modules/mdurl/build/index.cjs.js +534 -0
  811. package/node_modules/mdurl/index.mjs +11 -0
  812. package/node_modules/mdurl/lib/decode.mjs +112 -0
  813. package/node_modules/mdurl/lib/encode.mjs +89 -0
  814. package/node_modules/mdurl/lib/format.mjs +21 -0
  815. package/node_modules/mdurl/lib/parse.mjs +308 -0
  816. package/node_modules/mdurl/package.json +37 -0
  817. package/node_modules/orderedmap/LICENSE +19 -0
  818. package/node_modules/orderedmap/README.md +69 -0
  819. package/node_modules/orderedmap/dist/index.cjs +139 -0
  820. package/node_modules/orderedmap/dist/index.d.cts +33 -0
  821. package/node_modules/orderedmap/dist/index.d.ts +33 -0
  822. package/node_modules/orderedmap/dist/index.js +137 -0
  823. package/node_modules/orderedmap/package.json +39 -0
  824. package/node_modules/prosemirror-changeset/CHANGELOG.md +147 -0
  825. package/node_modules/prosemirror-changeset/LICENSE +19 -0
  826. package/node_modules/prosemirror-changeset/README.md +175 -0
  827. package/node_modules/prosemirror-changeset/dist/index.cjs +585 -0
  828. package/node_modules/prosemirror-changeset/dist/index.d.cts +186 -0
  829. package/node_modules/prosemirror-changeset/dist/index.d.ts +186 -0
  830. package/node_modules/prosemirror-changeset/dist/index.js +715 -0
  831. package/node_modules/prosemirror-changeset/package.json +40 -0
  832. package/node_modules/prosemirror-changeset/src/README.md +32 -0
  833. package/node_modules/prosemirror-changeset/src/change.ts +189 -0
  834. package/node_modules/prosemirror-changeset/src/changeset.ts +212 -0
  835. package/node_modules/prosemirror-changeset/src/diff.ts +151 -0
  836. package/node_modules/prosemirror-changeset/src/simplify.ts +132 -0
  837. package/node_modules/prosemirror-changeset/test/test-changed-range.ts +48 -0
  838. package/node_modules/prosemirror-changeset/test/test-changes.ts +211 -0
  839. package/node_modules/prosemirror-changeset/test/test-diff.ts +69 -0
  840. package/node_modules/prosemirror-changeset/test/test-merge.ts +56 -0
  841. package/node_modules/prosemirror-changeset/test/test-simplify.ts +71 -0
  842. package/node_modules/prosemirror-collab/.tern-project +8 -0
  843. package/node_modules/prosemirror-collab/CHANGELOG.md +77 -0
  844. package/node_modules/prosemirror-collab/CONTRIBUTING.md +104 -0
  845. package/node_modules/prosemirror-collab/LICENSE +19 -0
  846. package/node_modules/prosemirror-collab/README.md +28 -0
  847. package/node_modules/prosemirror-collab/dist/index.cjs +155 -0
  848. package/node_modules/prosemirror-collab/dist/index.d.cts +60 -0
  849. package/node_modules/prosemirror-collab/dist/index.d.ts +60 -0
  850. package/node_modules/prosemirror-collab/dist/index.js +156 -0
  851. package/node_modules/prosemirror-collab/package.json +40 -0
  852. package/node_modules/prosemirror-collab/src/README.md +11 -0
  853. package/node_modules/prosemirror-collab/src/collab.ts +184 -0
  854. package/node_modules/prosemirror-commands/.tern-project +8 -0
  855. package/node_modules/prosemirror-commands/CHANGELOG.md +322 -0
  856. package/node_modules/prosemirror-commands/CONTRIBUTING.md +104 -0
  857. package/node_modules/prosemirror-commands/LICENSE +19 -0
  858. package/node_modules/prosemirror-commands/README.md +28 -0
  859. package/node_modules/prosemirror-commands/dist/index.cjs +687 -0
  860. package/node_modules/prosemirror-commands/dist/index.d.cts +215 -0
  861. package/node_modules/prosemirror-commands/dist/index.d.ts +215 -0
  862. package/node_modules/prosemirror-commands/dist/index.js +850 -0
  863. package/node_modules/prosemirror-commands/package.json +39 -0
  864. package/node_modules/prosemirror-commands/src/README.md +40 -0
  865. package/node_modules/prosemirror-commands/src/commands.ts +783 -0
  866. package/node_modules/prosemirror-dropcursor/CHANGELOG.md +137 -0
  867. package/node_modules/prosemirror-dropcursor/CONTRIBUTING.md +100 -0
  868. package/node_modules/prosemirror-dropcursor/LICENSE +19 -0
  869. package/node_modules/prosemirror-dropcursor/README.md +50 -0
  870. package/node_modules/prosemirror-dropcursor/dist/index.cjs +185 -0
  871. package/node_modules/prosemirror-dropcursor/dist/index.d.cts +38 -0
  872. package/node_modules/prosemirror-dropcursor/dist/index.d.ts +38 -0
  873. package/node_modules/prosemirror-dropcursor/dist/index.js +146 -0
  874. package/node_modules/prosemirror-dropcursor/package.json +38 -0
  875. package/node_modules/prosemirror-dropcursor/src/dropcursor.ts +170 -0
  876. package/node_modules/prosemirror-gapcursor/CHANGELOG.md +122 -0
  877. package/node_modules/prosemirror-gapcursor/CONTRIBUTING.md +104 -0
  878. package/node_modules/prosemirror-gapcursor/LICENSE +19 -0
  879. package/node_modules/prosemirror-gapcursor/README.md +31 -0
  880. package/node_modules/prosemirror-gapcursor/dist/index.cjs +239 -0
  881. package/node_modules/prosemirror-gapcursor/dist/index.d.cts +31 -0
  882. package/node_modules/prosemirror-gapcursor/dist/index.d.ts +31 -0
  883. package/node_modules/prosemirror-gapcursor/dist/index.js +239 -0
  884. package/node_modules/prosemirror-gapcursor/package.json +43 -0
  885. package/node_modules/prosemirror-gapcursor/src/README.md +21 -0
  886. package/node_modules/prosemirror-gapcursor/src/gapcursor.ts +141 -0
  887. package/node_modules/prosemirror-gapcursor/src/index.ts +91 -0
  888. package/node_modules/prosemirror-gapcursor/style/gapcursor.css +25 -0
  889. package/node_modules/prosemirror-history/.tern-project +8 -0
  890. package/node_modules/prosemirror-history/CHANGELOG.md +170 -0
  891. package/node_modules/prosemirror-history/CONTRIBUTING.md +104 -0
  892. package/node_modules/prosemirror-history/LICENSE +19 -0
  893. package/node_modules/prosemirror-history/README.md +27 -0
  894. package/node_modules/prosemirror-history/dist/index.cjs +382 -0
  895. package/node_modules/prosemirror-history/dist/index.d.cts +64 -0
  896. package/node_modules/prosemirror-history/dist/index.d.ts +64 -0
  897. package/node_modules/prosemirror-history/dist/index.js +453 -0
  898. package/node_modules/prosemirror-history/package.json +40 -0
  899. package/node_modules/prosemirror-history/src/README.md +23 -0
  900. package/node_modules/prosemirror-history/src/history.ts +465 -0
  901. package/node_modules/prosemirror-inputrules/.tern-project +8 -0
  902. package/node_modules/prosemirror-inputrules/CHANGELOG.md +127 -0
  903. package/node_modules/prosemirror-inputrules/CONTRIBUTING.md +104 -0
  904. package/node_modules/prosemirror-inputrules/LICENSE +19 -0
  905. package/node_modules/prosemirror-inputrules/README.md +29 -0
  906. package/node_modules/prosemirror-inputrules/dist/index.cjs +194 -0
  907. package/node_modules/prosemirror-inputrules/dist/index.d.cts +131 -0
  908. package/node_modules/prosemirror-inputrules/dist/index.d.ts +131 -0
  909. package/node_modules/prosemirror-inputrules/dist/index.js +239 -0
  910. package/node_modules/prosemirror-inputrules/package.json +36 -0
  911. package/node_modules/prosemirror-inputrules/src/README.md +23 -0
  912. package/node_modules/prosemirror-inputrules/src/index.ts +4 -0
  913. package/node_modules/prosemirror-inputrules/src/inputrules.ts +167 -0
  914. package/node_modules/prosemirror-inputrules/src/rulebuilders.ts +59 -0
  915. package/node_modules/prosemirror-inputrules/src/rules.ts +17 -0
  916. package/node_modules/prosemirror-keymap/.tern-project +8 -0
  917. package/node_modules/prosemirror-keymap/CHANGELOG.md +104 -0
  918. package/node_modules/prosemirror-keymap/CONTRIBUTING.md +104 -0
  919. package/node_modules/prosemirror-keymap/LICENSE +19 -0
  920. package/node_modules/prosemirror-keymap/README.md +27 -0
  921. package/node_modules/prosemirror-keymap/dist/index.cjs +65 -0
  922. package/node_modules/prosemirror-keymap/dist/index.d.cts +47 -0
  923. package/node_modules/prosemirror-keymap/dist/index.d.ts +47 -0
  924. package/node_modules/prosemirror-keymap/dist/index.js +128 -0
  925. package/node_modules/prosemirror-keymap/package.json +38 -0
  926. package/node_modules/prosemirror-keymap/src/README.md +5 -0
  927. package/node_modules/prosemirror-keymap/src/keymap.ts +105 -0
  928. package/node_modules/prosemirror-markdown/.tern-project +8 -0
  929. package/node_modules/prosemirror-markdown/CHANGELOG.md +311 -0
  930. package/node_modules/prosemirror-markdown/CONTRIBUTING.md +100 -0
  931. package/node_modules/prosemirror-markdown/LICENSE +19 -0
  932. package/node_modules/prosemirror-markdown/README.md +276 -0
  933. package/node_modules/prosemirror-markdown/dist/index.cjs +966 -0
  934. package/node_modules/prosemirror-markdown/dist/index.d.cts +335 -0
  935. package/node_modules/prosemirror-markdown/dist/index.d.ts +335 -0
  936. package/node_modules/prosemirror-markdown/dist/index.js +878 -0
  937. package/node_modules/prosemirror-markdown/package.json +40 -0
  938. package/node_modules/prosemirror-markdown/src/README.md +42 -0
  939. package/node_modules/prosemirror-markdown/src/from_markdown.ts +272 -0
  940. package/node_modules/prosemirror-markdown/src/index.ts +5 -0
  941. package/node_modules/prosemirror-markdown/src/schema.ts +156 -0
  942. package/node_modules/prosemirror-markdown/src/to_markdown.ts +483 -0
  943. package/node_modules/prosemirror-menu/.tern-project +8 -0
  944. package/node_modules/prosemirror-menu/CHANGELOG.md +107 -0
  945. package/node_modules/prosemirror-menu/CONTRIBUTING.md +100 -0
  946. package/node_modules/prosemirror-menu/LICENSE +19 -0
  947. package/node_modules/prosemirror-menu/README.md +235 -0
  948. package/node_modules/prosemirror-menu/dist/index.cjs +798 -0
  949. package/node_modules/prosemirror-menu/dist/index.d.cts +281 -0
  950. package/node_modules/prosemirror-menu/dist/index.d.ts +281 -0
  951. package/node_modules/prosemirror-menu/dist/index.js +795 -0
  952. package/node_modules/prosemirror-menu/package.json +42 -0
  953. package/node_modules/prosemirror-menu/src/README.md +60 -0
  954. package/node_modules/prosemirror-menu/src/icons.ts +53 -0
  955. package/node_modules/prosemirror-menu/src/index.ts +4 -0
  956. package/node_modules/prosemirror-menu/src/menu.ts +628 -0
  957. package/node_modules/prosemirror-menu/src/menubar.ts +210 -0
  958. package/node_modules/prosemirror-menu/style/menu.css +169 -0
  959. package/node_modules/prosemirror-model/.tern-project +8 -0
  960. package/node_modules/prosemirror-model/CHANGELOG.md +730 -0
  961. package/node_modules/prosemirror-model/CONTRIBUTING.md +104 -0
  962. package/node_modules/prosemirror-model/LICENSE +19 -0
  963. package/node_modules/prosemirror-model/README.md +29 -0
  964. package/node_modules/prosemirror-model/dist/index.cjs +2898 -0
  965. package/node_modules/prosemirror-model/dist/index.d.cts +1679 -0
  966. package/node_modules/prosemirror-model/dist/index.d.ts +1679 -0
  967. package/node_modules/prosemirror-model/dist/index.js +3464 -0
  968. package/node_modules/prosemirror-model/package.json +38 -0
  969. package/node_modules/prosemirror-model/src/README.md +62 -0
  970. package/node_modules/prosemirror-model/src/comparedeep.ts +15 -0
  971. package/node_modules/prosemirror-model/src/content.ts +413 -0
  972. package/node_modules/prosemirror-model/src/diff.ts +52 -0
  973. package/node_modules/prosemirror-model/src/dom.ts +1 -0
  974. package/node_modules/prosemirror-model/src/fragment.ts +268 -0
  975. package/node_modules/prosemirror-model/src/from_dom.ts +848 -0
  976. package/node_modules/prosemirror-model/src/index.ts +11 -0
  977. package/node_modules/prosemirror-model/src/mark.ts +111 -0
  978. package/node_modules/prosemirror-model/src/node.ts +402 -0
  979. package/node_modules/prosemirror-model/src/replace.ts +225 -0
  980. package/node_modules/prosemirror-model/src/resolvedpos.ts +289 -0
  981. package/node_modules/prosemirror-model/src/schema.ts +705 -0
  982. package/node_modules/prosemirror-model/src/to_dom.ts +238 -0
  983. package/node_modules/prosemirror-schema-basic/.tern-project +8 -0
  984. package/node_modules/prosemirror-schema-basic/CHANGELOG.md +81 -0
  985. package/node_modules/prosemirror-schema-basic/CONTRIBUTING.md +100 -0
  986. package/node_modules/prosemirror-schema-basic/LICENSE +19 -0
  987. package/node_modules/prosemirror-schema-basic/README.md +28 -0
  988. package/node_modules/prosemirror-schema-basic/dist/index.cjs +246 -0
  989. package/node_modules/prosemirror-schema-basic/dist/index.d.cts +87 -0
  990. package/node_modules/prosemirror-schema-basic/dist/index.d.ts +87 -0
  991. package/node_modules/prosemirror-schema-basic/dist/index.js +183 -0
  992. package/node_modules/prosemirror-schema-basic/package.json +37 -0
  993. package/node_modules/prosemirror-schema-basic/src/README.md +8 -0
  994. package/node_modules/prosemirror-schema-basic/src/schema-basic.ts +166 -0
  995. package/node_modules/prosemirror-schema-list/.tern-project +8 -0
  996. package/node_modules/prosemirror-schema-list/CHANGELOG.md +140 -0
  997. package/node_modules/prosemirror-schema-list/CONTRIBUTING.md +100 -0
  998. package/node_modules/prosemirror-schema-list/LICENSE +19 -0
  999. package/node_modules/prosemirror-schema-list/README.md +28 -0
  1000. package/node_modules/prosemirror-schema-list/dist/index.cjs +253 -0
  1001. package/node_modules/prosemirror-schema-list/dist/index.d.cts +71 -0
  1002. package/node_modules/prosemirror-schema-list/dist/index.d.ts +71 -0
  1003. package/node_modules/prosemirror-schema-list/dist/index.js +289 -0
  1004. package/node_modules/prosemirror-schema-list/package.json +40 -0
  1005. package/node_modules/prosemirror-schema-list/src/README.md +29 -0
  1006. package/node_modules/prosemirror-schema-list/src/schema-list.ts +267 -0
  1007. package/node_modules/prosemirror-state/.tern-project +8 -0
  1008. package/node_modules/prosemirror-state/CHANGELOG.md +296 -0
  1009. package/node_modules/prosemirror-state/CONTRIBUTING.md +104 -0
  1010. package/node_modules/prosemirror-state/LICENSE +19 -0
  1011. package/node_modules/prosemirror-state/README.md +28 -0
  1012. package/node_modules/prosemirror-state/dist/index.cjs +884 -0
  1013. package/node_modules/prosemirror-state/dist/index.d.cts +709 -0
  1014. package/node_modules/prosemirror-state/dist/index.d.ts +709 -0
  1015. package/node_modules/prosemirror-state/dist/index.js +1002 -0
  1016. package/node_modules/prosemirror-state/package.json +39 -0
  1017. package/node_modules/prosemirror-state/src/README.md +42 -0
  1018. package/node_modules/prosemirror-state/src/index.ts +7 -0
  1019. package/node_modules/prosemirror-state/src/plugin.ts +142 -0
  1020. package/node_modules/prosemirror-state/src/selection.ts +462 -0
  1021. package/node_modules/prosemirror-state/src/state.ts +266 -0
  1022. package/node_modules/prosemirror-state/src/transaction.ts +215 -0
  1023. package/node_modules/prosemirror-tables/LICENSE +19 -0
  1024. package/node_modules/prosemirror-tables/README.md +254 -0
  1025. package/node_modules/prosemirror-tables/dist/index.cjs +2683 -0
  1026. package/node_modules/prosemirror-tables/dist/index.d.cts +751 -0
  1027. package/node_modules/prosemirror-tables/dist/index.d.cts.map +1 -0
  1028. package/node_modules/prosemirror-tables/dist/index.d.ts +751 -0
  1029. package/node_modules/prosemirror-tables/dist/index.d.ts.map +1 -0
  1030. package/node_modules/prosemirror-tables/dist/index.js +2626 -0
  1031. package/node_modules/prosemirror-tables/dist/index.js.map +1 -0
  1032. package/node_modules/prosemirror-tables/package.json +80 -0
  1033. package/node_modules/prosemirror-tables/style/tables.css +48 -0
  1034. package/node_modules/prosemirror-trailing-node/LICENSE +21 -0
  1035. package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.cts +41 -0
  1036. package/node_modules/prosemirror-trailing-node/dist/_tsup-dts-rollup.d.ts +41 -0
  1037. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.cjs +70 -0
  1038. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.cts +2 -0
  1039. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.d.ts +2 -0
  1040. package/node_modules/prosemirror-trailing-node/dist/prosemirror-trailing-node.js +43 -0
  1041. package/node_modules/prosemirror-trailing-node/dist-types/index.d.ts +2 -0
  1042. package/node_modules/prosemirror-trailing-node/dist-types/trailing-node-plugin.d.ts +33 -0
  1043. package/node_modules/prosemirror-trailing-node/dist-types/tsconfig.tsbuildinfo +1 -0
  1044. package/node_modules/prosemirror-trailing-node/package.json +57 -0
  1045. package/node_modules/prosemirror-trailing-node/readme.md +55 -0
  1046. package/node_modules/prosemirror-transform/.tern-project +8 -0
  1047. package/node_modules/prosemirror-transform/CHANGELOG.md +502 -0
  1048. package/node_modules/prosemirror-transform/CONTRIBUTING.md +104 -0
  1049. package/node_modules/prosemirror-transform/LICENSE +19 -0
  1050. package/node_modules/prosemirror-transform/README.md +29 -0
  1051. package/node_modules/prosemirror-transform/dist/index.cjs +1888 -0
  1052. package/node_modules/prosemirror-transform/dist/index.d.cts +847 -0
  1053. package/node_modules/prosemirror-transform/dist/index.d.ts +847 -0
  1054. package/node_modules/prosemirror-transform/dist/index.js +2181 -0
  1055. package/node_modules/prosemirror-transform/package.json +37 -0
  1056. package/node_modules/prosemirror-transform/src/README.md +59 -0
  1057. package/node_modules/prosemirror-transform/src/attr_step.ts +98 -0
  1058. package/node_modules/prosemirror-transform/src/index.ts +11 -0
  1059. package/node_modules/prosemirror-transform/src/map.ts +284 -0
  1060. package/node_modules/prosemirror-transform/src/mark.ts +106 -0
  1061. package/node_modules/prosemirror-transform/src/mark_step.ts +224 -0
  1062. package/node_modules/prosemirror-transform/src/replace.ts +460 -0
  1063. package/node_modules/prosemirror-transform/src/replace_step.ts +178 -0
  1064. package/node_modules/prosemirror-transform/src/step.ts +97 -0
  1065. package/node_modules/prosemirror-transform/src/structure.ts +349 -0
  1066. package/node_modules/prosemirror-transform/src/transform.ts +271 -0
  1067. package/node_modules/prosemirror-view/.tern-project +8 -0
  1068. package/node_modules/prosemirror-view/CHANGELOG.md +2447 -0
  1069. package/node_modules/prosemirror-view/CONTRIBUTING.md +104 -0
  1070. package/node_modules/prosemirror-view/LICENSE +19 -0
  1071. package/node_modules/prosemirror-view/README.md +28 -0
  1072. package/node_modules/prosemirror-view/dist/index.cjs +5381 -0
  1073. package/node_modules/prosemirror-view/dist/index.d.cts +904 -0
  1074. package/node_modules/prosemirror-view/dist/index.d.ts +904 -0
  1075. package/node_modules/prosemirror-view/dist/index.js +5900 -0
  1076. package/node_modules/prosemirror-view/package.json +43 -0
  1077. package/node_modules/prosemirror-view/src/README.md +38 -0
  1078. package/node_modules/prosemirror-view/src/browser.ts +24 -0
  1079. package/node_modules/prosemirror-view/src/capturekeys.ts +345 -0
  1080. package/node_modules/prosemirror-view/src/clipboard.ts +263 -0
  1081. package/node_modules/prosemirror-view/src/decoration.ts +793 -0
  1082. package/node_modules/prosemirror-view/src/dom.ts +159 -0
  1083. package/node_modules/prosemirror-view/src/domchange.ts +383 -0
  1084. package/node_modules/prosemirror-view/src/domcoords.ts +515 -0
  1085. package/node_modules/prosemirror-view/src/domobserver.ts +392 -0
  1086. package/node_modules/prosemirror-view/src/index.ts +825 -0
  1087. package/node_modules/prosemirror-view/src/input.ts +830 -0
  1088. package/node_modules/prosemirror-view/src/selection.ts +216 -0
  1089. package/node_modules/prosemirror-view/src/viewdesc.ts +1590 -0
  1090. package/node_modules/prosemirror-view/style/prosemirror.css +54 -0
  1091. package/node_modules/punycode.js/LICENSE-MIT.txt +20 -0
  1092. package/node_modules/punycode.js/README.md +148 -0
  1093. package/node_modules/punycode.js/package.json +58 -0
  1094. package/node_modules/punycode.js/punycode.es6.js +444 -0
  1095. package/node_modules/punycode.js/punycode.js +443 -0
  1096. package/node_modules/rope-sequence/LICENSE +19 -0
  1097. package/node_modules/rope-sequence/README.md +63 -0
  1098. package/node_modules/rope-sequence/dist/index.cjs +209 -0
  1099. package/node_modules/rope-sequence/dist/index.d.cts +11 -0
  1100. package/node_modules/rope-sequence/dist/index.d.ts +11 -0
  1101. package/node_modules/rope-sequence/dist/index.js +207 -0
  1102. package/node_modules/rope-sequence/index.js +190 -0
  1103. package/node_modules/rope-sequence/package.json +34 -0
  1104. package/node_modules/rope-sequence/test.js +78 -0
  1105. package/node_modules/uc.micro/LICENSE.txt +20 -0
  1106. package/node_modules/uc.micro/README.md +14 -0
  1107. package/node_modules/uc.micro/build/index.cjs.js +20 -0
  1108. package/node_modules/uc.micro/categories/Cc/regex.mjs +1 -0
  1109. package/node_modules/uc.micro/categories/Cf/regex.mjs +1 -0
  1110. package/node_modules/uc.micro/categories/P/regex.mjs +1 -0
  1111. package/node_modules/uc.micro/categories/S/regex.mjs +1 -0
  1112. package/node_modules/uc.micro/categories/Z/regex.mjs +1 -0
  1113. package/node_modules/uc.micro/index.mjs +8 -0
  1114. package/node_modules/uc.micro/package.json +37 -0
  1115. package/node_modules/uc.micro/properties/Any/regex.mjs +1 -0
  1116. package/node_modules/use-sync-external-store/LICENSE +21 -0
  1117. package/node_modules/use-sync-external-store/README.md +5 -0
  1118. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +97 -0
  1119. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +85 -0
  1120. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +95 -0
  1121. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.development.js +88 -0
  1122. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.native.production.js +59 -0
  1123. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +66 -0
  1124. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +96 -0
  1125. package/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +84 -0
  1126. package/node_modules/use-sync-external-store/cjs/use-sync-external-store.development.js +27 -0
  1127. package/node_modules/use-sync-external-store/cjs/use-sync-external-store.production.js +13 -0
  1128. package/node_modules/use-sync-external-store/index.js +7 -0
  1129. package/node_modules/use-sync-external-store/package.json +43 -0
  1130. package/node_modules/use-sync-external-store/shim/index.js +7 -0
  1131. package/node_modules/use-sync-external-store/shim/index.native.js +7 -0
  1132. package/node_modules/use-sync-external-store/shim/with-selector.js +7 -0
  1133. package/node_modules/use-sync-external-store/with-selector.js +7 -0
  1134. package/node_modules/w3c-keyname/.tern-port +1 -0
  1135. package/node_modules/w3c-keyname/LICENSE +19 -0
  1136. package/node_modules/w3c-keyname/README.md +18 -0
  1137. package/node_modules/w3c-keyname/index.cjs +127 -0
  1138. package/node_modules/w3c-keyname/index.d.cts +5 -0
  1139. package/node_modules/w3c-keyname/index.d.ts +5 -0
  1140. package/node_modules/w3c-keyname/index.js +119 -0
  1141. package/node_modules/w3c-keyname/package.json +37 -0
  1142. package/package.json +120 -3
  1143. package/public-api.md +0 -1
  1144. package/dist/chat/tool-renderers/KbSearchRenderer.d.ts +0 -2
  1145. package/dist/chat/tool-renderers/kb-search-result.d.ts +0 -19
  1146. package/dist/chunk-T5WGKZN4.js.map +0 -1
  1147. package/dist/chunk-XULCQP3Q.js.map +0 -1
  1148. package/dist/rich-input/extensions/kb-mention.d.ts +0 -18
  1149. package/dist/rich-input/lib/kb-suggestions.d.ts +0 -37
  1150. /package/dist/{chunk-7IPINZHT.js.map → chunk-DPDXGYGM.js.map} +0 -0
@@ -0,0 +1,848 @@
1
+ import {Fragment} from "./fragment"
2
+ import {Slice} from "./replace"
3
+ import {Mark} from "./mark"
4
+ import {Node, TextNode} from "./node"
5
+ import {ContentMatch} from "./content"
6
+ import {ResolvedPos} from "./resolvedpos"
7
+ import {Schema, Attrs, NodeType, MarkType} from "./schema"
8
+ import {DOMNode} from "./dom"
9
+
10
+ /// These are the options recognized by the
11
+ /// [`parse`](#model.DOMParser.parse) and
12
+ /// [`parseSlice`](#model.DOMParser.parseSlice) methods.
13
+ export interface ParseOptions {
14
+ /// By default, whitespace is collapsed as per HTML's rules. Pass
15
+ /// `true` to preserve whitespace, but normalize newlines to
16
+ /// spaces or, if available, [line break replacements](#model.NodeSpec.linebreakReplacement),
17
+ /// and `"full"` to preserve whitespace entirely.
18
+ preserveWhitespace?: boolean | "full"
19
+
20
+ /// When given, the parser will, beside parsing the content,
21
+ /// record the document positions of the given DOM positions. It
22
+ /// will do so by writing to the objects, adding a `pos` property
23
+ /// that holds the document position. DOM positions that are not
24
+ /// in the parsed content will not be written to.
25
+ findPositions?: {node: DOMNode, offset: number, pos?: number}[]
26
+
27
+ /// The child node index to start parsing from.
28
+ from?: number
29
+
30
+ /// The child node index to stop parsing at.
31
+ to?: number
32
+
33
+ /// By default, the content is parsed into the schema's default
34
+ /// [top node type](#model.Schema.topNodeType). You can pass this
35
+ /// option to use the type and attributes from a different node
36
+ /// as the top container.
37
+ topNode?: Node
38
+
39
+ /// Provide the starting content match that content parsed into the
40
+ /// top node is matched against.
41
+ topMatch?: ContentMatch
42
+
43
+ /// A set of additional nodes to count as
44
+ /// [context](#model.GenericParseRule.context) when parsing, above the
45
+ /// given [top node](#model.ParseOptions.topNode).
46
+ context?: ResolvedPos
47
+
48
+ /// @internal
49
+ ruleFromNode?: (node: DOMNode) => Omit<TagParseRule, "tag"> | null
50
+ /// @internal
51
+ topOpen?: boolean
52
+ }
53
+
54
+ /// Fields that may be present in both [tag](#model.TagParseRule) and
55
+ /// [style](#model.StyleParseRule) parse rules.
56
+ export interface GenericParseRule {
57
+ /// Can be used to change the order in which the parse rules in a
58
+ /// schema are tried. Those with higher priority come first. Rules
59
+ /// without a priority are counted as having priority 50. This
60
+ /// property is only meaningful in a schema—when directly
61
+ /// constructing a parser, the order of the rule array is used.
62
+ priority?: number
63
+
64
+ /// By default, when a rule matches an element or style, no further
65
+ /// rules get a chance to match it. By setting this to `false`, you
66
+ /// indicate that even when this rule matches, other rules that come
67
+ /// after it should also run.
68
+ consuming?: boolean
69
+
70
+ /// When given, restricts this rule to only match when the current
71
+ /// context—the parent nodes into which the content is being
72
+ /// parsed—matches this expression. Should contain one or more node
73
+ /// names or node group names followed by single or double slashes.
74
+ /// For example `"paragraph/"` means the rule only matches when the
75
+ /// parent node is a paragraph, `"blockquote/paragraph/"` restricts
76
+ /// it to be in a paragraph that is inside a blockquote, and
77
+ /// `"section//"` matches any position inside a section—a double
78
+ /// slash matches any sequence of ancestor nodes. To allow multiple
79
+ /// different contexts, they can be separated by a pipe (`|`)
80
+ /// character, as in `"blockquote/|list_item/"`.
81
+ context?: string
82
+
83
+ /// The name of the mark type to wrap the matched content in.
84
+ mark?: string
85
+
86
+ /// When true, ignore content that matches this rule.
87
+ ignore?: boolean
88
+
89
+ /// When true, finding an element that matches this rule will close
90
+ /// the current node.
91
+ closeParent?: boolean
92
+
93
+ /// When true, ignore the node that matches this rule, but do parse
94
+ /// its content.
95
+ skip?: boolean
96
+
97
+ /// Attributes for the node or mark created by this rule. When
98
+ /// `getAttrs` is provided, it takes precedence.
99
+ attrs?: Attrs
100
+ }
101
+
102
+ /// Parse rule targeting a DOM element.
103
+ export interface TagParseRule extends GenericParseRule {
104
+ /// A CSS selector describing the kind of DOM elements to match.
105
+ tag: string
106
+
107
+ /// The namespace to match. Nodes are only matched when the
108
+ /// namespace matches or this property is null.
109
+ namespace?: string
110
+
111
+ /// The name of the node type to create when this rule matches. Each
112
+ /// rule should have either a `node`, `mark`, or `ignore` property
113
+ /// (except when it appears in a [node](#model.NodeSpec.parseDOM) or
114
+ /// [mark spec](#model.MarkSpec.parseDOM), in which case the `node`
115
+ /// or `mark` property will be derived from its position).
116
+ node?: string
117
+
118
+ /// A function used to compute the attributes for the node or mark
119
+ /// created by this rule. Can also be used to describe further
120
+ /// conditions the DOM element or style must match. When it returns
121
+ /// `false`, the rule won't match. When it returns null or undefined,
122
+ /// that is interpreted as an empty/default set of attributes.
123
+ getAttrs?: (node: HTMLElement) => Attrs | false | null
124
+
125
+ /// For rules that produce non-leaf nodes, by default the content of
126
+ /// the DOM element is parsed as content of the node. If the child
127
+ /// nodes are in a descendent node, this may be a CSS selector
128
+ /// string that the parser must use to find the actual content
129
+ /// element, or a function that returns the actual content element
130
+ /// to the parser.
131
+ contentElement?: string | HTMLElement | ((node: HTMLElement) => HTMLElement)
132
+
133
+ /// Can be used to override the content of a matched node. When
134
+ /// present, instead of parsing the node's child nodes, the result of
135
+ /// this function is used.
136
+ getContent?: (node: DOMNode, schema: Schema) => Fragment
137
+
138
+ /// Controls whether whitespace should be preserved when parsing the
139
+ /// content inside the matched element. `false` means whitespace may
140
+ /// be collapsed, `true` means that whitespace should be preserved
141
+ /// but newlines normalized to spaces, and `"full"` means that
142
+ /// newlines should also be preserved.
143
+ preserveWhitespace?: boolean | "full"
144
+ }
145
+
146
+ /// A parse rule targeting a style property.
147
+ export interface StyleParseRule extends GenericParseRule {
148
+ /// A CSS property name to match. This rule will match inline styles
149
+ /// that list that property. May also have the form
150
+ /// `"property=value"`, in which case the rule only matches if the
151
+ /// property's value exactly matches the given value. (For more
152
+ /// complicated filters, use [`getAttrs`](#model.StyleParseRule.getAttrs)
153
+ /// and return false to indicate that the match failed.) Rules
154
+ /// matching styles may only produce [marks](#model.GenericParseRule.mark),
155
+ /// not nodes.
156
+ style: string
157
+
158
+ /// Given to make TS see ParseRule as a tagged union @hide
159
+ tag?: undefined
160
+
161
+ /// Style rules can remove marks from the set of active marks.
162
+ clearMark?: (mark: Mark) => boolean
163
+
164
+ /// A function used to compute the attributes for the node or mark
165
+ /// created by this rule. Called with the style's value.
166
+ getAttrs?: (node: string) => Attrs | false | null
167
+ }
168
+
169
+ /// A value that describes how to parse a given DOM node or inline
170
+ /// style as a ProseMirror node or mark.
171
+ export type ParseRule = TagParseRule | StyleParseRule
172
+
173
+ function isTagRule(rule: ParseRule): rule is TagParseRule { return (rule as TagParseRule).tag != null }
174
+ function isStyleRule(rule: ParseRule): rule is StyleParseRule { return (rule as StyleParseRule).style != null }
175
+
176
+ /// A DOM parser represents a strategy for parsing DOM content into a
177
+ /// ProseMirror document conforming to a given schema. Its behavior is
178
+ /// defined by an array of [rules](#model.ParseRule).
179
+ export class DOMParser {
180
+ /// @internal
181
+ tags: TagParseRule[] = []
182
+ /// @internal
183
+ styles: StyleParseRule[] = []
184
+ /// @internal
185
+ matchedStyles: readonly string[]
186
+ /// @internal
187
+ normalizeLists: boolean
188
+
189
+ /// Create a parser that targets the given schema, using the given
190
+ /// parsing rules.
191
+ constructor(
192
+ /// The schema into which the parser parses.
193
+ readonly schema: Schema,
194
+ /// The set of [parse rules](#model.ParseRule) that the parser
195
+ /// uses, in order of precedence.
196
+ readonly rules: readonly ParseRule[]
197
+ ) {
198
+ let matchedStyles: string[] = this.matchedStyles = []
199
+ rules.forEach(rule => {
200
+ if (isTagRule(rule)) {
201
+ this.tags.push(rule)
202
+ } else if (isStyleRule(rule)) {
203
+ let prop = /[^=]*/.exec(rule.style)![0]
204
+ if (matchedStyles.indexOf(prop) < 0) matchedStyles.push(prop)
205
+ this.styles.push(rule)
206
+ }
207
+ })
208
+
209
+ // Only normalize list elements when lists in the schema can't directly contain themselves
210
+ this.normalizeLists = !this.tags.some(r => {
211
+ if (!/^(ul|ol)\b/.test(r.tag!) || !r.node) return false
212
+ let node = schema.nodes[r.node]
213
+ return node.contentMatch.matchType(node)
214
+ })
215
+ }
216
+
217
+ /// Parse a document from the content of a DOM node.
218
+ parse(dom: DOMNode, options: ParseOptions = {}): Node {
219
+ let context = new ParseContext(this, options, false)
220
+ context.addAll(dom, Mark.none, options.from, options.to)
221
+ return context.finish() as Node
222
+ }
223
+
224
+ /// Parses the content of the given DOM node, like
225
+ /// [`parse`](#model.DOMParser.parse), and takes the same set of
226
+ /// options. But unlike that method, which produces a whole node,
227
+ /// this one returns a slice that is open at the sides, meaning that
228
+ /// the schema constraints aren't applied to the start of nodes to
229
+ /// the left of the input and the end of nodes at the end.
230
+ parseSlice(dom: DOMNode, options: ParseOptions = {}) {
231
+ let context = new ParseContext(this, options, true)
232
+ context.addAll(dom, Mark.none, options.from, options.to)
233
+ return Slice.maxOpen(context.finish() as Fragment)
234
+ }
235
+
236
+ /// @internal
237
+ matchTag(dom: DOMNode, context: ParseContext, after?: TagParseRule) {
238
+ for (let i = after ? this.tags.indexOf(after) + 1 : 0; i < this.tags.length; i++) {
239
+ let rule = this.tags[i]
240
+ if (matches(dom, rule.tag!) &&
241
+ (rule.namespace === undefined || (dom as HTMLElement).namespaceURI == rule.namespace) &&
242
+ (!rule.context || context.matchesContext(rule.context))) {
243
+ if (rule.getAttrs) {
244
+ let result = rule.getAttrs(dom as HTMLElement)
245
+ if (result === false) continue
246
+ rule.attrs = result || undefined
247
+ }
248
+ return rule
249
+ }
250
+ }
251
+ }
252
+
253
+ /// @internal
254
+ matchStyle(prop: string, value: string, context: ParseContext, after?: StyleParseRule) {
255
+ for (let i = after ? this.styles.indexOf(after) + 1 : 0; i < this.styles.length; i++) {
256
+ let rule = this.styles[i], style = rule.style!
257
+ if (style.indexOf(prop) != 0 ||
258
+ rule.context && !context.matchesContext(rule.context) ||
259
+ // Test that the style string either precisely matches the prop,
260
+ // or has an '=' sign after the prop, followed by the given
261
+ // value.
262
+ style.length > prop.length &&
263
+ (style.charCodeAt(prop.length) != 61 || style.slice(prop.length + 1) != value))
264
+ continue
265
+ if (rule.getAttrs) {
266
+ let result = rule.getAttrs(value)
267
+ if (result === false) continue
268
+ rule.attrs = result || undefined
269
+ }
270
+ return rule
271
+ }
272
+ }
273
+
274
+ /// @internal
275
+ static schemaRules(schema: Schema) {
276
+ let result: ParseRule[] = []
277
+ function insert(rule: ParseRule) {
278
+ let priority = rule.priority == null ? 50 : rule.priority, i = 0
279
+ for (; i < result.length; i++) {
280
+ let next = result[i], nextPriority = next.priority == null ? 50 : next.priority
281
+ if (nextPriority < priority) break
282
+ }
283
+ result.splice(i, 0, rule)
284
+ }
285
+
286
+ for (let name in schema.marks) {
287
+ let rules = schema.marks[name].spec.parseDOM
288
+ if (rules) rules.forEach(rule => {
289
+ insert(rule = copy(rule) as ParseRule)
290
+ if (!(rule.mark || rule.ignore || (rule as StyleParseRule).clearMark))
291
+ rule.mark = name
292
+ })
293
+ }
294
+ for (let name in schema.nodes) {
295
+ let rules = schema.nodes[name].spec.parseDOM
296
+ if (rules) rules.forEach(rule => {
297
+ insert(rule = copy(rule) as TagParseRule)
298
+ if (!((rule as TagParseRule).node || rule.ignore || rule.mark))
299
+ rule.node = name
300
+ })
301
+ }
302
+ return result
303
+ }
304
+
305
+ /// Construct a DOM parser using the parsing rules listed in a
306
+ /// schema's [node specs](#model.NodeSpec.parseDOM), reordered by
307
+ /// [priority](#model.GenericParseRule.priority).
308
+ static fromSchema(schema: Schema) {
309
+ return schema.cached.domParser as DOMParser ||
310
+ (schema.cached.domParser = new DOMParser(schema, DOMParser.schemaRules(schema)))
311
+ }
312
+ }
313
+
314
+ const blockTags: {[tagName: string]: boolean} = {
315
+ address: true, article: true, aside: true, blockquote: true, canvas: true,
316
+ dd: true, div: true, dl: true, fieldset: true, figcaption: true, figure: true,
317
+ footer: true, form: true, h1: true, h2: true, h3: true, h4: true, h5: true,
318
+ h6: true, header: true, hgroup: true, hr: true, li: true, noscript: true, ol: true,
319
+ output: true, p: true, pre: true, section: true, table: true, tfoot: true, ul: true
320
+ }
321
+
322
+ const ignoreTags: {[tagName: string]: boolean} = {
323
+ head: true, noscript: true, object: true, script: true, style: true, title: true
324
+ }
325
+
326
+ const listTags: {[tagName: string]: boolean} = {ol: true, ul: true}
327
+
328
+ // Using a bitfield for node context options
329
+ const OPT_PRESERVE_WS = 1, OPT_PRESERVE_WS_FULL = 2, OPT_OPEN_LEFT = 4
330
+
331
+ function wsOptionsFor(type: NodeType | null, preserveWhitespace: boolean | "full" | undefined, base: number) {
332
+ if (preserveWhitespace != null) return (preserveWhitespace ? OPT_PRESERVE_WS : 0) |
333
+ (preserveWhitespace === "full" ? OPT_PRESERVE_WS_FULL : 0)
334
+ return type && type.whitespace == "pre" ? OPT_PRESERVE_WS | OPT_PRESERVE_WS_FULL : base & ~OPT_OPEN_LEFT
335
+ }
336
+
337
+ class NodeContext {
338
+ match: ContentMatch | null
339
+ content: Node[] = []
340
+
341
+ // Marks applied to the node's children
342
+ activeMarks: readonly Mark[] = Mark.none
343
+
344
+ constructor(
345
+ readonly type: NodeType | null,
346
+ readonly attrs: Attrs | null,
347
+ readonly marks: readonly Mark[],
348
+ readonly solid: boolean,
349
+ match: ContentMatch | null,
350
+ public options: number
351
+ ) {
352
+ this.match = match || (options & OPT_OPEN_LEFT ? null : type!.contentMatch)
353
+ }
354
+
355
+ findWrapping(node: Node) {
356
+ if (!this.match) {
357
+ if (!this.type) return []
358
+ let fill = this.type.contentMatch.fillBefore(Fragment.from(node))
359
+ if (fill) {
360
+ this.match = this.type.contentMatch.matchFragment(fill)!
361
+ } else {
362
+ let start = this.type.contentMatch, wrap
363
+ if (wrap = start.findWrapping(node.type)) {
364
+ this.match = start
365
+ return wrap
366
+ } else {
367
+ return null
368
+ }
369
+ }
370
+ }
371
+ return this.match.findWrapping(node.type)
372
+ }
373
+
374
+ finish(openEnd: boolean): Node | Fragment {
375
+ if (!(this.options & OPT_PRESERVE_WS)) { // Strip trailing whitespace
376
+ let last = this.content[this.content.length - 1], m
377
+ if (last && last.isText && (m = /[ \t\r\n\u000c]+$/.exec(last.text!))) {
378
+ let text = last as TextNode
379
+ if (last.text!.length == m[0].length) this.content.pop()
380
+ else this.content[this.content.length - 1] = text.withText(text.text.slice(0, text.text.length - m[0].length))
381
+ }
382
+ }
383
+ let content = Fragment.from(this.content)
384
+ if (!openEnd && this.match)
385
+ content = content.append(this.match.fillBefore(Fragment.empty, true)!)
386
+ return this.type ? this.type.create(this.attrs, content, this.marks) : content
387
+ }
388
+
389
+ inlineContext(node: DOMNode) {
390
+ if (this.type) return this.type.inlineContent
391
+ if (this.content.length) return this.content[0].isInline
392
+ return node.parentNode && !blockTags.hasOwnProperty(node.parentNode.nodeName.toLowerCase())
393
+ }
394
+ }
395
+
396
+ class ParseContext {
397
+ open: number = 0
398
+ find: {node: DOMNode, offset: number, pos?: number}[] | undefined
399
+ needsBlock: boolean
400
+ nodes: NodeContext[]
401
+ localPreserveWS = false
402
+
403
+ constructor(
404
+ // The parser we are using.
405
+ readonly parser: DOMParser,
406
+ // The options passed to this parse.
407
+ readonly options: ParseOptions,
408
+ readonly isOpen: boolean
409
+ ) {
410
+ let topNode = options.topNode, topContext: NodeContext
411
+ let topOptions = wsOptionsFor(null, options.preserveWhitespace, 0) | (isOpen ? OPT_OPEN_LEFT : 0)
412
+ if (topNode)
413
+ topContext = new NodeContext(topNode.type, topNode.attrs, Mark.none, true,
414
+ options.topMatch || topNode.type.contentMatch, topOptions)
415
+ else if (isOpen)
416
+ topContext = new NodeContext(null, null, Mark.none, true, null, topOptions)
417
+ else
418
+ topContext = new NodeContext(parser.schema.topNodeType, null, Mark.none, true, null, topOptions)
419
+ this.nodes = [topContext]
420
+ this.find = options.findPositions
421
+ this.needsBlock = false
422
+ }
423
+
424
+ get top() {
425
+ return this.nodes[this.open]
426
+ }
427
+
428
+ // Add a DOM node to the content. Text is inserted as text node,
429
+ // otherwise, the node is passed to `addElement` or, if it has a
430
+ // `style` attribute, `addElementWithStyles`.
431
+ addDOM(dom: DOMNode, marks: readonly Mark[]) {
432
+ if (dom.nodeType == 3) this.addTextNode(dom as Text, marks)
433
+ else if (dom.nodeType == 1) this.addElement(dom as HTMLElement, marks)
434
+ }
435
+
436
+ addTextNode(dom: Text, marks: readonly Mark[]) {
437
+ let value = dom.nodeValue!
438
+ let top = this.top, preserveWS = (top.options & OPT_PRESERVE_WS_FULL) ? "full"
439
+ : this.localPreserveWS || (top.options & OPT_PRESERVE_WS) > 0
440
+ let {schema} = this.parser
441
+ if (preserveWS === "full" ||
442
+ top.inlineContext(dom) ||
443
+ /[^ \t\r\n\u000c]/.test(value)) {
444
+ if (!preserveWS) {
445
+ value = value.replace(/[ \t\r\n\u000c]+/g, " ")
446
+ // If this starts with whitespace, and there is no node before it, or
447
+ // a hard break, or a text node that ends with whitespace, strip the
448
+ // leading space.
449
+ if (/^[ \t\r\n\u000c]/.test(value) && this.open == this.nodes.length - 1) {
450
+ let nodeBefore = top.content[top.content.length - 1]
451
+ let domNodeBefore = dom.previousSibling
452
+ if (!nodeBefore ||
453
+ (domNodeBefore && domNodeBefore.nodeName == 'BR') ||
454
+ (nodeBefore.isText && /[ \t\r\n\u000c]$/.test(nodeBefore.text!)))
455
+ value = value.slice(1)
456
+ }
457
+ } else if (preserveWS === "full") {
458
+ value = value.replace(/\r\n?/g, "\n")
459
+ } else if (schema.linebreakReplacement && /[\r\n]/.test(value) && this.top.findWrapping(schema.linebreakReplacement.create())) {
460
+ let lines = value.split(/\r?\n|\r/)
461
+ for (let i = 0; i < lines.length; i++) {
462
+ if (i) this.insertNode(schema.linebreakReplacement.create(), marks, true)
463
+ if (lines[i]) this.insertNode(schema.text(lines[i]), marks, !/\S/.test(lines[i]))
464
+ }
465
+ value = ""
466
+ } else {
467
+ value = value.replace(/\r?\n|\r/g, " ")
468
+ }
469
+ if (value) this.insertNode(schema.text(value), marks, !/\S/.test(value))
470
+ this.findInText(dom)
471
+ } else {
472
+ this.findInside(dom)
473
+ }
474
+ }
475
+
476
+ // Try to find a handler for the given tag and use that to parse. If
477
+ // none is found, the element's content nodes are added directly.
478
+ addElement(dom: HTMLElement, marks: readonly Mark[], matchAfter?: TagParseRule) {
479
+ let outerWS = this.localPreserveWS, top = this.top
480
+ if (dom.tagName == "PRE" || /pre/.test(dom.style && dom.style.whiteSpace))
481
+ this.localPreserveWS = true
482
+ let name = dom.nodeName.toLowerCase(), ruleID: TagParseRule | undefined
483
+ if (listTags.hasOwnProperty(name) && this.parser.normalizeLists) normalizeList(dom)
484
+ let rule = (this.options.ruleFromNode && this.options.ruleFromNode(dom)) ||
485
+ (ruleID = this.parser.matchTag(dom, this, matchAfter))
486
+ out:
487
+ if (rule ? rule.ignore : ignoreTags.hasOwnProperty(name)) {
488
+ this.findInside(dom)
489
+ this.ignoreFallback(dom, marks)
490
+ } else if (!rule || rule.skip || rule.closeParent) {
491
+ if (rule && rule.closeParent) this.open = Math.max(0, this.open - 1)
492
+ else if (rule && (rule.skip as any).nodeType) dom = rule.skip as any as HTMLElement
493
+ let sync, oldNeedsBlock = this.needsBlock
494
+ if (blockTags.hasOwnProperty(name)) {
495
+ if (top.content.length && top.content[0].isInline && this.open) {
496
+ this.open--
497
+ top = this.top
498
+ }
499
+ sync = true
500
+ if (!top.type) this.needsBlock = true
501
+ } else if (!dom.firstChild) {
502
+ this.leafFallback(dom, marks)
503
+ break out
504
+ }
505
+ let innerMarks = rule && rule.skip ? marks : this.readStyles(dom, marks)
506
+ if (innerMarks) this.addAll(dom, innerMarks)
507
+ if (sync) this.sync(top)
508
+ this.needsBlock = oldNeedsBlock
509
+ } else {
510
+ let innerMarks = this.readStyles(dom, marks)
511
+ if (innerMarks)
512
+ this.addElementByRule(dom, rule as TagParseRule, innerMarks, rule!.consuming === false ? ruleID : undefined)
513
+ }
514
+ this.localPreserveWS = outerWS
515
+ }
516
+
517
+ // Called for leaf DOM nodes that would otherwise be ignored
518
+ leafFallback(dom: DOMNode, marks: readonly Mark[]) {
519
+ if (dom.nodeName == "BR" && this.top.type && this.top.type.inlineContent)
520
+ this.addTextNode(dom.ownerDocument!.createTextNode("\n"), marks)
521
+ }
522
+
523
+ // Called for ignored nodes
524
+ ignoreFallback(dom: DOMNode, marks: readonly Mark[]) {
525
+ // Ignored BR nodes should at least create an inline context
526
+ if (dom.nodeName == "BR" && (!this.top.type || !this.top.type.inlineContent))
527
+ this.findPlace(this.parser.schema.text("-"), marks, true)
528
+ }
529
+
530
+ // Run any style parser associated with the node's styles. Either
531
+ // return an updated array of marks, or null to indicate some of the
532
+ // styles had a rule with `ignore` set.
533
+ readStyles(dom: HTMLElement, marks: readonly Mark[]) {
534
+ let styles = dom.style
535
+ // Because many properties will only show up in 'normalized' form
536
+ // in `style.item` (i.e. text-decoration becomes
537
+ // text-decoration-line, text-decoration-color, etc), we directly
538
+ // query the styles mentioned in our rules instead of iterating
539
+ // over the items.
540
+ if (styles && styles.length) for (let i = 0; i < this.parser.matchedStyles.length; i++) {
541
+ let name = this.parser.matchedStyles[i], value = styles.getPropertyValue(name)
542
+ if (value) for (let after: StyleParseRule | undefined = undefined;;) {
543
+ let rule = this.parser.matchStyle(name, value, this, after)
544
+ if (!rule) break
545
+ if (rule.ignore) return null
546
+ if (rule.clearMark)
547
+ marks = marks.filter(m => !rule!.clearMark!(m))
548
+ else
549
+ marks = marks.concat(this.parser.schema.marks[rule.mark!].create(rule.attrs))
550
+ if (rule.consuming === false) after = rule
551
+ else break
552
+ }
553
+ }
554
+ return marks
555
+ }
556
+
557
+ // Look up a handler for the given node. If none are found, return
558
+ // false. Otherwise, apply it, use its return value to drive the way
559
+ // the node's content is wrapped, and return true.
560
+ addElementByRule(dom: HTMLElement, rule: TagParseRule, marks: readonly Mark[], continueAfter?: TagParseRule) {
561
+ let sync, nodeType
562
+ if (rule.node) {
563
+ nodeType = this.parser.schema.nodes[rule.node]
564
+ if (!nodeType.isLeaf) {
565
+ let inner = this.enter(nodeType, rule.attrs || null, marks, rule.preserveWhitespace)
566
+ if (inner) {
567
+ sync = true
568
+ marks = inner
569
+ }
570
+ } else if (!this.insertNode(nodeType.create(rule.attrs), marks, dom.nodeName == "BR")) {
571
+ this.leafFallback(dom, marks)
572
+ }
573
+ } else {
574
+ let markType = this.parser.schema.marks[rule.mark!]
575
+ marks = marks.concat(markType.create(rule.attrs))
576
+ }
577
+ let startIn = this.top
578
+
579
+ if (nodeType && nodeType.isLeaf) {
580
+ this.findInside(dom)
581
+ } else if (continueAfter) {
582
+ this.addElement(dom, marks, continueAfter)
583
+ } else if (rule.getContent) {
584
+ this.findInside(dom)
585
+ rule.getContent(dom, this.parser.schema).forEach(node => this.insertNode(node, marks, false))
586
+ } else {
587
+ let contentDOM = dom
588
+ if (typeof rule.contentElement == "string") contentDOM = dom.querySelector(rule.contentElement)!
589
+ else if (typeof rule.contentElement == "function") contentDOM = rule.contentElement(dom)
590
+ else if (rule.contentElement) contentDOM = rule.contentElement
591
+ this.findAround(dom, contentDOM, true)
592
+ this.addAll(contentDOM, marks)
593
+ this.findAround(dom, contentDOM, false)
594
+ }
595
+ if (sync && this.sync(startIn)) this.open--
596
+ }
597
+
598
+ // Add all child nodes between `startIndex` and `endIndex` (or the
599
+ // whole node, if not given). If `sync` is passed, use it to
600
+ // synchronize after every block element.
601
+ addAll(parent: DOMNode, marks: readonly Mark[], startIndex?: number, endIndex?: number) {
602
+ let index = startIndex || 0
603
+ for (let dom = startIndex ? parent.childNodes[startIndex] : parent.firstChild,
604
+ end = endIndex == null ? null : parent.childNodes[endIndex];
605
+ dom != end; dom = dom!.nextSibling, ++index) {
606
+ this.findAtPoint(parent, index)
607
+ this.addDOM(dom!, marks)
608
+ }
609
+ this.findAtPoint(parent, index)
610
+ }
611
+
612
+ // Try to find a way to fit the given node type into the current
613
+ // context. May add intermediate wrappers and/or leave non-solid
614
+ // nodes that we're in.
615
+ findPlace(node: Node, marks: readonly Mark[], cautious: boolean) {
616
+ let route, sync: NodeContext | undefined
617
+ for (let depth = this.open, penalty = 0; depth >= 0; depth--) {
618
+ let cx = this.nodes[depth]
619
+ let found = cx.findWrapping(node)
620
+ if (found && (!route || route.length > found.length + penalty)) {
621
+ route = found
622
+ sync = cx
623
+ if (!found.length) break
624
+ }
625
+ if (cx.solid) {
626
+ if (cautious) break
627
+ penalty += 2
628
+ }
629
+ }
630
+ if (!route) return null
631
+ this.sync(sync!)
632
+ for (let i = 0; i < route.length; i++)
633
+ marks = this.enterInner(route[i], null, marks, false)
634
+ return marks
635
+ }
636
+
637
+ // Try to insert the given node, adjusting the context when needed.
638
+ insertNode(node: Node, marks: readonly Mark[], cautious: boolean) {
639
+ if (node.isInline && this.needsBlock && !this.top.type) {
640
+ let block = this.textblockFromContext()
641
+ if (block) marks = this.enterInner(block, null, marks)
642
+ }
643
+ let innerMarks = this.findPlace(node, marks, cautious)
644
+ if (innerMarks) {
645
+ this.closeExtra()
646
+ let top = this.top
647
+ if (top.match) top.match = top.match.matchType(node.type)
648
+ let nodeMarks = Mark.none
649
+ for (let m of innerMarks.concat(node.marks))
650
+ if (top.type ? top.type.allowsMarkType(m.type) : markMayApply(m.type, node.type))
651
+ nodeMarks = m.addToSet(nodeMarks)
652
+ top.content.push(node.mark(nodeMarks))
653
+ return true
654
+ }
655
+ return false
656
+ }
657
+
658
+ // Try to start a node of the given type, adjusting the context when
659
+ // necessary.
660
+ enter(type: NodeType, attrs: Attrs | null, marks: readonly Mark[], preserveWS?: boolean | "full") {
661
+ let innerMarks = this.findPlace(type.create(attrs), marks, false)
662
+ if (innerMarks) innerMarks = this.enterInner(type, attrs, marks, true, preserveWS)
663
+ return innerMarks
664
+ }
665
+
666
+ // Open a node of the given type
667
+ enterInner(type: NodeType, attrs: Attrs | null, marks: readonly Mark[],
668
+ solid: boolean = false, preserveWS?: boolean | "full") {
669
+ this.closeExtra()
670
+ let top = this.top
671
+ top.match = top.match && top.match.matchType(type)
672
+ let options = wsOptionsFor(type, preserveWS, top.options)
673
+ if ((top.options & OPT_OPEN_LEFT) && top.content.length == 0) options |= OPT_OPEN_LEFT
674
+ let applyMarks = Mark.none
675
+ marks = marks.filter(m => {
676
+ if (top.type ? top.type.allowsMarkType(m.type) : markMayApply(m.type, type)) {
677
+ applyMarks = m.addToSet(applyMarks)
678
+ return false
679
+ }
680
+ return true
681
+ })
682
+ this.nodes.push(new NodeContext(type, attrs, applyMarks, solid, null, options))
683
+ this.open++
684
+ return marks
685
+ }
686
+
687
+ // Make sure all nodes above this.open are finished and added to
688
+ // their parents
689
+ closeExtra(openEnd = false) {
690
+ let i = this.nodes.length - 1
691
+ if (i > this.open) {
692
+ for (; i > this.open; i--) this.nodes[i - 1].content.push(this.nodes[i].finish(openEnd) as Node)
693
+ this.nodes.length = this.open + 1
694
+ }
695
+ }
696
+
697
+ finish() {
698
+ this.open = 0
699
+ this.closeExtra(this.isOpen)
700
+ return this.nodes[0].finish(!!(this.isOpen || this.options.topOpen))
701
+ }
702
+
703
+ sync(to: NodeContext) {
704
+ for (let i = this.open; i >= 0; i--) {
705
+ if (this.nodes[i] == to) {
706
+ this.open = i
707
+ return true
708
+ } else if (this.localPreserveWS) {
709
+ this.nodes[i].options |= OPT_PRESERVE_WS
710
+ }
711
+ }
712
+ return false
713
+ }
714
+
715
+ get currentPos() {
716
+ this.closeExtra()
717
+ let pos = 0
718
+ for (let i = this.open; i >= 0; i--) {
719
+ let content = this.nodes[i].content
720
+ for (let j = content.length - 1; j >= 0; j--)
721
+ pos += content[j].nodeSize
722
+ if (i) pos++
723
+ }
724
+ return pos
725
+ }
726
+
727
+ findAtPoint(parent: DOMNode, offset: number) {
728
+ if (this.find) for (let i = 0; i < this.find.length; i++) {
729
+ if (this.find[i].node == parent && this.find[i].offset == offset)
730
+ this.find[i].pos = this.currentPos
731
+ }
732
+ }
733
+
734
+ findInside(parent: DOMNode) {
735
+ if (this.find) for (let i = 0; i < this.find.length; i++) {
736
+ if (this.find[i].pos == null && parent.nodeType == 1 && parent.contains(this.find[i].node))
737
+ this.find[i].pos = this.currentPos
738
+ }
739
+ }
740
+
741
+ findAround(parent: DOMNode, content: DOMNode, before: boolean) {
742
+ if (parent != content && this.find) for (let i = 0; i < this.find.length; i++) {
743
+ if (this.find[i].pos == null && parent.nodeType == 1 && parent.contains(this.find[i].node)) {
744
+ let pos = content.compareDocumentPosition(this.find[i].node)
745
+ if (pos & (before ? 2 : 4))
746
+ this.find[i].pos = this.currentPos
747
+ }
748
+ }
749
+ }
750
+
751
+ findInText(textNode: Text) {
752
+ if (this.find) for (let i = 0; i < this.find.length; i++) {
753
+ if (this.find[i].node == textNode)
754
+ this.find[i].pos = this.currentPos - (textNode.nodeValue!.length - this.find[i].offset)
755
+ }
756
+ }
757
+
758
+ // Determines whether the given context string matches this context.
759
+ matchesContext(context: string) {
760
+ if (context.indexOf("|") > -1)
761
+ return context.split(/\s*\|\s*/).some(this.matchesContext, this)
762
+
763
+ let parts = context.split("/")
764
+ let option = this.options.context
765
+ let useRoot = !this.isOpen && (!option || option.parent.type == this.nodes[0].type)
766
+ let minDepth = -(option ? option.depth + 1 : 0) + (useRoot ? 0 : 1)
767
+ let match = (i: number, depth: number) => {
768
+ for (; i >= 0; i--) {
769
+ let part = parts[i]
770
+ if (part == "") {
771
+ if (i == parts.length - 1 || i == 0) continue
772
+ for (; depth >= minDepth; depth--)
773
+ if (match(i - 1, depth)) return true
774
+ return false
775
+ } else {
776
+ let next = depth > 0 || (depth == 0 && useRoot) ? this.nodes[depth].type
777
+ : option && depth >= minDepth ? option.node(depth - minDepth).type
778
+ : null
779
+ if (!next || (next.name != part && !next.isInGroup(part)))
780
+ return false
781
+ depth--
782
+ }
783
+ }
784
+ return true
785
+ }
786
+ return match(parts.length - 1, this.open)
787
+ }
788
+
789
+ textblockFromContext() {
790
+ let $context = this.options.context
791
+ if ($context) for (let d = $context.depth; d >= 0; d--) {
792
+ let deflt = $context.node(d).contentMatchAt($context.indexAfter(d)).defaultType
793
+ if (deflt && deflt.isTextblock && deflt.defaultAttrs) return deflt
794
+ }
795
+ for (let name in this.parser.schema.nodes) {
796
+ let type = this.parser.schema.nodes[name]
797
+ if (type.isTextblock && type.defaultAttrs) return type
798
+ }
799
+ }
800
+ }
801
+
802
+ // Kludge to work around directly nested list nodes produced by some
803
+ // tools and allowed by browsers to mean that the nested list is
804
+ // actually part of the list item above it.
805
+ function normalizeList(dom: DOMNode) {
806
+ for (let child = dom.firstChild, prevItem: ChildNode | null = null; child; child = child.nextSibling) {
807
+ let name = child.nodeType == 1 ? child.nodeName.toLowerCase() : null
808
+ if (name && listTags.hasOwnProperty(name) && prevItem) {
809
+ prevItem.appendChild(child)
810
+ child = prevItem
811
+ } else if (name == "li") {
812
+ prevItem = child
813
+ } else if (name) {
814
+ prevItem = null
815
+ }
816
+ }
817
+ }
818
+
819
+ // Apply a CSS selector.
820
+ function matches(dom: any, selector: string): boolean {
821
+ return (dom.matches || dom.msMatchesSelector || dom.webkitMatchesSelector || dom.mozMatchesSelector).call(dom, selector)
822
+ }
823
+
824
+ function copy(obj: {[prop: string]: any}) {
825
+ let copy: {[prop: string]: any} = {}
826
+ for (let prop in obj) copy[prop] = obj[prop]
827
+ return copy
828
+ }
829
+
830
+ // Used when finding a mark at the top level of a fragment parse.
831
+ // Checks whether it would be reasonable to apply a given mark type to
832
+ // a given node, by looking at the way the mark occurs in the schema.
833
+ function markMayApply(markType: MarkType, nodeType: NodeType) {
834
+ let nodes = nodeType.schema.nodes
835
+ for (let name in nodes) {
836
+ let parent = nodes[name]
837
+ if (!parent.allowsMarkType(markType)) continue
838
+ let seen: ContentMatch[] = [], scan = (match: ContentMatch) => {
839
+ seen.push(match)
840
+ for (let i = 0; i < match.edgeCount; i++) {
841
+ let {type, next} = match.edge(i)
842
+ if (type == nodeType) return true
843
+ if (seen.indexOf(next) < 0 && scan(next)) return true
844
+ }
845
+ }
846
+ if (scan(parent.contentMatch)) return true
847
+ }
848
+ }