@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,99 +0,0 @@
1
- import { mergeAttributes, Node } from "@tiptap/core";
2
- import { insertFile } from "./commands/insertFile.js";
3
- import { fileLoaderPlugin } from "./plugins/fileLoaderPlugin.js";
4
- import { optionsCheck } from "./utils/optionsCheck.js";
5
- import { isValidId } from "../Blocks/utils/isValidId.js";
6
- export const FileLoader = Node.create({
7
- name: "fileLoader",
8
- content: "",
9
- marks: "",
10
- group: "block",
11
- addOptions() {
12
- return {
13
- cleanupOnLoad: true,
14
- onDrop: void 0,
15
- onPaste: void 0,
16
- // there are checks on init to throw if the user didn't configure a handler
17
- handler: void 0,
18
- embeddedBlockCommandRedirect: void 0,
19
- HTMLAttributes: {
20
- class: `
21
- rounded-sm
22
- animate-pulse
23
- bg-accent-200
24
- text-accent-800
25
- dark:bg-accent-700
26
- dark:text-accent-300
27
- px-2
28
- `
29
- }
30
- };
31
- },
32
- addAttributes() {
33
- return {
34
- HTMLAttributes: {
35
- default: {}
36
- },
37
- /** For the optional FileLoaderNodeView. */
38
- preview: {
39
- default: void 0
40
- },
41
- fileName: {
42
- default: void 0
43
- },
44
- loading: {
45
- default: true
46
- },
47
- loadingId: {
48
- default: void 0
49
- }
50
- };
51
- },
52
- parseHTML() {
53
- return [
54
- {
55
- tag: `div[type=${this.name}]`,
56
- getAttrs: (dom) => {
57
- const fileName = dom.getAttribute("file-name");
58
- const loading = dom.getAttribute("file-loading");
59
- const loadingId = dom.getAttribute("file-loading-id");
60
- return {
61
- fileName,
62
- loadingId: isValidId(loadingId, 10) ? loadingId : void 0,
63
- loading: loading === "true"
64
- };
65
- }
66
- }
67
- ];
68
- },
69
- // eslint-disable-next-line @typescript-eslint/naming-convention
70
- renderHTML({ node, HTMLAttributes }) {
71
- return [
72
- "div",
73
- mergeAttributes(
74
- this.options.HTMLAttributes,
75
- HTMLAttributes,
76
- {
77
- "file-loading-id": node.attrs.loadingId,
78
- "file-name": node.attrs.fileName,
79
- "file-loading": node.attrs.loading,
80
- type: this.name
81
- }
82
- ),
83
- `Loading "${node.attrs.fileName ?? "Unknown"}" ...`
84
- ];
85
- },
86
- addCommands() {
87
- optionsCheck(this.editor, this.options);
88
- const self = this;
89
- return {
90
- insertFile: insertFile(self.options.handler)
91
- };
92
- },
93
- addProseMirrorPlugins() {
94
- const self = this;
95
- return [
96
- fileLoaderPlugin(self.editor, self.options)
97
- ];
98
- }
99
- });
@@ -1,28 +0,0 @@
1
- import type { MakeOptional } from "@alanscodelog/utils/types";
2
- import type { Editor } from "@tiptap/core";
3
- import type { IFileLoaderHandler } from "../types.js";
4
- /**
5
- * A partial implementation of {@link IFileLoaderHandler}.
6
- *
7
- * Using the defaults of this class, you only need to specify the handler's `loadFile` and `replaceLoadingNode` properties.
8
- *
9
- * It assumes the use of the {@link Item} extension since it uses the node to wrap the fileLoader node.
10
- *
11
- * To identify each fileLoader node and fetch it again once the file is loaded, it uses a 10 character nanoid.
12
- */
13
- export declare class FileLoaderHandler<TFile extends File, T = {
14
- file: TFile;
15
- result: string | ArrayBuffer | null;
16
- }, TKey = string> implements IFileLoaderHandler<TFile, T, TKey> {
17
- loadFile: IFileLoaderHandler<TFile, T, TKey>["loadFile"];
18
- onLoadError: IFileLoaderHandler<TFile, T, TKey>["onLoadError"];
19
- insertPosition: IFileLoaderHandler<TFile, T, TKey>["insertPosition"];
20
- insertLoadingNode: IFileLoaderHandler<TFile, T, TKey>["insertLoadingNode"];
21
- replaceLoadingNode: IFileLoaderHandler<TFile, T, TKey>["replaceLoadingNode"];
22
- filterFile: IFileLoaderHandler<TFile, T, TKey>["filterFile"];
23
- constructor(opts: MakeOptional<IFileLoaderHandler<TFile, T, TKey>, "onLoadError" | "insertPosition" | "insertLoadingNode">);
24
- defaultFilterFile(file: File): TFile | undefined;
25
- defaultInsertPosition(_file: TFile, editor: Editor, pos?: number): number | undefined;
26
- defaultOnLoadError(_file: TFile, editor: Editor, pos: number | undefined): void;
27
- defaultInsertLoadingNode(file: TFile, editor: Editor, insertPos: number): TKey;
28
- }
@@ -1,69 +0,0 @@
1
- import { unreachable } from "@alanscodelog/utils/unreachable";
2
- import { nanoid } from "nanoid";
3
- import { findUpwards } from "../../../utils/findUpwards.js";
4
- import { cleanupFileLoaderNode } from "../utils/cleanupFileLoaderNode.js";
5
- export class FileLoaderHandler {
6
- loadFile;
7
- onLoadError;
8
- insertPosition;
9
- insertLoadingNode;
10
- replaceLoadingNode;
11
- filterFile;
12
- constructor(opts) {
13
- this.loadFile = opts.loadFile;
14
- this.replaceLoadingNode = opts.replaceLoadingNode;
15
- if (opts.onLoadError) this.onLoadError = opts.onLoadError;
16
- else this.onLoadError = this.defaultOnLoadError;
17
- if (opts.insertPosition) this.insertPosition = opts.insertPosition;
18
- else this.insertPosition = this.defaultInsertPosition;
19
- if (opts.insertLoadingNode) this.insertLoadingNode = opts.insertLoadingNode;
20
- else this.insertLoadingNode = this.defaultInsertLoadingNode;
21
- if (opts.filterFile) this.filterFile = opts.filterFile;
22
- else this.filterFile = this.defaultFilterFile;
23
- }
24
- defaultFilterFile(file) {
25
- return file;
26
- }
27
- defaultInsertPosition(_file, editor, pos) {
28
- const position = pos ?? editor.state.selection.anchor;
29
- const $insertionNode = findUpwards(editor.state.doc, position, ($node) => {
30
- if ($node.node().type.name === "item") {
31
- return true;
32
- }
33
- return false;
34
- }).$pos;
35
- return $insertionNode ? $insertionNode.end() + 1 : void 0;
36
- }
37
- defaultOnLoadError(_file, editor, pos) {
38
- if (pos === void 0) unreachable();
39
- editor.commands.command(({ tr }) => {
40
- cleanupFileLoaderNode(
41
- tr,
42
- pos,
43
- editor.schema.nodes.fileLoader,
44
- [
45
- editor.state.schema.nodes.item,
46
- editor.state.schema.nodes.list
47
- ],
48
- editor.schema.nodes.paragraph
49
- );
50
- return true;
51
- });
52
- }
53
- defaultInsertLoadingNode(file, editor, insertPos) {
54
- const attrs = {
55
- loadingId: nanoid(10),
56
- fileName: file.name,
57
- loading: true
58
- };
59
- editor.commands.command(({ tr }) => {
60
- const pm = editor.schema.nodes;
61
- tr.insert(insertPos, pm.item.create(
62
- {},
63
- pm.fileLoader.create(attrs)
64
- ));
65
- return true;
66
- });
67
- return attrs.loadingId;
68
- }
69
- }
@@ -1,11 +0,0 @@
1
- import { FileLoaderHandler } from "./FileLoaderHandler.js";
2
- export declare const testFileLoaderDelay = 2000;
3
- /** Instance of {@link FileLoaderHandler} for testing. */
4
- export declare const TestFileLoaderHandler: FileLoaderHandler<File & {
5
- parsedMime: string;
6
- }, {
7
- file: File & {
8
- parsedMime: string;
9
- };
10
- result: string | ArrayBuffer | null;
11
- }, string>;
@@ -1,49 +0,0 @@
1
- import { delay } from "@alanscodelog/utils/delay";
2
- import mime from "mime/lite";
3
- import { FileLoaderHandler } from "./FileLoaderHandler.js";
4
- import { findLoadingNodePos } from "../utils/findLoadingNodePos.js";
5
- import { readAsDataUrl } from "../utils/readAsDataUrl.js";
6
- export const testFileLoaderDelay = 2e3;
7
- export const TestFileLoaderHandler = new FileLoaderHandler({
8
- filterFile: (file) => {
9
- const mimeExtension = mime.getExtension(file.type);
10
- if (!mimeExtension) return void 0;
11
- const normalizedMimeType = mime.getType(mimeExtension);
12
- file.parsedMime = normalizedMimeType;
13
- if (!normalizedMimeType?.startsWith("image")) return void 0;
14
- return file;
15
- },
16
- replaceLoadingNode(editor, pos, res) {
17
- const pm = editor.schema.nodes;
18
- const parsedMime = res.file.parsedMime;
19
- const returnVal = editor.commands.command(({ tr }) => {
20
- if (parsedMime.startsWith("image")) {
21
- tr.replaceWith(pos, pos + 1, pm.image.create({
22
- src: res.result
23
- }));
24
- return true;
25
- }
26
- tr.delete(pos, pos + 1);
27
- return false;
28
- });
29
- return returnVal;
30
- },
31
- loadFile: async (file, insertId, editor) => {
32
- const result = await readAsDataUrl(file);
33
- const replacePos = findLoadingNodePos(editor.state, insertId);
34
- if (replacePos !== void 0) {
35
- editor.commands.command(({ tr }) => {
36
- tr.setNodeAttribute(replacePos, "preview", result);
37
- return true;
38
- });
39
- }
40
- if (file.parsedMime.startsWith("image")) {
41
- await delay(testFileLoaderDelay * Math.random());
42
- return {
43
- file,
44
- result
45
- };
46
- }
47
- return void 0;
48
- }
49
- });
@@ -1,17 +0,0 @@
1
- import type { Command } from "@tiptap/core";
2
- import type { IFileLoaderHandler } from "../types.js";
3
- declare module "@tiptap/core" {
4
- interface Commands<ReturnType> {
5
- fileLoader: {
6
- /**
7
- * Insert a file into the editor using the FileLoader extension. The configured {@link IFileLoaderHandler} determines where exactly it's inserted (in an item node after by default).
8
- *
9
- * You can technically test if this will work with `can` but it's not 100% accurate. We only check if at least one file passes the file filter, not everything else.
10
- *
11
- * @redirectable
12
- */
13
- insertFile(files: File[], pos?: number): ReturnType;
14
- };
15
- }
16
- }
17
- export declare const insertFile: (handler: IFileLoaderHandler<any, any>, debug?: boolean) => (files: File[], pos?: number) => Command;
@@ -1,39 +0,0 @@
1
- import { redirectFromEmbedded } from "../../EmbeddedDocument/utils/redirectFromEmbedded.js";
2
- import { findLoadingNodePos } from "../utils/findLoadingNodePos.js";
3
- export const insertFile = (handler, debug = false) => (files, pos) => ({ tr, editor, view, commands, dispatch }) => {
4
- const redirect = redirectFromEmbedded(view, "insertFile", { args: [files, pos], view, commands });
5
- if (redirect.redirected) {
6
- return redirect.result;
7
- }
8
- if (dispatch) tr.setMeta("fileLoaderIgnore", true);
9
- if (!dispatch) {
10
- return files.some((file) => handler.filterFile?.(file) ?? true);
11
- }
12
- void Promise.allSettled(files.reverse().map(async (file) => {
13
- if (debug) console.log(`insertFile for ${file.name}`, file);
14
- const f = handler.filterFile ? handler.filterFile(file) : file;
15
- if (!f) return;
16
- if (debug) console.log(`filterFile for ${file.name}`, f);
17
- const insertPosition = handler.insertPosition(f, editor, pos);
18
- if (debug) console.log(`insertPosition for ${file.name}`, insertPosition);
19
- if (insertPosition === void 0) return;
20
- const insertLoadingNode = handler.insertLoadingNode;
21
- const insertId = insertLoadingNode(f, editor, insertPosition, pos);
22
- if (debug) console.log(`insertId for ${file.name}`, insertId);
23
- if (!insertId) return;
24
- const res = await handler.loadFile?.(f, insertId, editor);
25
- if (debug) console.log(`result for ${file.name}`, res);
26
- if (!res) {
27
- return handler.onLoadError(f, editor, void 0, new Error("fileLoader returned nothing."), insertId);
28
- }
29
- const replacePos = findLoadingNodePos(editor.state, insertId);
30
- if (debug) console.log(`replacePos for ${file.name}`, replacePos);
31
- if (replacePos === void 0) {
32
- return handler.onLoadError(f, editor, replacePos, new Error("Could not find node to replace."), insertId);
33
- }
34
- const replaceRes = handler.replaceLoadingNode(editor, replacePos, res, insertId);
35
- if (debug) console.log(`called replaceLoadingNode for ${file.name}, replaced node:`, replaceRes);
36
- })).then(() => {
37
- });
38
- return true;
39
- };
@@ -1,92 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
- editor: {
3
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["editor"]>;
4
- required: true;
5
- };
6
- node: {
7
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["node"]>;
8
- required: true;
9
- };
10
- decorations: {
11
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["decorations"]>;
12
- required: true;
13
- };
14
- selected: {
15
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["selected"]>;
16
- required: true;
17
- };
18
- extension: {
19
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["extension"]>;
20
- required: true;
21
- };
22
- getPos: {
23
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["getPos"]>;
24
- required: true;
25
- };
26
- updateAttributes: {
27
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["updateAttributes"]>;
28
- required: true;
29
- };
30
- deleteNode: {
31
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["deleteNode"]>;
32
- required: true;
33
- };
34
- view: {
35
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["view"]>;
36
- required: true;
37
- };
38
- innerDecorations: {
39
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["innerDecorations"]>;
40
- required: true;
41
- };
42
- HTMLAttributes: {
43
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["HTMLAttributes"]>;
44
- required: true;
45
- };
46
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
47
- editor: {
48
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["editor"]>;
49
- required: true;
50
- };
51
- node: {
52
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["node"]>;
53
- required: true;
54
- };
55
- decorations: {
56
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["decorations"]>;
57
- required: true;
58
- };
59
- selected: {
60
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["selected"]>;
61
- required: true;
62
- };
63
- extension: {
64
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["extension"]>;
65
- required: true;
66
- };
67
- getPos: {
68
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["getPos"]>;
69
- required: true;
70
- };
71
- updateAttributes: {
72
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["updateAttributes"]>;
73
- required: true;
74
- };
75
- deleteNode: {
76
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["deleteNode"]>;
77
- required: true;
78
- };
79
- view: {
80
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["view"]>;
81
- required: true;
82
- };
83
- innerDecorations: {
84
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["innerDecorations"]>;
85
- required: true;
86
- };
87
- HTMLAttributes: {
88
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["HTMLAttributes"]>;
89
- required: true;
90
- };
91
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
92
- export default _default;
@@ -1,38 +0,0 @@
1
- <template>
2
- <!-- @vue-expect-error contenteditable exists -->
3
- <node-view-wrapper
4
- :class="twMerge(
5
- `
6
- group/file-loader
7
- rounded-sm
8
- animate-pulse
9
- bg-accent-200
10
- text-accent-800
11
- dark:bg-accent-700
12
- dark:text-accent-300
13
- px-2
14
- flex
15
- flex-col
16
- items-center
17
- gap-2
18
- `
19
- )"
20
- contenteditable="false"
21
- >
22
- <div class="self-start">
23
- {{ `Loading "${node.attrs.fileName ?? `Unknown`}" ...` }}
24
- </div>
25
- <img
26
- v-if="node.attrs.preview"
27
- class="!max-h-[200px] !max-w-[200px] mb-2"
28
- :src="node.attrs.preview"
29
- alt="Loading Image"
30
- >
31
- </node-view-wrapper>
32
- </template>
33
-
34
- <script setup>
35
- import { nodeViewProps, NodeViewWrapper } from "@tiptap/vue-3";
36
- import { twMerge } from "tailwind-merge";
37
- defineProps(nodeViewProps);
38
- </script>
@@ -1,92 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
- editor: {
3
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["editor"]>;
4
- required: true;
5
- };
6
- node: {
7
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["node"]>;
8
- required: true;
9
- };
10
- decorations: {
11
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["decorations"]>;
12
- required: true;
13
- };
14
- selected: {
15
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["selected"]>;
16
- required: true;
17
- };
18
- extension: {
19
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["extension"]>;
20
- required: true;
21
- };
22
- getPos: {
23
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["getPos"]>;
24
- required: true;
25
- };
26
- updateAttributes: {
27
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["updateAttributes"]>;
28
- required: true;
29
- };
30
- deleteNode: {
31
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["deleteNode"]>;
32
- required: true;
33
- };
34
- view: {
35
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["view"]>;
36
- required: true;
37
- };
38
- innerDecorations: {
39
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["innerDecorations"]>;
40
- required: true;
41
- };
42
- HTMLAttributes: {
43
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["HTMLAttributes"]>;
44
- required: true;
45
- };
46
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
47
- editor: {
48
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["editor"]>;
49
- required: true;
50
- };
51
- node: {
52
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["node"]>;
53
- required: true;
54
- };
55
- decorations: {
56
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["decorations"]>;
57
- required: true;
58
- };
59
- selected: {
60
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["selected"]>;
61
- required: true;
62
- };
63
- extension: {
64
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["extension"]>;
65
- required: true;
66
- };
67
- getPos: {
68
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["getPos"]>;
69
- required: true;
70
- };
71
- updateAttributes: {
72
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["updateAttributes"]>;
73
- required: true;
74
- };
75
- deleteNode: {
76
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["deleteNode"]>;
77
- required: true;
78
- };
79
- view: {
80
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["view"]>;
81
- required: true;
82
- };
83
- innerDecorations: {
84
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["innerDecorations"]>;
85
- required: true;
86
- };
87
- HTMLAttributes: {
88
- type: import("vue").PropType<import("@tiptap/core").NodeViewProps["HTMLAttributes"]>;
89
- required: true;
90
- };
91
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
92
- export default _default;
@@ -1,5 +0,0 @@
1
- import type { Editor } from "@tiptap/core";
2
- import { Plugin, PluginKey } from "@tiptap/pm/state";
3
- import type { FileLoaderExtensionOptions } from "../types.js";
4
- export declare const fileLoaderPluginKey: PluginKey<any>;
5
- export declare function fileLoaderPlugin(editor: Editor, options: Pick<FileLoaderExtensionOptions, "cleanupOnLoad">): Plugin<any>;
@@ -1,61 +0,0 @@
1
- import { Plugin, PluginKey } from "@tiptap/pm/state";
2
- import { cleanupFileLoaderNodes } from "../utils/cleanupFileLoaderNodes.js";
3
- export const fileLoaderPluginKey = new PluginKey("fileLoader");
4
- export function fileLoaderPlugin(editor, options) {
5
- let cleaned = false;
6
- return new Plugin({
7
- key: fileLoaderPluginKey,
8
- /** See {@link DocumentApi} */
9
- stateInit: (tr) => {
10
- if (!options.cleanupOnLoad) return;
11
- cleaned = true;
12
- return cleanupFileLoaderNodes(
13
- tr,
14
- editor.schema,
15
- editor.state.schema.nodes.fileLoader,
16
- [
17
- editor.state.schema.nodes.item,
18
- editor.state.schema.nodes.list
19
- ],
20
- editor.state.schema.nodes.paragraph
21
- );
22
- },
23
- // in case the documentApi isn't being used to load documents
24
- appendTransaction: (_, _oldState, newState) => {
25
- if (!newState.tr.getMeta("cleanFileLoaders") && (!options.cleanupOnLoad || cleaned)) return;
26
- cleaned = true;
27
- return cleanupFileLoaderNodes(
28
- newState.tr,
29
- editor.schema,
30
- editor.state.schema.nodes.fileLoader,
31
- [
32
- editor.state.schema.nodes.item,
33
- editor.state.schema.nodes.list
34
- ],
35
- editor.state.schema.nodes.paragraph
36
- );
37
- },
38
- filterTransaction: (tr) => {
39
- if (tr.getMeta("fileLoaderIgnore")) return false;
40
- return true;
41
- },
42
- props: {
43
- handleDOMEvents: {
44
- drop: (view, event) => {
45
- event.preventDefault();
46
- const pos = view.posAtCoords({ left: event.clientX, top: event.clientY });
47
- if (!pos) return;
48
- const position = pos.inside > 0 ? pos.inside : pos.pos - 1;
49
- const files = Array.from(event.dataTransfer?.files ?? []);
50
- void editor.commands.insertFile(files, position);
51
- },
52
- paste: (_view, event) => {
53
- const files = Array.from(event.clipboardData?.files ?? []);
54
- const htmlContent = event.clipboardData?.getData("text/html");
55
- if (htmlContent) return;
56
- void editor.commands.insertFile(files);
57
- }
58
- }
59
- }
60
- });
61
- }