@witchcraft/editor 0.0.4 → 0.0.5

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 (410) hide show
  1. package/dist/module.d.cts +2 -0
  2. package/dist/module.d.mts +2 -15
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +13 -72
  5. package/dist/types.d.mts +12 -2
  6. package/package.json +228 -236
  7. package/src/module.ts +1 -2
  8. package/src/runtime/assets/handle-border-circles.svg +0 -0
  9. package/src/runtime/components/Editor.vue +0 -0
  10. package/src/runtime/pm/features/Blocks/components/ItemNodeView.vue +1 -1
  11. package/src/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.vue +1 -1
  12. package/src/runtime/pm/schema.ts +0 -0
  13. package/src/runtime/pm/utils/createDropIndicator.ts +9 -3
  14. package/src/runtime/pm/utils/getElPropertyAsInt.ts +3 -0
  15. package/src/runtime/pm/utils/internal/debugSel.ts +0 -0
  16. package/src/runtime/pm/utils/internal/recurse.ts +0 -0
  17. package/dist/runtime/assets/base.css +0 -1
  18. package/dist/runtime/assets/handle-arrow.svg +0 -16
  19. package/dist/runtime/assets/handle-border-circles-single.svg +0 -44
  20. package/dist/runtime/assets/handle-border-circles.svg +0 -27
  21. package/dist/runtime/assets/handle-temp.svg +0 -1
  22. package/dist/runtime/assets/utils.css +0 -1
  23. package/dist/runtime/components/CodeBlockThemePicker.d.vue.ts +0 -12
  24. package/dist/runtime/components/CodeBlockThemePicker.vue +0 -123
  25. package/dist/runtime/components/CodeBlockThemePicker.vue.d.ts +0 -12
  26. package/dist/runtime/components/Commands.d.vue.ts +0 -10
  27. package/dist/runtime/components/Commands.vue +0 -60
  28. package/dist/runtime/components/Commands.vue.d.ts +0 -10
  29. package/dist/runtime/components/Editor.d.vue.ts +0 -40
  30. package/dist/runtime/components/Editor.vue +0 -208
  31. package/dist/runtime/components/Editor.vue.d.ts +0 -40
  32. package/dist/runtime/components/EditorDemoApp.d.vue.ts +0 -2
  33. package/dist/runtime/components/EditorDemoApp.vue +0 -104
  34. package/dist/runtime/components/EditorDemoApp.vue.d.ts +0 -2
  35. package/dist/runtime/components/EditorDemoControls.d.vue.ts +0 -12
  36. package/dist/runtime/components/EditorDemoControls.vue +0 -36
  37. package/dist/runtime/components/EditorDemoControls.vue.d.ts +0 -12
  38. package/dist/runtime/components/TestWrapper.d.vue.ts +0 -11
  39. package/dist/runtime/components/TestWrapper.vue +0 -63
  40. package/dist/runtime/components/TestWrapper.vue.d.ts +0 -11
  41. package/dist/runtime/composables/useEditor.d.ts +0 -9
  42. package/dist/runtime/composables/useEditor.js +0 -21
  43. package/dist/runtime/composables/useWindowDebugging.d.ts +0 -3
  44. package/dist/runtime/composables/useWindowDebugging.js +0 -16
  45. package/dist/runtime/demo/App.d.vue.ts +0 -2
  46. package/dist/runtime/demo/App.vue +0 -101
  47. package/dist/runtime/demo/App.vue.d.ts +0 -2
  48. package/dist/runtime/demo/README.md +0 -1
  49. package/dist/runtime/demo/main.d.ts +0 -1
  50. package/dist/runtime/demo/main.js +0 -4
  51. package/dist/runtime/demo/tailwind.css +0 -1
  52. package/dist/runtime/env.d.ts +0 -2
  53. package/dist/runtime/injectionKeys.d.ts +0 -6
  54. package/dist/runtime/injectionKeys.js +0 -3
  55. package/dist/runtime/main.lib.d.ts +0 -2
  56. package/dist/runtime/main.lib.js +0 -2
  57. package/dist/runtime/pm/commands/backspace.d.ts +0 -12
  58. package/dist/runtime/pm/commands/backspace.js +0 -26
  59. package/dist/runtime/pm/commands/changeAttrs.d.ts +0 -9
  60. package/dist/runtime/pm/commands/changeAttrs.js +0 -15
  61. package/dist/runtime/pm/commands/deleteSelection.d.ts +0 -9
  62. package/dist/runtime/pm/commands/deleteSelection.js +0 -8
  63. package/dist/runtime/pm/commands/enter.d.ts +0 -14
  64. package/dist/runtime/pm/commands/enter.js +0 -9
  65. package/dist/runtime/pm/commands/insertBreak.d.ts +0 -9
  66. package/dist/runtime/pm/commands/insertBreak.js +0 -22
  67. package/dist/runtime/pm/features/Base/Base.d.ts +0 -4
  68. package/dist/runtime/pm/features/Base/Base.js +0 -32
  69. package/dist/runtime/pm/features/Base/commands/deleteNodes.d.ts +0 -10
  70. package/dist/runtime/pm/features/Base/commands/deleteNodes.js +0 -29
  71. package/dist/runtime/pm/features/Base/commands/setCursorVisible.d.ts +0 -12
  72. package/dist/runtime/pm/features/Base/commands/setCursorVisible.js +0 -7
  73. package/dist/runtime/pm/features/Base/plugins/debugSelectionPlugin.d.ts +0 -9
  74. package/dist/runtime/pm/features/Base/plugins/debugSelectionPlugin.js +0 -48
  75. package/dist/runtime/pm/features/Base/plugins/isCursorVisiblePlugin.d.ts +0 -3
  76. package/dist/runtime/pm/features/Base/plugins/isCursorVisiblePlugin.js +0 -26
  77. package/dist/runtime/pm/features/Base/plugins/isUsingTouchPlugin.d.ts +0 -3
  78. package/dist/runtime/pm/features/Base/plugins/isUsingTouchPlugin.js +0 -38
  79. package/dist/runtime/pm/features/Base/plugins/selectingIndicator.d.ts +0 -5
  80. package/dist/runtime/pm/features/Base/plugins/selectingIndicator.js +0 -35
  81. package/dist/runtime/pm/features/Base/plugins/unfocusedSelectionIndicatorPlugin.d.ts +0 -33
  82. package/dist/runtime/pm/features/Base/plugins/unfocusedSelectionIndicatorPlugin.js +0 -66
  83. package/dist/runtime/pm/features/Base/types.d.ts +0 -3
  84. package/dist/runtime/pm/features/Base/types.js +0 -0
  85. package/dist/runtime/pm/features/BaseShortcuts/BaseShortcuts.d.ts +0 -3
  86. package/dist/runtime/pm/features/BaseShortcuts/BaseShortcuts.js +0 -34
  87. package/dist/runtime/pm/features/Blockquote/Blockquote.d.ts +0 -5
  88. package/dist/runtime/pm/features/Blockquote/Blockquote.js +0 -65
  89. package/dist/runtime/pm/features/Blockquote/commands/blockquoteEnter.d.ts +0 -11
  90. package/dist/runtime/pm/features/Blockquote/commands/blockquoteEnter.js +0 -31
  91. package/dist/runtime/pm/features/Blockquote/commands/blockquoteShiftEnter.d.ts +0 -11
  92. package/dist/runtime/pm/features/Blockquote/commands/blockquoteShiftEnter.js +0 -12
  93. package/dist/runtime/pm/features/Blocks/Blocks.d.ts +0 -2
  94. package/dist/runtime/pm/features/Blocks/Blocks.js +0 -2
  95. package/dist/runtime/pm/features/Blocks/Item.d.ts +0 -11
  96. package/dist/runtime/pm/features/Blocks/Item.js +0 -157
  97. package/dist/runtime/pm/features/Blocks/List.d.ts +0 -4
  98. package/dist/runtime/pm/features/Blocks/List.js +0 -59
  99. package/dist/runtime/pm/features/Blocks/commands/changeItemType.d.ts +0 -20
  100. package/dist/runtime/pm/features/Blocks/commands/changeItemType.js +0 -40
  101. package/dist/runtime/pm/features/Blocks/commands/changeTypeAttr.d.ts +0 -14
  102. package/dist/runtime/pm/features/Blocks/commands/changeTypeAttr.js +0 -28
  103. package/dist/runtime/pm/features/Blocks/commands/copyOrMoveItem.d.ts +0 -23
  104. package/dist/runtime/pm/features/Blocks/commands/copyOrMoveItem.js +0 -124
  105. package/dist/runtime/pm/features/Blocks/commands/deleteItem.d.ts +0 -12
  106. package/dist/runtime/pm/features/Blocks/commands/deleteItem.js +0 -8
  107. package/dist/runtime/pm/features/Blocks/commands/indentItem.d.ts +0 -12
  108. package/dist/runtime/pm/features/Blocks/commands/indentItem.js +0 -58
  109. package/dist/runtime/pm/features/Blocks/commands/itemMenuCommands.d.ts +0 -18
  110. package/dist/runtime/pm/features/Blocks/commands/itemMenuCommands.js +0 -40
  111. package/dist/runtime/pm/features/Blocks/commands/moveItem.d.ts +0 -12
  112. package/dist/runtime/pm/features/Blocks/commands/moveItem.js +0 -80
  113. package/dist/runtime/pm/features/Blocks/commands/setNode.d.ts +0 -20
  114. package/dist/runtime/pm/features/Blocks/commands/setNode.js +0 -87
  115. package/dist/runtime/pm/features/Blocks/commands/splitItem.d.ts +0 -17
  116. package/dist/runtime/pm/features/Blocks/commands/splitItem.js +0 -87
  117. package/dist/runtime/pm/features/Blocks/commands/unindentItem.d.ts +0 -12
  118. package/dist/runtime/pm/features/Blocks/commands/unindentItem.js +0 -42
  119. package/dist/runtime/pm/features/Blocks/components/DragTreeHandle.d.vue.ts +0 -0
  120. package/dist/runtime/pm/features/Blocks/components/DragTreeHandle.vue +0 -122
  121. package/dist/runtime/pm/features/Blocks/components/DragTreeHandle.vue.d.ts +0 -0
  122. package/dist/runtime/pm/features/Blocks/components/ItemMenu.d.vue.ts +0 -6
  123. package/dist/runtime/pm/features/Blocks/components/ItemMenu.vue +0 -78
  124. package/dist/runtime/pm/features/Blocks/components/ItemMenu.vue.d.ts +0 -6
  125. package/dist/runtime/pm/features/Blocks/components/ItemNodeView.d.vue.ts +0 -92
  126. package/dist/runtime/pm/features/Blocks/components/ItemNodeView.vue +0 -350
  127. package/dist/runtime/pm/features/Blocks/components/ItemNodeView.vue.d.ts +0 -92
  128. package/dist/runtime/pm/features/Blocks/components/defaultItemMenu.d.ts +0 -5
  129. package/dist/runtime/pm/features/Blocks/components/defaultItemMenu.js +0 -42
  130. package/dist/runtime/pm/features/Blocks/composables/useDragWithThreshold.d.ts +0 -1
  131. package/dist/runtime/pm/features/Blocks/composables/useDragWithThreshold.js +0 -0
  132. package/dist/runtime/pm/features/Blocks/composables/useHandleHeight.d.ts +0 -5
  133. package/dist/runtime/pm/features/Blocks/composables/useHandleHeight.js +0 -22
  134. package/dist/runtime/pm/features/Blocks/composables/useHasChildren.d.ts +0 -5
  135. package/dist/runtime/pm/features/Blocks/composables/useHasChildren.js +0 -10
  136. package/dist/runtime/pm/features/Blocks/composables/useNodeStates.d.ts +0 -7
  137. package/dist/runtime/pm/features/Blocks/composables/useNodeStates.js +0 -20
  138. package/dist/runtime/pm/features/Blocks/itemMenuMenuItems.d.ts +0 -20
  139. package/dist/runtime/pm/features/Blocks/itemMenuMenuItems.js +0 -138
  140. package/dist/runtime/pm/features/Blocks/plugins/ensureLastItemIsContentPlugin.d.ts +0 -11
  141. package/dist/runtime/pm/features/Blocks/plugins/ensureLastItemIsContentPlugin.js +0 -36
  142. package/dist/runtime/pm/features/Blocks/plugins/itemBlockIdPlugin.d.ts +0 -8
  143. package/dist/runtime/pm/features/Blocks/plugins/itemBlockIdPlugin.js +0 -30
  144. package/dist/runtime/pm/features/Blocks/plugins/itemHasSingularSelectionPlugin.d.ts +0 -3
  145. package/dist/runtime/pm/features/Blocks/plugins/itemHasSingularSelectionPlugin.js +0 -30
  146. package/dist/runtime/pm/features/Blocks/plugins/itemMenuPlugin.d.ts +0 -4
  147. package/dist/runtime/pm/features/Blocks/plugins/itemMenuPlugin.js +0 -17
  148. package/dist/runtime/pm/features/Blocks/states/stateful.d.ts +0 -2
  149. package/dist/runtime/pm/features/Blocks/states/stateful.js +0 -37
  150. package/dist/runtime/pm/features/Blocks/states/task/cancelled.svg +0 -32
  151. package/dist/runtime/pm/features/Blocks/states/task/checked.svg +0 -27
  152. package/dist/runtime/pm/features/Blocks/states/task/checked2.svg +0 -24
  153. package/dist/runtime/pm/features/Blocks/states/task/partial.svg +0 -24
  154. package/dist/runtime/pm/features/Blocks/states/task/partial2.svg +0 -31
  155. package/dist/runtime/pm/features/Blocks/states/task/unchecked.svg +0 -20
  156. package/dist/runtime/pm/features/Blocks/types.d.ts +0 -43
  157. package/dist/runtime/pm/features/Blocks/types.js +0 -2
  158. package/dist/runtime/pm/features/Blocks/utils/createItemMenuCommandExecuter.d.ts +0 -3
  159. package/dist/runtime/pm/features/Blocks/utils/createItemMenuCommandExecuter.js +0 -24
  160. package/dist/runtime/pm/features/Blocks/utils/fixBlockIds.d.ts +0 -4
  161. package/dist/runtime/pm/features/Blocks/utils/fixBlockIds.js +0 -23
  162. package/dist/runtime/pm/features/Blocks/utils/isValidId.d.ts +0 -2
  163. package/dist/runtime/pm/features/Blocks/utils/isValidId.js +0 -7
  164. package/dist/runtime/pm/features/CodeBlock/CodeBlock.d.ts +0 -16
  165. package/dist/runtime/pm/features/CodeBlock/CodeBlock.js +0 -91
  166. package/dist/runtime/pm/features/CodeBlock/build/generateHighlightJsInfo.d.ts +0 -1
  167. package/dist/runtime/pm/features/CodeBlock/build/generateHighlightJsInfo.js +0 -63
  168. package/dist/runtime/pm/features/CodeBlock/commands/codeBlockEnterOrSplit.d.ts +0 -9
  169. package/dist/runtime/pm/features/CodeBlock/commands/codeBlockEnterOrSplit.js +0 -28
  170. package/dist/runtime/pm/features/CodeBlock/commands/codeBlockIndent.d.ts +0 -9
  171. package/dist/runtime/pm/features/CodeBlock/commands/codeBlockIndent.js +0 -39
  172. package/dist/runtime/pm/features/CodeBlock/commands/codeBlockUnindent.d.ts +0 -9
  173. package/dist/runtime/pm/features/CodeBlock/commands/codeBlockUnindent.js +0 -50
  174. package/dist/runtime/pm/features/CodeBlock/commands/focusCodeBlockLanguage.d.ts +0 -9
  175. package/dist/runtime/pm/features/CodeBlock/commands/focusCodeBlockLanguage.js +0 -27
  176. package/dist/runtime/pm/features/CodeBlock/components/CodeBlockView.d.vue.ts +0 -92
  177. package/dist/runtime/pm/features/CodeBlock/components/CodeBlockView.vue +0 -112
  178. package/dist/runtime/pm/features/CodeBlock/components/CodeBlockView.vue.d.ts +0 -92
  179. package/dist/runtime/pm/features/CodeBlock/composables/useAsyncCodeBlockHighlighting.d.ts +0 -28
  180. package/dist/runtime/pm/features/CodeBlock/composables/useAsyncCodeBlockHighlighting.js +0 -137
  181. package/dist/runtime/pm/features/CodeBlock/composables/useHighlightJsTheme.d.ts +0 -37
  182. package/dist/runtime/pm/features/CodeBlock/composables/useHighlightJsTheme.js +0 -101
  183. package/dist/runtime/pm/features/CodeBlock/highlightJsInfo.d.ts +0 -17
  184. package/dist/runtime/pm/features/CodeBlock/highlightJsInfo.js +0 -711
  185. package/dist/runtime/pm/features/CodeBlock/types.d.ts +0 -4
  186. package/dist/runtime/pm/features/CodeBlock/types.js +0 -2
  187. package/dist/runtime/pm/features/Collaboration/Collaboration.d.ts +0 -66
  188. package/dist/runtime/pm/features/Collaboration/Collaboration.js +0 -169
  189. package/dist/runtime/pm/features/CommandsMenus/CommandBar.d.ts +0 -19
  190. package/dist/runtime/pm/features/CommandsMenus/CommandBar.js +0 -97
  191. package/dist/runtime/pm/features/CommandsMenus/commandBarMenuItems.d.ts +0 -20
  192. package/dist/runtime/pm/features/CommandsMenus/commandBarMenuItems.js +0 -188
  193. package/dist/runtime/pm/features/CommandsMenus/components/CommandBar.d.vue.ts +0 -8
  194. package/dist/runtime/pm/features/CommandsMenus/components/CommandBar.vue +0 -58
  195. package/dist/runtime/pm/features/CommandsMenus/components/CommandBar.vue.d.ts +0 -8
  196. package/dist/runtime/pm/features/CommandsMenus/components/CommandBarItem.d.vue.ts +0 -12
  197. package/dist/runtime/pm/features/CommandsMenus/components/CommandBarItem.vue +0 -42
  198. package/dist/runtime/pm/features/CommandsMenus/components/CommandBarItem.vue.d.ts +0 -12
  199. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuGroup.d.vue.ts +0 -10
  200. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuGroup.vue +0 -55
  201. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuGroup.vue.d.ts +0 -10
  202. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuItem.d.vue.ts +0 -11
  203. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuItem.vue +0 -58
  204. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuItem.vue.d.ts +0 -11
  205. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuList.d.vue.ts +0 -11
  206. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuList.vue +0 -54
  207. package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuList.vue.d.ts +0 -11
  208. package/dist/runtime/pm/features/CommandsMenus/components/TextIcon.d.vue.ts +0 -5
  209. package/dist/runtime/pm/features/CommandsMenus/components/TextIcon.vue +0 -13
  210. package/dist/runtime/pm/features/CommandsMenus/components/TextIcon.vue.d.ts +0 -5
  211. package/dist/runtime/pm/features/CommandsMenus/icons/HighlightIcon.d.vue.ts +0 -8
  212. package/dist/runtime/pm/features/CommandsMenus/icons/HighlightIcon.vue +0 -45
  213. package/dist/runtime/pm/features/CommandsMenus/icons/HighlightIcon.vue.d.ts +0 -8
  214. package/dist/runtime/pm/features/CommandsMenus/icons/SubscriptIcon.d.vue.ts +0 -2
  215. package/dist/runtime/pm/features/CommandsMenus/icons/SubscriptIcon.vue +0 -5
  216. package/dist/runtime/pm/features/CommandsMenus/icons/SubscriptIcon.vue.d.ts +0 -2
  217. package/dist/runtime/pm/features/CommandsMenus/icons/SuperscriptIcon.d.vue.ts +0 -2
  218. package/dist/runtime/pm/features/CommandsMenus/icons/SuperscriptIcon.vue +0 -5
  219. package/dist/runtime/pm/features/CommandsMenus/icons/SuperscriptIcon.vue.d.ts +0 -2
  220. package/dist/runtime/pm/features/CommandsMenus/types.d.ts +0 -61
  221. package/dist/runtime/pm/features/CommandsMenus/types.js +0 -5
  222. package/dist/runtime/pm/features/CommandsMenus/utils/defaultCommandExecutor.d.ts +0 -3
  223. package/dist/runtime/pm/features/CommandsMenus/utils/defaultCommandExecutor.js +0 -11
  224. package/dist/runtime/pm/features/CommandsMenus/utils/findCommand.d.ts +0 -10
  225. package/dist/runtime/pm/features/CommandsMenus/utils/findCommand.js +0 -16
  226. package/dist/runtime/pm/features/CommandsMenus/utils/popupPositionModifier.d.ts +0 -5
  227. package/dist/runtime/pm/features/CommandsMenus/utils/popupPositionModifier.js +0 -9
  228. package/dist/runtime/pm/features/CommandsMenus/utils/popupVerticalPositioner.d.ts +0 -5
  229. package/dist/runtime/pm/features/CommandsMenus/utils/popupVerticalPositioner.js +0 -11
  230. package/dist/runtime/pm/features/Document/Document.d.ts +0 -3
  231. package/dist/runtime/pm/features/Document/Document.js +0 -6
  232. package/dist/runtime/pm/features/DocumentApi/DocumentApi.d.ts +0 -86
  233. package/dist/runtime/pm/features/DocumentApi/DocumentApi.js +0 -170
  234. package/dist/runtime/pm/features/DocumentApi/composables/useEditorContent.d.ts +0 -13
  235. package/dist/runtime/pm/features/DocumentApi/composables/useEditorContent.js +0 -76
  236. package/dist/runtime/pm/features/DocumentApi/composables/useTestDocumentApi.d.ts +0 -23
  237. package/dist/runtime/pm/features/DocumentApi/composables/useTestDocumentApi.js +0 -70
  238. package/dist/runtime/pm/features/DocumentApi/types.d.ts +0 -133
  239. package/dist/runtime/pm/features/DocumentApi/types.js +0 -1
  240. package/dist/runtime/pm/features/DocumentApi/utils/convertFullTransactionForPartialState.d.ts +0 -3
  241. package/dist/runtime/pm/features/DocumentApi/utils/convertFullTransactionForPartialState.js +0 -37
  242. package/dist/runtime/pm/features/DocumentApi/utils/convertTrForInstance.d.ts +0 -4
  243. package/dist/runtime/pm/features/DocumentApi/utils/convertTrForInstance.js +0 -13
  244. package/dist/runtime/pm/features/DocumentApi/utils/convertTransactionForFullState.d.ts +0 -2
  245. package/dist/runtime/pm/features/DocumentApi/utils/convertTransactionForFullState.js +0 -22
  246. package/dist/runtime/pm/features/DocumentApi/utils/copyMeta.d.ts +0 -2
  247. package/dist/runtime/pm/features/DocumentApi/utils/copyMeta.js +0 -6
  248. package/dist/runtime/pm/features/DocumentApi/utils/getEmbedJson.d.ts +0 -1
  249. package/dist/runtime/pm/features/DocumentApi/utils/getEmbedJson.js +0 -14
  250. package/dist/runtime/pm/features/DocumentApi/utils/getEmbedNodeFromDoc.d.ts +0 -1
  251. package/dist/runtime/pm/features/DocumentApi/utils/getEmbedNodeFromDoc.js +0 -14
  252. package/dist/runtime/pm/features/DocumentApi/utils/getStateEmbedRange.d.ts +0 -9
  253. package/dist/runtime/pm/features/DocumentApi/utils/getStateEmbedRange.js +0 -19
  254. package/dist/runtime/pm/features/DocumentApi/utils/isEmbedId.d.ts +0 -2
  255. package/dist/runtime/pm/features/DocumentApi/utils/isEmbedId.js +0 -3
  256. package/dist/runtime/pm/features/EmbeddedDocument/Embedded.d.ts +0 -24
  257. package/dist/runtime/pm/features/EmbeddedDocument/Embedded.js +0 -73
  258. package/dist/runtime/pm/features/EmbeddedDocument/EmbeddedDocument.d.ts +0 -23
  259. package/dist/runtime/pm/features/EmbeddedDocument/EmbeddedDocument.js +0 -70
  260. package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedDocumentPicker.d.vue.ts +0 -14
  261. package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedDocumentPicker.vue +0 -169
  262. package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedDocumentPicker.vue.d.ts +0 -14
  263. package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.d.vue.ts +0 -92
  264. package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.vue +0 -170
  265. package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.vue.d.ts +0 -92
  266. package/dist/runtime/pm/features/EmbeddedDocument/composables/useEmbeddedEditor.d.ts +0 -31
  267. package/dist/runtime/pm/features/EmbeddedDocument/composables/useEmbeddedEditor.js +0 -199
  268. package/dist/runtime/pm/features/EmbeddedDocument/types.d.ts +0 -49
  269. package/dist/runtime/pm/features/EmbeddedDocument/types.js +0 -6
  270. package/dist/runtime/pm/features/EmbeddedDocument/utils/isEmbeddedBlock.d.ts +0 -9
  271. package/dist/runtime/pm/features/EmbeddedDocument/utils/isEmbeddedBlock.js +0 -3
  272. package/dist/runtime/pm/features/EmbeddedDocument/utils/redirectFromEmbedded.d.ts +0 -28
  273. package/dist/runtime/pm/features/EmbeddedDocument/utils/redirectFromEmbedded.js +0 -17
  274. package/dist/runtime/pm/features/FileLoader/FileLoader.d.ts +0 -16
  275. package/dist/runtime/pm/features/FileLoader/FileLoader.js +0 -99
  276. package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/FileLoaderHandler.d.ts +0 -28
  277. package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/FileLoaderHandler.js +0 -69
  278. package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/TestFileLoaderHandler.d.ts +0 -11
  279. package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/TestFileLoaderHandler.js +0 -49
  280. package/dist/runtime/pm/features/FileLoader/commands/insertFile.d.ts +0 -17
  281. package/dist/runtime/pm/features/FileLoader/commands/insertFile.js +0 -39
  282. package/dist/runtime/pm/features/FileLoader/components/FileLoaderNodeView.d.vue.ts +0 -92
  283. package/dist/runtime/pm/features/FileLoader/components/FileLoaderNodeView.vue +0 -38
  284. package/dist/runtime/pm/features/FileLoader/components/FileLoaderNodeView.vue.d.ts +0 -92
  285. package/dist/runtime/pm/features/FileLoader/plugins/fileLoaderPlugin.d.ts +0 -5
  286. package/dist/runtime/pm/features/FileLoader/plugins/fileLoaderPlugin.js +0 -61
  287. package/dist/runtime/pm/features/FileLoader/types.d.ts +0 -73
  288. package/dist/runtime/pm/features/FileLoader/types.js +0 -0
  289. package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNode.d.ts +0 -4
  290. package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNode.js +0 -27
  291. package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNodes.d.ts +0 -9
  292. package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNodes.js +0 -22
  293. package/dist/runtime/pm/features/FileLoader/utils/findLoadingNodePos.d.ts +0 -2
  294. package/dist/runtime/pm/features/FileLoader/utils/findLoadingNodePos.js +0 -11
  295. package/dist/runtime/pm/features/FileLoader/utils/optionsCheck.d.ts +0 -3
  296. package/dist/runtime/pm/features/FileLoader/utils/optionsCheck.js +0 -8
  297. package/dist/runtime/pm/features/FileLoader/utils/readAsDataUrl.d.ts +0 -1
  298. package/dist/runtime/pm/features/FileLoader/utils/readAsDataUrl.js +0 -12
  299. package/dist/runtime/pm/features/HardBreak/HardBreak.d.ts +0 -5
  300. package/dist/runtime/pm/features/HardBreak/HardBreak.js +0 -14
  301. package/dist/runtime/pm/features/Heading/Heading.d.ts +0 -24
  302. package/dist/runtime/pm/features/Heading/Heading.js +0 -85
  303. package/dist/runtime/pm/features/Heading/commands/changeLevelAttr.d.ts +0 -16
  304. package/dist/runtime/pm/features/Heading/commands/changeLevelAttr.js +0 -33
  305. package/dist/runtime/pm/features/Heading/types.d.ts +0 -14
  306. package/dist/runtime/pm/features/Heading/types.js +0 -0
  307. package/dist/runtime/pm/features/Highlight/Highlight.d.ts +0 -72
  308. package/dist/runtime/pm/features/Highlight/Highlight.js +0 -163
  309. package/dist/runtime/pm/features/Highlight/retyped/tiptapHighlight.d.ts +0 -3
  310. package/dist/runtime/pm/features/Highlight/retyped/tiptapHighlight.js +0 -5
  311. package/dist/runtime/pm/features/Highlight/types.d.ts +0 -27
  312. package/dist/runtime/pm/features/Highlight/types.js +0 -2
  313. package/dist/runtime/pm/features/History/History.d.ts +0 -35
  314. package/dist/runtime/pm/features/History/History.js +0 -63
  315. package/dist/runtime/pm/features/Iframe/Iframe.d.ts +0 -21
  316. package/dist/runtime/pm/features/Iframe/Iframe.js +0 -127
  317. package/dist/runtime/pm/features/Iframe/IframeParsers.d.ts +0 -37
  318. package/dist/runtime/pm/features/Iframe/IframeParsers.js +0 -88
  319. package/dist/runtime/pm/features/Iframe/components/IframeNodeView.d.vue.ts +0 -92
  320. package/dist/runtime/pm/features/Iframe/components/IframeNodeView.vue +0 -79
  321. package/dist/runtime/pm/features/Iframe/components/IframeNodeView.vue.d.ts +0 -92
  322. package/dist/runtime/pm/features/Iframe/types.d.ts +0 -5
  323. package/dist/runtime/pm/features/Iframe/types.js +0 -0
  324. package/dist/runtime/pm/features/Image/Image.d.ts +0 -2
  325. package/dist/runtime/pm/features/Image/Image.js +0 -13
  326. package/dist/runtime/pm/features/Link/Link.d.ts +0 -38
  327. package/dist/runtime/pm/features/Link/Link.js +0 -241
  328. package/dist/runtime/pm/features/Link/components/BubbleMenuExternalLink.d.vue.ts +0 -28
  329. package/dist/runtime/pm/features/Link/components/BubbleMenuExternalLink.vue +0 -113
  330. package/dist/runtime/pm/features/Link/components/BubbleMenuExternalLink.vue.d.ts +0 -28
  331. package/dist/runtime/pm/features/Link/components/BubbleMenuInternalLink.d.vue.ts +0 -29
  332. package/dist/runtime/pm/features/Link/components/BubbleMenuInternalLink.vue +0 -104
  333. package/dist/runtime/pm/features/Link/components/BubbleMenuInternalLink.vue.d.ts +0 -29
  334. package/dist/runtime/pm/features/Link/components/BubbleMenuLink.d.vue.ts +0 -11
  335. package/dist/runtime/pm/features/Link/components/BubbleMenuLink.vue +0 -126
  336. package/dist/runtime/pm/features/Link/components/BubbleMenuLink.vue.d.ts +0 -11
  337. package/dist/runtime/pm/features/Link/components/BubbleMenuLinkActions.d.vue.ts +0 -18
  338. package/dist/runtime/pm/features/Link/components/BubbleMenuLinkActions.vue +0 -54
  339. package/dist/runtime/pm/features/Link/components/BubbleMenuLinkActions.vue.d.ts +0 -18
  340. package/dist/runtime/pm/features/Link/types.d.ts +0 -44
  341. package/dist/runtime/pm/features/Link/types.js +0 -3
  342. package/dist/runtime/pm/features/Menus/Menus.d.ts +0 -45
  343. package/dist/runtime/pm/features/Menus/Menus.js +0 -142
  344. package/dist/runtime/pm/features/Menus/components/MarkMenuManager.d.vue.ts +0 -6
  345. package/dist/runtime/pm/features/Menus/components/MarkMenuManager.vue +0 -165
  346. package/dist/runtime/pm/features/Menus/components/MarkMenuManager.vue.d.ts +0 -6
  347. package/dist/runtime/pm/features/Menus/types.d.ts +0 -51
  348. package/dist/runtime/pm/features/Menus/types.js +0 -3
  349. package/dist/runtime/pm/features/Menus/utils/isMarkMenu.d.ts +0 -2
  350. package/dist/runtime/pm/features/Menus/utils/isMarkMenu.js +0 -3
  351. package/dist/runtime/pm/features/Tables/commands/tableEnter.d.ts +0 -15
  352. package/dist/runtime/pm/features/Tables/commands/tableEnter.js +0 -19
  353. package/dist/runtime/pm/features/Tables/index.d.ts +0 -9
  354. package/dist/runtime/pm/features/Tables/index.js +0 -44
  355. package/dist/runtime/pm/schema.d.ts +0 -4
  356. package/dist/runtime/pm/schema.js +0 -80
  357. package/dist/runtime/pm/testSchema.d.ts +0 -5
  358. package/dist/runtime/pm/testSchema.js +0 -30
  359. package/dist/runtime/pm/utils/createDropIndicator.d.ts +0 -23
  360. package/dist/runtime/pm/utils/createDropIndicator.js +0 -32
  361. package/dist/runtime/pm/utils/createStateOnlyPluginApply.d.ts +0 -2
  362. package/dist/runtime/pm/utils/createStateOnlyPluginApply.js +0 -9
  363. package/dist/runtime/pm/utils/createStateOnlyPluginObjApply.d.ts +0 -2
  364. package/dist/runtime/pm/utils/createStateOnlyPluginObjApply.js +0 -14
  365. package/dist/runtime/pm/utils/dropPointInfo.d.ts +0 -56
  366. package/dist/runtime/pm/utils/dropPointInfo.js +0 -28
  367. package/dist/runtime/pm/utils/findUpwards.d.ts +0 -20
  368. package/dist/runtime/pm/utils/findUpwards.js +0 -18
  369. package/dist/runtime/pm/utils/getChildChunks.d.ts +0 -3
  370. package/dist/runtime/pm/utils/getChildChunks.js +0 -15
  371. package/dist/runtime/pm/utils/getDiffReplacementRange.d.ts +0 -20
  372. package/dist/runtime/pm/utils/getDiffReplacementRange.js +0 -9
  373. package/dist/runtime/pm/utils/getElMaxVisualSize.d.ts +0 -9
  374. package/dist/runtime/pm/utils/getElMaxVisualSize.js +0 -7
  375. package/dist/runtime/pm/utils/getElPropertyAsInt.d.ts +0 -1
  376. package/dist/runtime/pm/utils/getElPropertyAsInt.js +0 -8
  377. package/dist/runtime/pm/utils/getGroupNodeNames.d.ts +0 -2
  378. package/dist/runtime/pm/utils/getGroupNodeNames.js +0 -7
  379. package/dist/runtime/pm/utils/getMarkPosition.d.ts +0 -11
  380. package/dist/runtime/pm/utils/getMarkPosition.js +0 -34
  381. package/dist/runtime/pm/utils/getMarksInSelection.d.ts +0 -3
  382. package/dist/runtime/pm/utils/getMarksInSelection.js +0 -16
  383. package/dist/runtime/pm/utils/getTypeByName.d.ts +0 -2
  384. package/dist/runtime/pm/utils/getTypeByName.js +0 -5
  385. package/dist/runtime/pm/utils/index.d.ts +0 -15
  386. package/dist/runtime/pm/utils/index.js +0 -15
  387. package/dist/runtime/pm/utils/internal/createNodeTypesList.d.ts +0 -2
  388. package/dist/runtime/pm/utils/internal/createNodeTypesList.js +0 -17
  389. package/dist/runtime/pm/utils/internal/debugMap.d.ts +0 -7
  390. package/dist/runtime/pm/utils/internal/debugMap.js +0 -24
  391. package/dist/runtime/pm/utils/internal/debugNode.d.ts +0 -2
  392. package/dist/runtime/pm/utils/internal/debugNode.js +0 -18
  393. package/dist/runtime/pm/utils/internal/debugSel.d.ts +0 -5
  394. package/dist/runtime/pm/utils/internal/debugSel.js +0 -8
  395. package/dist/runtime/pm/utils/internal/recurse.d.ts +0 -2
  396. package/dist/runtime/pm/utils/internal/recurse.js +0 -39
  397. package/dist/runtime/pm/utils/internal/stripBlockId.d.ts +0 -2
  398. package/dist/runtime/pm/utils/internal/stripBlockId.js +0 -9
  399. package/dist/runtime/pm/utils/mapSelection.d.ts +0 -8
  400. package/dist/runtime/pm/utils/mapSelection.js +0 -12
  401. package/dist/runtime/pm/utils/nodesBetween.d.ts +0 -21
  402. package/dist/runtime/pm/utils/nodesBetween.js +0 -21
  403. package/dist/runtime/pm/utils/pointToPmPoint.d.ts +0 -2
  404. package/dist/runtime/pm/utils/pointToPmPoint.js +0 -3
  405. package/dist/runtime/pm/utils/splitIntoChunks.d.ts +0 -32
  406. package/dist/runtime/pm/utils/splitIntoChunks.js +0 -31
  407. package/dist/runtime/testDocuments.d.ts +0 -53
  408. package/dist/runtime/testDocuments.js +0 -122
  409. package/dist/runtime/types/index.d.ts +0 -53
  410. package/dist/runtime/types/index.js +0 -9
