@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,705 @@
1
+ import OrderedMap from "orderedmap"
2
+
3
+ import {Node, TextNode} from "./node"
4
+ import {Fragment} from "./fragment"
5
+ import {Mark} from "./mark"
6
+ import {ContentMatch} from "./content"
7
+ import {DOMOutputSpec} from "./to_dom"
8
+ import {ParseRule, TagParseRule} from "./from_dom"
9
+
10
+ /// An object holding the attributes of a node.
11
+ export type Attrs = {readonly [attr: string]: any}
12
+
13
+ // For node types where all attrs have a default value (or which don't
14
+ // have any attributes), build up a single reusable default attribute
15
+ // object, and use it for all nodes that don't specify specific
16
+ // attributes.
17
+ function defaultAttrs(attrs: {[name: string]: Attribute}) {
18
+ let defaults = Object.create(null)
19
+ for (let attrName in attrs) {
20
+ let attr = attrs[attrName]
21
+ if (!attr.hasDefault) return null
22
+ defaults[attrName] = attr.default
23
+ }
24
+ return defaults
25
+ }
26
+
27
+ function computeAttrs(attrs: {[name: string]: Attribute}, value: Attrs | null) {
28
+ let built = Object.create(null)
29
+ for (let name in attrs) {
30
+ let given = value && value[name]
31
+ if (given === undefined) {
32
+ let attr = attrs[name]
33
+ if (attr.hasDefault) given = attr.default
34
+ else throw new RangeError("No value supplied for attribute " + name)
35
+ }
36
+ built[name] = given
37
+ }
38
+ return built
39
+ }
40
+
41
+ export function checkAttrs(attrs: {[name: string]: Attribute}, values: Attrs, type: string, name: string) {
42
+ for (let name in values)
43
+ if (!(name in attrs)) throw new RangeError(`Unsupported attribute ${name} for ${type} of type ${name}`)
44
+ for (let name in attrs) {
45
+ let attr = attrs[name]
46
+ if (attr.validate) attr.validate(values[name])
47
+ }
48
+ }
49
+
50
+ function initAttrs(typeName: string, attrs?: {[name: string]: AttributeSpec}) {
51
+ let result: {[name: string]: Attribute} = Object.create(null)
52
+ if (attrs) for (let name in attrs) result[name] = new Attribute(typeName, name, attrs[name])
53
+ return result
54
+ }
55
+
56
+ /// Node types are objects allocated once per `Schema` and used to
57
+ /// [tag](#model.Node.type) `Node` instances. They contain information
58
+ /// about the node type, such as its name and what kind of node it
59
+ /// represents.
60
+ export class NodeType {
61
+ /// @internal
62
+ groups: readonly string[]
63
+ /// @internal
64
+ attrs: {[name: string]: Attribute}
65
+ /// @internal
66
+ defaultAttrs: Attrs
67
+
68
+ /// @internal
69
+ constructor(
70
+ /// The name the node type has in this schema.
71
+ readonly name: string,
72
+ /// A link back to the `Schema` the node type belongs to.
73
+ readonly schema: Schema,
74
+ /// The spec that this type is based on
75
+ readonly spec: NodeSpec
76
+ ) {
77
+ this.groups = spec.group ? spec.group.split(" ") : []
78
+ this.attrs = initAttrs(name, spec.attrs)
79
+ this.defaultAttrs = defaultAttrs(this.attrs)
80
+
81
+ // Filled in later
82
+ ;(this as any).contentMatch = null
83
+ ;(this as any).inlineContent = null
84
+
85
+ this.isBlock = !(spec.inline || name == "text")
86
+ this.isText = name == "text"
87
+ }
88
+
89
+ /// True if this node type has inline content.
90
+ declare inlineContent: boolean
91
+ /// True if this is a block type
92
+ isBlock: boolean
93
+ /// True if this is the text node type.
94
+ isText: boolean
95
+
96
+ /// True if this is an inline type.
97
+ get isInline() { return !this.isBlock }
98
+
99
+ /// True if this is a textblock type, a block that contains inline
100
+ /// content.
101
+ get isTextblock() { return this.isBlock && this.inlineContent }
102
+
103
+ /// True for node types that allow no content.
104
+ get isLeaf() { return this.contentMatch == ContentMatch.empty }
105
+
106
+ /// True when this node is an atom, i.e. when it does not have
107
+ /// directly editable content.
108
+ get isAtom() { return this.isLeaf || !!this.spec.atom }
109
+
110
+ /// Return true when this node type is part of the given
111
+ /// [group](#model.NodeSpec.group).
112
+ isInGroup(group: string) {
113
+ return this.groups.indexOf(group) > -1
114
+ }
115
+
116
+ /// The starting match of the node type's content expression.
117
+ declare contentMatch: ContentMatch
118
+
119
+ /// The set of marks allowed in this node. `null` means all marks
120
+ /// are allowed.
121
+ markSet: readonly MarkType[] | null = null
122
+
123
+ /// The node type's [whitespace](#model.NodeSpec.whitespace) option.
124
+ get whitespace(): "pre" | "normal" {
125
+ return this.spec.whitespace || (this.spec.code ? "pre" : "normal")
126
+ }
127
+
128
+ /// Tells you whether this node type has any required attributes.
129
+ hasRequiredAttrs() {
130
+ for (let n in this.attrs) if (this.attrs[n].isRequired) return true
131
+ return false
132
+ }
133
+
134
+ /// Indicates whether this node allows some of the same content as
135
+ /// the given node type.
136
+ compatibleContent(other: NodeType) {
137
+ return this == other || this.contentMatch.compatible(other.contentMatch)
138
+ }
139
+
140
+ /// @internal
141
+ computeAttrs(attrs: Attrs | null): Attrs {
142
+ if (!attrs && this.defaultAttrs) return this.defaultAttrs
143
+ else return computeAttrs(this.attrs, attrs)
144
+ }
145
+
146
+ /// Create a `Node` of this type. The given attributes are
147
+ /// checked and defaulted (you can pass `null` to use the type's
148
+ /// defaults entirely, if no required attributes exist). `content`
149
+ /// may be a `Fragment`, a node, an array of nodes, or
150
+ /// `null`. Similarly `marks` may be `null` to default to the empty
151
+ /// set of marks.
152
+ create(attrs: Attrs | null = null, content?: Fragment | Node | readonly Node[] | null, marks?: readonly Mark[]) {
153
+ if (this.isText) throw new Error("NodeType.create can't construct text nodes")
154
+ return new Node(this, this.computeAttrs(attrs), Fragment.from(content), Mark.setFrom(marks))
155
+ }
156
+
157
+ /// Like [`create`](#model.NodeType.create), but check the given content
158
+ /// against the node type's content restrictions, and throw an error
159
+ /// if it doesn't match.
160
+ createChecked(attrs: Attrs | null = null, content?: Fragment | Node | readonly Node[] | null, marks?: readonly Mark[]) {
161
+ content = Fragment.from(content)
162
+ this.checkContent(content)
163
+ return new Node(this, this.computeAttrs(attrs), content, Mark.setFrom(marks))
164
+ }
165
+
166
+ /// Like [`create`](#model.NodeType.create), but see if it is
167
+ /// necessary to add nodes to the start or end of the given fragment
168
+ /// to make it fit the node. If no fitting wrapping can be found,
169
+ /// return null. Note that, due to the fact that required nodes can
170
+ /// always be created, this will always succeed if you pass null or
171
+ /// `Fragment.empty` as content.
172
+ createAndFill(attrs: Attrs | null = null, content?: Fragment | Node | readonly Node[] | null, marks?: readonly Mark[]) {
173
+ attrs = this.computeAttrs(attrs)
174
+ content = Fragment.from(content)
175
+ if (content.size) {
176
+ let before = this.contentMatch.fillBefore(content)
177
+ if (!before) return null
178
+ content = before.append(content)
179
+ }
180
+ let matched = this.contentMatch.matchFragment(content)
181
+ let after = matched && matched.fillBefore(Fragment.empty, true)
182
+ if (!after) return null
183
+ return new Node(this, attrs, (content as Fragment).append(after), Mark.setFrom(marks))
184
+ }
185
+
186
+ /// Returns true if the given fragment is valid content for this node
187
+ /// type.
188
+ validContent(content: Fragment) {
189
+ let result = this.contentMatch.matchFragment(content)
190
+ if (!result || !result.validEnd) return false
191
+ for (let i = 0; i < content.childCount; i++)
192
+ if (!this.allowsMarks(content.child(i).marks)) return false
193
+ return true
194
+ }
195
+
196
+ /// Throws a RangeError if the given fragment is not valid content for this
197
+ /// node type.
198
+ /// @internal
199
+ checkContent(content: Fragment) {
200
+ if (!this.validContent(content))
201
+ throw new RangeError(`Invalid content for node ${this.name}: ${content.toString().slice(0, 50)}`)
202
+ }
203
+
204
+ /// @internal
205
+ checkAttrs(attrs: Attrs) {
206
+ checkAttrs(this.attrs, attrs, "node", this.name)
207
+ }
208
+
209
+ /// Check whether the given mark type is allowed in this node.
210
+ allowsMarkType(markType: MarkType) {
211
+ return this.markSet == null || this.markSet.indexOf(markType) > -1
212
+ }
213
+
214
+ /// Test whether the given set of marks are allowed in this node.
215
+ allowsMarks(marks: readonly Mark[]) {
216
+ if (this.markSet == null) return true
217
+ for (let i = 0; i < marks.length; i++) if (!this.allowsMarkType(marks[i].type)) return false
218
+ return true
219
+ }
220
+
221
+ /// Removes the marks that are not allowed in this node from the given set.
222
+ allowedMarks(marks: readonly Mark[]): readonly Mark[] {
223
+ if (this.markSet == null) return marks
224
+ let copy
225
+ for (let i = 0; i < marks.length; i++) {
226
+ if (!this.allowsMarkType(marks[i].type)) {
227
+ if (!copy) copy = marks.slice(0, i)
228
+ } else if (copy) {
229
+ copy.push(marks[i])
230
+ }
231
+ }
232
+ return !copy ? marks : copy.length ? copy : Mark.none
233
+ }
234
+
235
+ /// @internal
236
+ static compile<Nodes extends string>(nodes: OrderedMap<NodeSpec>, schema: Schema<Nodes>): {readonly [name in Nodes]: NodeType} {
237
+ let result = Object.create(null)
238
+ nodes.forEach((name, spec) => result[name] = new NodeType(name, schema, spec))
239
+
240
+ let topType = schema.spec.topNode || "doc"
241
+ if (!result[topType]) throw new RangeError("Schema is missing its top node type ('" + topType + "')")
242
+ if (!result.text) throw new RangeError("Every schema needs a 'text' type")
243
+ for (let _ in result.text.attrs) throw new RangeError("The text node type should not have attributes")
244
+
245
+ return result
246
+ }
247
+ }
248
+
249
+ function validateType(typeName: string, attrName: string, type: string) {
250
+ let types = type.split("|")
251
+ return (value: any) => {
252
+ let name = value === null ? "null" : typeof value
253
+ if (types.indexOf(name) < 0) throw new RangeError(`Expected value of type ${types} for attribute ${attrName} on type ${typeName}, got ${name}`)
254
+ }
255
+ }
256
+
257
+ // Attribute descriptors
258
+
259
+ class Attribute {
260
+ hasDefault: boolean
261
+ default: any
262
+ validate: undefined | ((value: any) => void)
263
+
264
+ constructor(typeName: string, attrName: string, options: AttributeSpec) {
265
+ this.hasDefault = Object.prototype.hasOwnProperty.call(options, "default")
266
+ this.default = options.default
267
+ this.validate = typeof options.validate == "string" ? validateType(typeName, attrName, options.validate) : options.validate
268
+ }
269
+
270
+ get isRequired() {
271
+ return !this.hasDefault
272
+ }
273
+ }
274
+
275
+ // Marks
276
+
277
+ /// Like nodes, marks (which are associated with nodes to signify
278
+ /// things like emphasis or being part of a link) are
279
+ /// [tagged](#model.Mark.type) with type objects, which are
280
+ /// instantiated once per `Schema`.
281
+ export class MarkType {
282
+ /// @internal
283
+ attrs: {[name: string]: Attribute}
284
+ /// @internal
285
+ declare excluded: readonly MarkType[]
286
+ /// @internal
287
+ instance: Mark | null
288
+
289
+ /// @internal
290
+ constructor(
291
+ /// The name of the mark type.
292
+ readonly name: string,
293
+ /// @internal
294
+ readonly rank: number,
295
+ /// The schema that this mark type instance is part of.
296
+ readonly schema: Schema,
297
+ /// The spec on which the type is based.
298
+ readonly spec: MarkSpec
299
+ ) {
300
+ this.attrs = initAttrs(name, spec.attrs)
301
+ ;(this as any).excluded = null
302
+ let defaults = defaultAttrs(this.attrs)
303
+ this.instance = defaults ? new Mark(this, defaults) : null
304
+ }
305
+
306
+ /// Create a mark of this type. `attrs` may be `null` or an object
307
+ /// containing only some of the mark's attributes. The others, if
308
+ /// they have defaults, will be added.
309
+ create(attrs: Attrs | null = null) {
310
+ if (!attrs && this.instance) return this.instance
311
+ return new Mark(this, computeAttrs(this.attrs, attrs))
312
+ }
313
+
314
+ /// @internal
315
+ static compile(marks: OrderedMap<MarkSpec>, schema: Schema) {
316
+ let result = Object.create(null), rank = 0
317
+ marks.forEach((name, spec) => result[name] = new MarkType(name, rank++, schema, spec))
318
+ return result
319
+ }
320
+
321
+ /// When there is a mark of this type in the given set, a new set
322
+ /// without it is returned. Otherwise, the input set is returned.
323
+ removeFromSet(set: readonly Mark[]): readonly Mark[] {
324
+ for (var i = 0; i < set.length; i++) if (set[i].type == this) {
325
+ set = set.slice(0, i).concat(set.slice(i + 1))
326
+ i--
327
+ }
328
+ return set
329
+ }
330
+
331
+ /// Tests whether there is a mark of this type in the given set.
332
+ isInSet(set: readonly Mark[]): Mark | undefined {
333
+ for (let i = 0; i < set.length; i++)
334
+ if (set[i].type == this) return set[i]
335
+ }
336
+
337
+ /// @internal
338
+ checkAttrs(attrs: Attrs) {
339
+ checkAttrs(this.attrs, attrs, "mark", this.name)
340
+ }
341
+
342
+ /// Queries whether a given mark type is
343
+ /// [excluded](#model.MarkSpec.excludes) by this one.
344
+ excludes(other: MarkType) {
345
+ return this.excluded.indexOf(other) > -1
346
+ }
347
+ }
348
+
349
+ /// An object describing a schema, as passed to the [`Schema`](#model.Schema)
350
+ /// constructor.
351
+ export interface SchemaSpec<Nodes extends string = any, Marks extends string = any> {
352
+ /// The node types in this schema. Maps names to
353
+ /// [`NodeSpec`](#model.NodeSpec) objects that describe the node type
354
+ /// associated with that name. Their order is significant—it
355
+ /// determines which [parse rules](#model.NodeSpec.parseDOM) take
356
+ /// precedence by default, and which nodes come first in a given
357
+ /// [group](#model.NodeSpec.group).
358
+ nodes: {[name in Nodes]: NodeSpec} | OrderedMap<NodeSpec>,
359
+
360
+ /// The mark types that exist in this schema. The order in which they
361
+ /// are provided determines the order in which [mark
362
+ /// sets](#model.Mark.addToSet) are sorted and in which [parse
363
+ /// rules](#model.MarkSpec.parseDOM) are tried.
364
+ marks?: {[name in Marks]: MarkSpec} | OrderedMap<MarkSpec>
365
+
366
+ /// The name of the default top-level node for the schema. Defaults
367
+ /// to `"doc"`.
368
+ topNode?: string
369
+ }
370
+
371
+ /// A description of a node type, used when defining a schema.
372
+ export interface NodeSpec {
373
+ /// The content expression for this node, as described in the [schema
374
+ /// guide](/docs/guide/#schema.content_expressions). When not given,
375
+ /// the node does not allow any content.
376
+ content?: string
377
+
378
+ /// The marks that are allowed inside of this node. May be a
379
+ /// space-separated string referring to mark names or groups, `"_"`
380
+ /// to explicitly allow all marks, or `""` to disallow marks. When
381
+ /// not given, nodes with inline content default to allowing all
382
+ /// marks, other nodes default to not allowing marks.
383
+ marks?: string
384
+
385
+ /// The group or space-separated groups to which this node belongs,
386
+ /// which can be referred to in the content expressions for the
387
+ /// schema.
388
+ group?: string
389
+
390
+ /// Should be set to true for inline nodes. (Implied for text nodes.)
391
+ inline?: boolean
392
+
393
+ /// Can be set to true to indicate that, though this isn't a [leaf
394
+ /// node](#model.NodeType.isLeaf), it doesn't have directly editable
395
+ /// content and should be treated as a single unit in the view.
396
+ atom?: boolean
397
+
398
+ /// The attributes that nodes of this type get.
399
+ attrs?: {[name: string]: AttributeSpec}
400
+
401
+ /// Controls whether nodes of this type can be selected as a [node
402
+ /// selection](#state.NodeSelection). Defaults to true for non-text
403
+ /// nodes.
404
+ selectable?: boolean
405
+
406
+ /// Determines whether nodes of this type can be dragged without
407
+ /// being selected. Defaults to false.
408
+ draggable?: boolean
409
+
410
+ /// Can be used to indicate that this node contains code, which
411
+ /// causes some commands to behave differently.
412
+ code?: boolean
413
+
414
+ /// Controls way whitespace in this a node is parsed. The default is
415
+ /// `"normal"`, which causes the [DOM parser](#model.DOMParser) to
416
+ /// collapse whitespace in normal mode, and normalize it (replacing
417
+ /// newlines and such with spaces) otherwise. `"pre"` causes the
418
+ /// parser to preserve spaces inside the node. When this option isn't
419
+ /// given, but [`code`](#model.NodeSpec.code) is true, `whitespace`
420
+ /// will default to `"pre"`. Note that this option doesn't influence
421
+ /// the way the node is rendered—that should be handled by `toDOM`
422
+ /// and/or styling.
423
+ whitespace?: "pre" | "normal"
424
+
425
+ /// Determines whether this node is considered an important parent
426
+ /// node during replace operations (such as paste). Non-defining (the
427
+ /// default) nodes get dropped when their entire content is replaced,
428
+ /// whereas defining nodes persist and wrap the inserted content.
429
+ definingAsContext?: boolean
430
+
431
+ /// In inserted content the defining parents of the content are
432
+ /// preserved when possible. Typically, non-default-paragraph
433
+ /// textblock types, and possibly list items, are marked as defining.
434
+ definingForContent?: boolean
435
+
436
+ /// When enabled, enables both
437
+ /// [`definingAsContext`](#model.NodeSpec.definingAsContext) and
438
+ /// [`definingForContent`](#model.NodeSpec.definingForContent).
439
+ defining?: boolean
440
+
441
+ /// When enabled (default is false), the sides of nodes of this type
442
+ /// count as boundaries that regular editing operations, like
443
+ /// backspacing or lifting, won't cross. An example of a node that
444
+ /// should probably have this enabled is a table cell.
445
+ isolating?: boolean
446
+
447
+ /// Defines the default way a node of this type should be serialized
448
+ /// to DOM/HTML (as used by
449
+ /// [`DOMSerializer.fromSchema`](#model.DOMSerializer^fromSchema)).
450
+ /// Should return a DOM node or an [array
451
+ /// structure](#model.DOMOutputSpec) that describes one, with an
452
+ /// optional number zero (“hole”) in it to indicate where the node's
453
+ /// content should be inserted.
454
+ ///
455
+ /// For text nodes, the default is to create a text DOM node. Though
456
+ /// it is possible to create a serializer where text is rendered
457
+ /// differently, this is not supported inside the editor, so you
458
+ /// shouldn't override that in your text node spec.
459
+ toDOM?: (node: Node) => DOMOutputSpec
460
+
461
+ /// Associates DOM parser information with this node, which can be
462
+ /// used by [`DOMParser.fromSchema`](#model.DOMParser^fromSchema) to
463
+ /// automatically derive a parser. The `node` field in the rules is
464
+ /// implied (the name of this node will be filled in automatically).
465
+ /// If you supply your own parser, you do not need to also specify
466
+ /// parsing rules in your schema.
467
+ parseDOM?: readonly TagParseRule[]
468
+
469
+ /// Defines the default way a node of this type should be serialized
470
+ /// to a string representation for debugging (e.g. in error messages).
471
+ toDebugString?: (node: Node) => string
472
+
473
+ /// Defines the default way a [leaf node](#model.NodeType.isLeaf) of
474
+ /// this type should be serialized to a string (as used by
475
+ /// [`Node.textBetween`](#model.Node.textBetween) and
476
+ /// [`Node.textContent`](#model.Node.textContent)).
477
+ leafText?: (node: Node) => string
478
+
479
+ /// A single inline node in a schema can be set to be a linebreak
480
+ /// equivalent. When converting between block types that support the
481
+ /// node and block types that don't but have
482
+ /// [`whitespace`](#model.NodeSpec.whitespace) set to `"pre"`,
483
+ /// [`setBlockType`](#transform.Transform.setBlockType) will convert
484
+ /// between newline characters to or from linebreak nodes as
485
+ /// appropriate.
486
+ linebreakReplacement?: boolean
487
+
488
+ /// Node specs may include arbitrary properties that can be read by
489
+ /// other code via [`NodeType.spec`](#model.NodeType.spec).
490
+ [key: string]: any
491
+ }
492
+
493
+ /// Used to define marks when creating a schema.
494
+ export interface MarkSpec {
495
+ /// The attributes that marks of this type get.
496
+ attrs?: {[name: string]: AttributeSpec}
497
+
498
+ /// Whether this mark should be active when the cursor is positioned
499
+ /// at its end (or at its start when that is also the start of the
500
+ /// parent node). Defaults to true.
501
+ inclusive?: boolean
502
+
503
+ /// Determines which other marks this mark can coexist with. Should
504
+ /// be a space-separated strings naming other marks or groups of marks.
505
+ /// When a mark is [added](#model.Mark.addToSet) to a set, all marks
506
+ /// that it excludes are removed in the process. If the set contains
507
+ /// any mark that excludes the new mark but is not, itself, excluded
508
+ /// by the new mark, the mark can not be added an the set. You can
509
+ /// use the value `"_"` to indicate that the mark excludes all
510
+ /// marks in the schema.
511
+ ///
512
+ /// Defaults to only being exclusive with marks of the same type. You
513
+ /// can set it to an empty string (or any string not containing the
514
+ /// mark's own name) to allow multiple marks of a given type to
515
+ /// coexist (as long as they have different attributes).
516
+ excludes?: string
517
+
518
+ /// The group or space-separated groups to which this mark belongs.
519
+ group?: string
520
+
521
+ /// Determines whether marks of this type can span multiple adjacent
522
+ /// nodes when serialized to DOM/HTML. Defaults to true.
523
+ spanning?: boolean
524
+
525
+ /// Marks the content of this span as being code, which causes some
526
+ /// commands and extensions to treat it differently.
527
+ code?: boolean
528
+
529
+ /// Defines the default way marks of this type should be serialized
530
+ /// to DOM/HTML. When the resulting spec contains a hole, that is
531
+ /// where the marked content is placed. Otherwise, it is appended to
532
+ /// the top node.
533
+ toDOM?: (mark: Mark, inline: boolean) => DOMOutputSpec
534
+
535
+ /// Associates DOM parser information with this mark (see the
536
+ /// corresponding [node spec field](#model.NodeSpec.parseDOM)). The
537
+ /// `mark` field in the rules is implied.
538
+ parseDOM?: readonly ParseRule[]
539
+
540
+ /// Mark specs can include additional properties that can be
541
+ /// inspected through [`MarkType.spec`](#model.MarkType.spec) when
542
+ /// working with the mark.
543
+ [key: string]: any
544
+ }
545
+
546
+ /// Used to [define](#model.NodeSpec.attrs) attributes on nodes or
547
+ /// marks.
548
+ export interface AttributeSpec {
549
+ /// The default value for this attribute, to use when no explicit
550
+ /// value is provided. Attributes that have no default must be
551
+ /// provided whenever a node or mark of a type that has them is
552
+ /// created.
553
+ default?: any
554
+ /// A function or type name used to validate values of this
555
+ /// attribute. This will be used when deserializing the attribute
556
+ /// from JSON, and when running [`Node.check`](#model.Node.check).
557
+ /// When a function, it should raise an exception if the value isn't
558
+ /// of the expected type or shape. When a string, it should be a
559
+ /// `|`-separated string of primitive types (`"number"`, `"string"`,
560
+ /// `"boolean"`, `"null"`, and `"undefined"`), and the library will
561
+ /// raise an error when the value is not one of those types.
562
+ validate?: string | ((value: any) => void)
563
+ }
564
+
565
+ /// A document schema. Holds [node](#model.NodeType) and [mark
566
+ /// type](#model.MarkType) objects for the nodes and marks that may
567
+ /// occur in conforming documents, and provides functionality for
568
+ /// creating and deserializing such documents.
569
+ ///
570
+ /// When given, the type parameters provide the names of the nodes and
571
+ /// marks in this schema.
572
+ export class Schema<Nodes extends string = any, Marks extends string = any> {
573
+ /// The [spec](#model.SchemaSpec) on which the schema is based,
574
+ /// with the added guarantee that its `nodes` and `marks`
575
+ /// properties are
576
+ /// [`OrderedMap`](https://github.com/marijnh/orderedmap) instances
577
+ /// (not raw objects).
578
+ spec: {
579
+ nodes: OrderedMap<NodeSpec>,
580
+ marks: OrderedMap<MarkSpec>,
581
+ topNode?: string
582
+ }
583
+
584
+ /// An object mapping the schema's node names to node type objects.
585
+ nodes: {readonly [name in Nodes]: NodeType} & {readonly [key: string]: NodeType}
586
+
587
+ /// A map from mark names to mark type objects.
588
+ marks: {readonly [name in Marks]: MarkType} & {readonly [key: string]: MarkType}
589
+
590
+ /// The [linebreak
591
+ /// replacement](#model.NodeSpec.linebreakReplacement) node defined
592
+ /// in this schema, if any.
593
+ linebreakReplacement: NodeType | null = null
594
+
595
+ /// Construct a schema from a schema [specification](#model.SchemaSpec).
596
+ constructor(spec: SchemaSpec<Nodes, Marks>) {
597
+ let instanceSpec = this.spec = {} as any
598
+ for (let prop in spec) instanceSpec[prop] = (spec as any)[prop]
599
+ instanceSpec.nodes = OrderedMap.from(spec.nodes),
600
+ instanceSpec.marks = OrderedMap.from(spec.marks || {}),
601
+
602
+ this.nodes = NodeType.compile(this.spec.nodes, this)
603
+ this.marks = MarkType.compile(this.spec.marks, this)
604
+
605
+ let contentExprCache = Object.create(null)
606
+ for (let prop in this.nodes) {
607
+ if (prop in this.marks)
608
+ throw new RangeError(prop + " can not be both a node and a mark")
609
+ let type = this.nodes[prop], contentExpr = type.spec.content || "", markExpr = type.spec.marks
610
+ type.contentMatch = contentExprCache[contentExpr] ||
611
+ (contentExprCache[contentExpr] = ContentMatch.parse(contentExpr, this.nodes))
612
+ ;(type as any).inlineContent = type.contentMatch.inlineContent
613
+ if (type.spec.linebreakReplacement) {
614
+ if (this.linebreakReplacement) throw new RangeError("Multiple linebreak nodes defined")
615
+ if (!type.isInline || !type.isLeaf) throw new RangeError("Linebreak replacement nodes must be inline leaf nodes")
616
+ this.linebreakReplacement = type
617
+ }
618
+ type.markSet = markExpr == "_" ? null :
619
+ markExpr ? gatherMarks(this, markExpr.split(" ")) :
620
+ markExpr == "" || !type.inlineContent ? [] : null
621
+ }
622
+ for (let prop in this.marks) {
623
+ let type = this.marks[prop], excl = type.spec.excludes
624
+ type.excluded = excl == null ? [type] : excl == "" ? [] : gatherMarks(this, excl.split(" "))
625
+ }
626
+
627
+ this.nodeFromJSON = json => Node.fromJSON(this, json)
628
+ this.markFromJSON = json => Mark.fromJSON(this, json)
629
+ this.topNodeType = this.nodes[this.spec.topNode || "doc"]
630
+ this.cached.wrappings = Object.create(null)
631
+ }
632
+
633
+ /// The type of the [default top node](#model.SchemaSpec.topNode)
634
+ /// for this schema.
635
+ topNodeType: NodeType
636
+
637
+ /// An object for storing whatever values modules may want to
638
+ /// compute and cache per schema. (If you want to store something
639
+ /// in it, try to use property names unlikely to clash.)
640
+ cached: {[key: string]: any} = Object.create(null)
641
+
642
+ /// Create a node in this schema. The `type` may be a string or a
643
+ /// `NodeType` instance. Attributes will be extended with defaults,
644
+ /// `content` may be a `Fragment`, `null`, a `Node`, or an array of
645
+ /// nodes.
646
+ node(type: string | NodeType,
647
+ attrs: Attrs | null = null,
648
+ content?: Fragment | Node | readonly Node[],
649
+ marks?: readonly Mark[]) {
650
+ if (typeof type == "string")
651
+ type = this.nodeType(type)
652
+ else if (!(type instanceof NodeType))
653
+ throw new RangeError("Invalid node type: " + type)
654
+ else if (type.schema != this)
655
+ throw new RangeError("Node type from different schema used (" + type.name + ")")
656
+
657
+ return type.createChecked(attrs, content, marks)
658
+ }
659
+
660
+ /// Create a text node in the schema. Empty text nodes are not
661
+ /// allowed.
662
+ text(text: string, marks?: readonly Mark[] | null): Node {
663
+ let type = this.nodes.text
664
+ return new TextNode(type, type.defaultAttrs, text, Mark.setFrom(marks))
665
+ }
666
+
667
+ /// Create a mark with the given type and attributes.
668
+ mark(type: string | MarkType, attrs?: Attrs | null) {
669
+ if (typeof type == "string") type = this.marks[type]
670
+ return type.create(attrs)
671
+ }
672
+
673
+ /// Deserialize a node from its JSON representation. This method is
674
+ /// bound.
675
+ nodeFromJSON: (json: any) => Node
676
+
677
+ /// Deserialize a mark from its JSON representation. This method is
678
+ /// bound.
679
+ markFromJSON: (json: any) => Mark
680
+
681
+ /// @internal
682
+ nodeType(name: string) {
683
+ let found = this.nodes[name]
684
+ if (!found) throw new RangeError("Unknown node type: " + name)
685
+ return found
686
+ }
687
+ }
688
+
689
+ function gatherMarks(schema: Schema, marks: readonly string[]) {
690
+ let found: MarkType[] = []
691
+ for (let i = 0; i < marks.length; i++) {
692
+ let name = marks[i], mark = schema.marks[name], ok = mark
693
+ if (mark) {
694
+ found.push(mark)
695
+ } else {
696
+ for (let prop in schema.marks) {
697
+ let mark = schema.marks[prop]
698
+ if (name == "_" || (mark.spec.group && mark.spec.group.split(" ").indexOf(name) > -1))
699
+ found.push(ok = mark)
700
+ }
701
+ }
702
+ if (!ok) throw new SyntaxError("Unknown mark type: '" + marks[i] + "'")
703
+ }
704
+ return found
705
+ }