@@ -1,2 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
- export default _default;
@@ -1 +0,0 @@
1
- This is structured like this so we can check the demo is both buildable from nuxt and vite.
@@ -1 +0,0 @@
1
- import "./tailwind.css";
@@ -1,4 +0,0 @@
1
- import "./tailwind.css";
2
- import { createApp } from "vue";
3
- import App from "../components/EditorDemoApp.vue";
4
- createApp(App).mount("#app");
@@ -1 +0,0 @@
1
- @import "tailwindcss" source("../");@import "../../../playground/.nuxt/witchcraft-ui.css";@import "../../../playground/.nuxt/witchcraft-editor.css";
@@ -1,2 +0,0 @@
1
- /// <reference types="vite/client" />
2
- /// <reference types="@witchcraft/ui" />
@@ -1,6 +0,0 @@
1
- import type { useScrollNearContainerEdges } from "@witchcraft/ui/composables/useScrollNearContainerEdges";
2
- import type { ComputedRef, InjectionKey } from "vue";
3
- import type { CssVariables } from "./types/index.js";
4
- export declare const editorCssVariablesInjectionKey: InjectionKey<ComputedRef<CssVariables>>;
5
- export declare const editorScrollInjectionKey: InjectionKey<ReturnType<typeof useScrollNearContainerEdges>>;
6
- export declare const editorTeleportToInjectionKey: InjectionKey<string>;
@@ -1,3 +0,0 @@
1
- export const editorCssVariablesInjectionKey = Symbol("editorCssVariablesInjectionKey");
2
- export const editorScrollInjectionKey = Symbol("editorScrollInjectionKey");
3
- export const editorTeleportToInjectionKey = Symbol("editorTeleportToInjectionKey");
@@ -1,2 +0,0 @@
1
- export * from "./types/index.js";
2
- export { default as Editor } from "./components/Editor.vue";
@@ -1,2 +0,0 @@
1
- export * from "./types/index.js";
2
- export { default as Editor } from "./components/Editor.vue";
@@ -1,12 +0,0 @@
1
- import type { Command } from "@tiptap/core";
2
- declare module "@tiptap/core" {
3
- interface Commands<ReturnType> {
4
- backspace: {
5
- /**
6
- * @redirectable
7
- */
8
- backspace: () => ReturnType;
9
- };
10
- }
11
- }
12
- export declare const backspace: () => () => Command;
@@ -1,26 +0,0 @@
1
- import { Selection, TextSelection } from "@tiptap/pm/state";
2
- import { redirectFromEmbedded } from "../features/EmbeddedDocument/utils/redirectFromEmbedded.js";
3
- export const backspace = () => () => ({ state, tr, commands, dispatch, view }) => {
4
- const { from, to, $from } = state.selection.map(tr.doc, tr.mapping);
5
- if (from === to) {
6
- const redirect = redirectFromEmbedded(view, "backspace", { args: [], view, commands });
7
- if (redirect.redirected) {
8
- return redirect.result;
9
- }
10
- if ($from.start() === from) {
11
- const endsEqual = $from.end() === $from.start();
12
- const newFrom = Selection.findFrom(state.doc.resolve(from - 1), -1, true);
13
- if (!newFrom) return false;
14
- if (dispatch) {
15
- tr.delete(newFrom.from, to + (endsEqual ? 2 : 0));
16
- tr.setSelection(new TextSelection(tr.doc.resolve(newFrom.from)));
17
- }
18
- return true;
19
- } else {
20
- if (dispatch) tr.delete(from - 1, to);
21
- return true;
22
- }
23
- } else {
24
- return commands.deleteSelection();
25
- }
26
- };
@@ -1,9 +0,0 @@
1
- import type { Command } from "@tiptap/core";
2
- declare module "@tiptap/core" {
3
- interface Commands<ReturnType> {
4
- changeAttrs: {
5
- changeAttrs: (nodeType: string | undefined, attrs: Record<string, unknown>) => ReturnType;
6
- };
7
- }
8
- }
9
- export declare const changeAttrs: () => (nodeType: string | undefined, attrs: Record<string, unknown>) => Command;
@@ -1,15 +0,0 @@
1
- import { nodesBetween } from "../utils/nodesBetween.js";
2
- export const changeAttrs = () => (nodeType, attrs) => ({ state, tr, dispatch }) => {
3
- let changed = false;
4
- nodesBetween(tr.doc, state.selection.map(tr.doc, tr.mapping), (node, pos) => {
5
- if (node?.type?.name === nodeType) {
6
- changed = true;
7
- if (dispatch) {
8
- tr.setNodeMarkup(pos, void 0, attrs);
9
- }
10
- }
11
- return true;
12
- });
13
- if (!changed) return false;
14
- return true;
15
- };
@@ -1,9 +0,0 @@
1
- import type { Command } from "@tiptap/core";
2
- declare module "@tiptap/core" {
3
- interface Commands<ReturnType> {
4
- deleteSelection: {
5
- deleteSelection: () => ReturnType;
6
- };
7
- }
8
- }
9
- export declare const deleteSelection: () => () => Command;
@@ -1,8 +0,0 @@
1
- export const deleteSelection = () => () => ({ state, tr, dispatch }) => {
2
- const { from, to } = state.selection.map(tr.doc, tr.mapping);
3
- if (from !== to) {
4
- if (dispatch) tr.delete(from, to);
5
- return true;
6
- }
7
- return false;
8
- };
@@ -1,14 +0,0 @@
1
- import type { Command } from "@tiptap/core";
2
- declare module "@tiptap/core" {
3
- interface Commands<ReturnType> {
4
- customEnter: {
5
- /**
6
- * Overrides tiptap's enter command.
7
- *
8
- * @redirectable
9
- */
10
- enter: (pos?: number) => ReturnType;
11
- };
12
- }
13
- }
14
- export declare const enter: () => (pos?: number) => Command;
@@ -1,9 +0,0 @@
1
- export const enter = () => (pos) => ({ commands }) => commands.first(({ commands: commands2 }) => [
2
- // incase the command isn't registered
3
- () => commands2?.blockquoteEnter(pos),
4
- // incase the command isn't registered
5
- () => commands2?.codeBlockEnterOrSplit(pos),
6
- () => commands2?.tableEnter(pos),
7
- () => commands2.splitItem(pos),
8
- () => commands2.insertBreak(pos)
9
- ]);
@@ -1,9 +0,0 @@
1
- import { type Command } from "@tiptap/core";
2
- declare module "@tiptap/core" {
3
- interface Commands<ReturnType> {
4
- insertBreak: {
5
- insertBreak: (pos?: number) => ReturnType;
6
- };
7
- }
8
- }
9
- export declare const insertBreak: (codeBlockType?: string, disallowedTypesOrNames?: string[]) => (pos?: number) => Command;
@@ -1,22 +0,0 @@
1
- import { getNodeType } from "@tiptap/core";
2
- import { TextSelection } from "@tiptap/pm/state";
3
- export const insertBreak = (codeBlockType = "codeBlock", disallowedTypesOrNames = ["blockquote"]) => (pos) => ({ state, commands, tr, dispatch }) => {
4
- const { $from, $to } = state.selection.map(tr.doc, tr.mapping);
5
- if ($from.parent.type.name === codeBlockType || $to.parent.type.name === codeBlockType) {
6
- return commands.codeBlockEnterOrSplit(pos);
7
- }
8
- const disallowedTypes = disallowedTypesOrNames.map((type) => getNodeType(type, state.schema));
9
- if (disallowedTypes.some((type) => $from.node(-1)?.type === type || $to.node(-1)?.type === type)) {
10
- return false;
11
- }
12
- if (dispatch) {
13
- if (pos !== void 0) {
14
- tr.setSelection(TextSelection.create(tr.doc, pos));
15
- }
16
- commands.setHardBreak();
17
- if (pos !== void 0) {
18
- tr.setSelection(TextSelection.create(tr.doc, tr.mapping.map(pos)));
19
- }
20
- }
21
- return true;
22
- };
@@ -1,4 +0,0 @@
1
- import { Extension } from "@tiptap/core";
2
- import type { BaseExtensionOptions } from "./types.js";
3
- /** Adds some basic commands and plugins to the editor. */
4
- export declare const Base: Extension<BaseExtensionOptions, any>;
@@ -1,32 +0,0 @@
1
- import { Extension } from "@tiptap/core";
2
- import { deleteNodes } from "./commands/deleteNodes.js";
3
- import { setCursorVisible } from "./commands/setCursorVisible.js";
4
- import { debugSelectionPlugin } from "./plugins/debugSelectionPlugin.js";
5
- import { isCursorVisiblePlugin } from "./plugins/isCursorVisiblePlugin.js";
6
- import { isUsingTouchPlugin } from "./plugins/isUsingTouchPlugin.js";
7
- import { unfocusedSelectionIndicatorPlugin } from "./plugins/unfocusedSelectionIndicatorPlugin.js";
8
- import { backspace } from "../../commands/backspace.js";
9
- import { changeAttrs } from "../../commands/changeAttrs.js";
10
- import { enter } from "../../commands/enter.js";
11
- import { insertBreak } from "../../commands/insertBreak.js";
12
- export const Base = Extension.create({
13
- name: "Base",
14
- addProseMirrorPlugins() {
15
- return [
16
- debugSelectionPlugin(this.editor),
17
- unfocusedSelectionIndicatorPlugin(),
18
- isUsingTouchPlugin(),
19
- isCursorVisiblePlugin()
20
- ];
21
- },
22
- addCommands() {
23
- return {
24
- enter: enter(),
25
- deleteNodes: deleteNodes(),
26
- insertBreak: insertBreak("codeBlock"),
27
- backspace: backspace(),
28
- changeAttrs: changeAttrs(),
29
- setCursorVisible: setCursorVisible()
30
- };
31
- }
32
- });
@@ -1,10 +0,0 @@
1
- import { type Command } from "@tiptap/core";
2
- import type { NodeType } from "@tiptap/pm/model";
3
- declare module "@tiptap/core" {
4
- interface Commands<ReturnType> {
5
- deleteNodes: {
6
- deleteNodes: (type: NodeType | string, pos?: number | undefined) => ReturnType;
7
- };
8
- }
9
- }
10
- export declare const deleteNodes: () => (type: NodeType | string, pos?: number | undefined) => Command;
@@ -1,29 +0,0 @@
1
- import { getNodeType } from "@tiptap/core";
2
- import { TextSelection } from "@tiptap/pm/state";
3
- import { findUpwards } from "../../../utils/findUpwards.js";
4
- export const deleteNodes = () => (type, pos) => ({ state, tr, dispatch }) => {
5
- const nodeType = getNodeType(type, state.schema);
6
- if (pos !== void 0) {
7
- const $pos = tr.doc.resolve(pos);
8
- const $wantedPos = findUpwards(tr.doc, pos, ($pos2) => $pos2.node().type === nodeType).$pos;
9
- if (!$wantedPos) return false;
10
- const depth = $wantedPos.depth - ($wantedPos.node(-1).childCount === 1 ? 1 : 0);
11
- if (dispatch) {
12
- const beforePos = $pos.before(depth);
13
- tr.delete(beforePos, $pos.after(depth));
14
- }
15
- } else {
16
- const { $from, $to, from } = state.selection.map(tr.doc, tr.mapping);
17
- const $wantedFrom = findUpwards(tr.doc, from, ($pos) => $pos.node().type === nodeType).$pos;
18
- const $wantedTo = findUpwards(tr.doc, from, ($pos) => $pos.node().type === nodeType).$pos;
19
- if (!$wantedFrom || !$wantedTo) return false;
20
- const startDepth = $wantedFrom.depth - ($wantedFrom?.node(-1).childCount === 1 ? 1 : 0);
21
- const endDepth = $wantedTo.depth - ($wantedTo?.node(-1).childCount === 1 ? 1 : 0);
22
- if (dispatch) {
23
- tr.delete($from.before(startDepth), $to.after(endDepth));
24
- const newCursor = tr.mapping.map(from) - 1;
25
- tr.setSelection(TextSelection.near(tr.doc.resolve(newCursor), -1));
26
- }
27
- }
28
- return true;
29
- };
@@ -1,12 +0,0 @@
1
- import type { Command } from "@tiptap/core";
2
- declare module "@tiptap/core" {
3
- interface Commands<ReturnType> {
4
- setCursorVisible: {
5
- /**
6
- * Set the state of the cursor visibility plugin.
7
- */
8
- setCursorVisible: (val: boolean) => ReturnType;
9
- };
10
- }
11
- }
12
- export declare const setCursorVisible: () => (val: boolean) => Command;
@@ -1,7 +0,0 @@
1
- import { isCursorVisiblePluginKey } from "../plugins/isCursorVisiblePlugin.js";
2
- export const setCursorVisible = () => (val) => ({ tr, dispatch }) => {
3
- if (dispatch) {
4
- tr.setMeta(isCursorVisiblePluginKey, val);
5
- }
6
- return true;
7
- };
@@ -1,9 +0,0 @@
1
- import type { Editor } from "@tiptap/core";
2
- import { Plugin, PluginKey } from "@tiptap/pm/state";
3
- export declare const debugSelectionPluginKey: PluginKey<any>;
4
- /**
5
- * Sets the window title to the current selection for debugging in development mode (by checking import.meta.dev).
6
- *
7
- * For embedded editors, adds the selection as `[from - to]`.
8
- */
9
- export declare const debugSelectionPlugin: (editor: Editor, log?: boolean) => Plugin;
@@ -1,48 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- import { isEmbeddedBlock } from "../../EmbeddedDocument/utils/isEmbeddedBlock.js";
3
- const ROOT_SELECTION_REGEX = /([0-9 -]*)(\[|$)/;
4
- const SUB_SELECTION_REGEX = /(\[[0-9 -]*\])/;
5
- export const debugSelectionPluginKey = new PluginKey("debugSelection");
6
- export const debugSelectionPlugin = (editor, log = false) => {
7
- let initialized = false;
8
- return new Plugin({
9
- key: debugSelectionPluginKey,
10
- state: {
11
- init() {
12
- },
13
- apply(tr) {
14
- if (!import.meta.dev) {
15
- return;
16
- }
17
- const sel = `${tr.selection.from} - ${tr.selection.to}`;
18
- if (isEmbeddedBlock(editor.view)) {
19
- if (log) {
20
- console.log(`embedded selection: ${tr.selection.from} - ${tr.selection.to}`);
21
- }
22
- const hasEmbeddedSelection = document.title.match(SUB_SELECTION_REGEX);
23
- if (hasEmbeddedSelection) {
24
- document.title = document.title.replace(
25
- SUB_SELECTION_REGEX,
26
- `[${sel}]`
27
- );
28
- } else {
29
- document.title = `${document.title} [${sel}]`;
30
- }
31
- } else {
32
- if (log) {
33
- console.log(`root selection: ${tr.selection.from} - ${tr.selection.to}`);
34
- }
35
- if (!initialized) {
36
- initialized = true;
37
- document.title = sel;
38
- } else {
39
- document.title = document.title.replace(
40
- ROOT_SELECTION_REGEX,
41
- `${sel} $2`
42
- );
43
- }
44
- }
45
- }
46
- }
47
- });
48
- };
@@ -1,3 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- export declare const isCursorVisiblePluginKey: PluginKey<boolean>;
3
- export declare function isCursorVisiblePlugin(): Plugin<boolean>;
@@ -1,26 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- import { createStateOnlyPluginApply } from "../../../utils/createStateOnlyPluginApply.js";
3
- export const isCursorVisiblePluginKey = new PluginKey("isCursorVisiblePlugin");
4
- export function isCursorVisiblePlugin() {
5
- const noClasses = {};
6
- const attributes = {
7
- class: "[caret-color:transparent]"
8
- };
9
- return new Plugin({
10
- key: isCursorVisiblePluginKey,
11
- state: {
12
- init() {
13
- return true;
14
- },
15
- apply: createStateOnlyPluginApply(isCursorVisiblePluginKey)
16
- },
17
- props: {
18
- attributes(state) {
19
- if (!isCursorVisiblePluginKey.getState(state)) {
20
- return attributes;
21
- }
22
- return noClasses;
23
- }
24
- }
25
- });
26
- }
@@ -1,3 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- export declare const isUsingTouchPluginKey: PluginKey<boolean>;
3
- export declare function isUsingTouchPlugin(): Plugin<boolean>;
@@ -1,38 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- import { createStateOnlyPluginApply } from "../../../utils/createStateOnlyPluginApply.js";
3
- export const isUsingTouchPluginKey = new PluginKey("isUsingTouchPlugin");
4
- export function isUsingTouchPlugin() {
5
- const noClasses = {};
6
- const attributes = {
7
- class: "group using-touch"
8
- };
9
- return new Plugin({
10
- key: isUsingTouchPluginKey,
11
- props: {
12
- handleDOMEvents: {
13
- pointerdown: (view, event) => {
14
- const pluginState = isUsingTouchPluginKey.getState(view.state);
15
- const isUsingTouch = event.pointerType === "touch";
16
- if (pluginState !== isUsingTouch) {
17
- const tr = view.state.tr;
18
- tr.setMeta(isUsingTouchPluginKey, true);
19
- tr.setMeta("addToHistory", false);
20
- view.dispatch(tr);
21
- }
22
- }
23
- },
24
- attributes: (state) => {
25
- if (isUsingTouchPluginKey.getState(state)) {
26
- return attributes;
27
- }
28
- return noClasses;
29
- }
30
- },
31
- state: {
32
- init() {
33
- return false;
34
- },
35
- apply: createStateOnlyPluginApply(isUsingTouchPluginKey)
36
- }
37
- });
38
- }
@@ -1,5 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- export declare const selectingIndicatorPluginKey: PluginKey<any>;
3
- export declare function selectingIndicatorPlugin({ className }?: {
4
- className?: string;
5
- }): Plugin;
@@ -1,35 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- export const selectingIndicatorPluginKey = new PluginKey(`selecting-indicator`);
3
- export function selectingIndicatorPlugin({ className = "selecting" } = {}) {
4
- let mightBeDragging = false;
5
- let dragging = false;
6
- return new Plugin({
7
- key: selectingIndicatorPluginKey,
8
- props: {
9
- handleDOMEvents: {
10
- pointerdown() {
11
- mightBeDragging = true;
12
- return false;
13
- },
14
- pointerover(view) {
15
- if (mightBeDragging) {
16
- if (dragging) return false;
17
- dragging = true;
18
- view.dom.classList.add(className);
19
- } else {
20
- if (!dragging) return false;
21
- dragging = false;
22
- view.dom.classList.remove(className);
23
- }
24
- return false;
25
- },
26
- pointerup(view) {
27
- mightBeDragging = false;
28
- dragging = false;
29
- view.dom.classList.remove(className);
30
- return false;
31
- }
32
- }
33
- }
34
- });
35
- }
@@ -1,33 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- export declare const unfocusedSelectionIndicatorKey: PluginKey<any>;
3
- /**
4
- * Shows a fake selection decoration while the editor is unfocused and restores the previous selection\* when the editor gains focus again. It also prevents initial focus in events from changing the selection (when it's a selection and not a single position).
5
- *
6
- * So if the user focuses on something like the search bar or the devtools panel, focusing back to the editor doesn't change the selection.
7
- *
8
- * Focusing other elements inside the editor does not count as blurring the editor.
9
- *
10
- * The plugin will add three classes to the decorations, the main class to all the nodes, then the start and end classes to the start and end nodes respectively. This is so you can style the selection correctly since everything from the start right up to the end will have a little extra padding to the right. Therefore technically the start class is not needed, but it's there if needed.
11
- *
12
- * Some css like this is needed to make it work. The tailwind classes already include some `pm-unfocused-selection` and `pm-unfocused-selection-end` utility classes that take care of this. They use the css variable `--pmUnfocusedSelectionColor` to set the color. They look like this:
13
- *
14
- * ```scss
15
- * .pm-unfocused-selection {
16
- * background-color: var(--pmUnfocusedSelectionColor);
17
- * box-shadow: 5px 0 0 0 var(--pmUnfocusedSelectionColor);
18
- * }
19
- * .pm-unfocused-selection-end {
20
- * box-shadow: none;
21
- * }
22
- * ```
23
- * Note regarding styling:
24
- *
25
- * It does not seem possible to get the real default color of selections so the best alternative is probably to use a custom selection color for the real selection. But just setting the same color to both won't work. The real selection gets some transparency added automatically so they will look different, plus the text changes color to indicate focus (which we wouldn't really want).
26
- *
27
- * Other Notes:
28
- * - Whenever it restores a selection or the editor loses focus it must dispatch a new transaction which will have the "unfocused-selection" meta if you need to filter it.
29
- * - If you want to hide the unfocused selection decorations you can set the
30
- * `hide-unfocused-selection` meta on the transaction.
31
- * - If you change the selection while the editor is considered unfocused, the saved selection will be changed to the new selection.
32
- */
33
- export declare function unfocusedSelectionIndicatorPlugin({ main: mainClass, start: startClass, end: endClass }?: Partial<Record<"main" | "start" | "end", string>>): Plugin;
@@ -1,66 +0,0 @@
1
- import { Plugin, PluginKey, TextSelection } from "@tiptap/pm/state";
2
- import { Decoration, DecorationSet } from "@tiptap/pm/view";
3
- export const unfocusedSelectionIndicatorKey = new PluginKey("unfocusedSelectionIndicator");
4
- export function unfocusedSelectionIndicatorPlugin({
5
- main: mainClass = "pm-unfocused-selection",
6
- start: startClass = `${mainClass}-start`,
7
- end: endClass = `${mainClass}-end`
8
- } = {}) {
9
- return new Plugin({
10
- key: unfocusedSelectionIndicatorKey,
11
- state: {
12
- init() {
13
- return {
14
- decos: DecorationSet.empty,
15
- savedSel: void 0
16
- };
17
- },
18
- apply(tr, value, _oldState, newState) {
19
- const trValue = tr.getMeta(unfocusedSelectionIndicatorKey);
20
- if (!trValue) return value;
21
- const newValue = { ...value, ...trValue };
22
- if (!newValue.savedSel) {
23
- newValue.decos = DecorationSet.empty;
24
- return newValue;
25
- }
26
- const { from, to } = newValue.savedSel;
27
- if (newState.selection.from !== from || newState.selection.to !== to) {
28
- newValue.savedSel = newState.selection;
29
- }
30
- const hideUnfocusedSelection = from === to || !!tr.getMeta("hide-unfocused-selection");
31
- newValue.decos = hideUnfocusedSelection ? DecorationSet.empty : DecorationSet.create(tr.doc, [
32
- Decoration.inline(from, from + 1, { class: `${mainClass} ${startClass}` }),
33
- Decoration.inline(from + 1, to - 1, { class: `${mainClass}` }),
34
- Decoration.inline(to - 1, to, { class: `${mainClass} ${endClass}` })
35
- ]);
36
- return newValue;
37
- }
38
- },
39
- props: {
40
- decorations(state) {
41
- return this.getState(state)?.decos;
42
- },
43
- handleDOMEvents: {
44
- blur(view, e) {
45
- if (e.relatedTarget instanceof Node && view.dom.contains(e.relatedTarget)) return;
46
- const tr = view.state.tr;
47
- if (!view.state.selection.empty) {
48
- tr.setMeta("unfocused-selection", true);
49
- tr.setMeta(unfocusedSelectionIndicatorKey, { savedSel: view.state.selection });
50
- }
51
- view.dispatch(tr);
52
- },
53
- focusin(view) {
54
- const savedSel = unfocusedSelectionIndicatorKey.getState(view.state)?.savedSel;
55
- if (savedSel) {
56
- const tr = view.state.tr;
57
- tr.setMeta("unfocused-selection", true);
58
- tr.setMeta(unfocusedSelectionIndicatorKey, { savedSel: void 0 });
59
- tr.setSelection(TextSelection.create(view.state.doc, savedSel.from, savedSel.to));
60
- view.dispatch(tr);
61
- }
62
- }
63
- }
64
- }
65
- });
66
- }
@@ -1,3 +0,0 @@
1
- import type { WithOnTriggerByEmbeddedBlockOptions } from "../EmbeddedDocument/types.js";
2
- export interface BaseExtensionOptions extends WithOnTriggerByEmbeddedBlockOptions {
3
- }
File without changes
@@ -1,3 +0,0 @@
1
- import { Extension } from "@tiptap/core";
2
- /** Extension for providing only the most basic shortcuts. */
3
- export declare const BaseShortcuts: Extension<any, any>;
@@ -1,34 +0,0 @@
1
- import { Extension } from "@tiptap/core";
2
- export const BaseShortcuts = Extension.create({
3
- name: "BaseShortcuts",
4
- addKeyboardShortcuts() {
5
- return {
6
- Backspace: () => this.editor.commands.backspace(),
7
- [`Ctrl-Backspace`]: () => this.editor.commands.deleteItem(),
8
- [`Ctrl-z`]: () => this.editor.commands.undo(),
9
- [`Ctrl-Shift-z`]: () => this.editor.commands.redo(),
10
- [`Ctrl-y`]: () => this.editor.commands.redo(),
11
- [`Ctrl-b`]: () => this.editor.commands.toggleBold(),
12
- [`Ctrl-i`]: () => this.editor.commands.toggleItalic(),
13
- Enter: () => this.editor.commands.enter(),
14
- [`Shift-Enter`]: () => this.editor.commands.first(({ commands }) => [
15
- () => commands.blockquoteShiftEnter(),
16
- () => commands.insertBreak()
17
- ]),
18
- [`Ctrl-.`]: () => this.editor.commands.indentItem(),
19
- [`Ctrl-,`]: () => this.editor.commands.unindentItem(),
20
- [`Ctrl-Space`]: () => {
21
- return this.editor.commands.openItemMenu("item");
22
- },
23
- Escape: () => this.editor.commands.first(({ commands }) => [
24
- () => commands.closeLinkMenu(),
25
- () => commands.blur()
26
- ]),
27
- Tab: () => this.editor.commands.codeBlockIndent(),
28
- [`Shift-Tab`]: () => this.editor.commands.codeBlockUnindent(),
29
- [`Ctrl-k`]: () => this.editor.commands.openLinkMenu(),
30
- [`Ctrl-Shift-k`]: () => this.editor.commands.openLinkMenu({ type: "internal" }),
31
- [`Ctrl-Alt-k`]: () => this.editor.commands.expandSelectionToLink()
32
- };
33
- }
34
- });
@@ -1,5 +0,0 @@
1
- import { Node } from "@tiptap/core";
2
- export declare const Blockquote: Node<import("@tiptap/extension-blockquote", { with: { "resolution-mode": "require" } }).BlockquoteOptions, any>;
3
- export type NodeBlockquoteName = "blockquote";
4
- export declare const Cite: Node<any, any>;
5
- export type NodeCiteName = "cite";