@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
- import { PluginKey } from "@tiptap/pm/state";
2
- export const highlightPluginKey = new PluginKey("highlightPluginKey");
@@ -1,35 +0,0 @@
1
- import type { Dispatch, Extension } from "@tiptap/core";
2
- import { type EditorState } from "@tiptap/pm/state";
3
- declare module "@tiptap/core" {
4
- interface Commands<ReturnType> {
5
- historyExtended: {
6
- /**
7
- * Set the functions needed to forward history commands.
8
- *
9
- * Set to null to disable. Should be set to null before destroying the editor.
10
- */
11
- setHistoryRedirect: (redirectState?: () => EditorState | undefined, redirectDispatch?: Dispatch) => ReturnType;
12
- };
13
- }
14
- }
15
- declare module "@tiptap/extension-history" {
16
- interface HistoryOptions {
17
- /**
18
- * If set, undo and redo will be forwarded to the editor this function returns instead of the current one. This makes handling embedded editors easier.
19
- *
20
- * This is a function so as to make it easier to always get the latest state.
21
- */
22
- redirectState?: () => EditorState | undefined;
23
- /**
24
- * Required if redirectState is set. Tells the extension how to forward the transactions.
25
- */
26
- redirectDispatch?: Dispatch;
27
- }
28
- }
29
- export declare const filterKey = "filterForHistoryForwarding";
30
- /**
31
- * Extends the existing history extension to allow for forwarding of history for embedded editors.
32
- *
33
- * The embedded editor node view will take care of
34
- */
35
- export declare const History: Extension<any, any>;
@@ -1,63 +0,0 @@
1
- import TipTapHistoryExtension from "@tiptap/extension-history";
2
- import { history, redo, undo } from "@tiptap/pm/history";
3
- import { Plugin, PluginKey } from "@tiptap/pm/state";
4
- export const filterKey = "filterForHistoryForwarding";
5
- export const History = TipTapHistoryExtension.extend({
6
- name: "history",
7
- addOptions() {
8
- return {
9
- depth: 100,
10
- newGroupDelay: 500,
11
- redirectState: void 0,
12
- redirectDispatch: void 0
13
- };
14
- },
15
- addCommands() {
16
- return {
17
- undo: () => ({ state, dispatch, tr }) => {
18
- const redirectState = this.options.redirectState?.();
19
- const redirectDispatch = dispatch && this.options.redirectDispatch;
20
- if (redirectState) {
21
- if (dispatch) {
22
- tr.setMeta(filterKey, true);
23
- }
24
- return undo(redirectState, redirectDispatch);
25
- } else {
26
- return undo(state, dispatch);
27
- }
28
- },
29
- redo: () => ({ state, dispatch, tr }) => {
30
- const redirectState = this.options.redirectState?.();
31
- const redirectDispatch = this.options.redirectDispatch;
32
- if (redirectState) {
33
- tr.setMeta(filterKey, true);
34
- redo(redirectState, redirectDispatch);
35
- return true;
36
- } else {
37
- return redo(state, dispatch);
38
- }
39
- },
40
- setHistoryRedirect: (redirectState, redirectDispatch) => ({ dispatch }) => {
41
- if (dispatch) {
42
- this.options.redirectState = redirectState;
43
- this.options.redirectDispatch = redirectDispatch;
44
- }
45
- return true;
46
- }
47
- };
48
- },
49
- addProseMirrorPlugins() {
50
- return [
51
- history(this.options),
52
- new Plugin({
53
- key: new PluginKey("history-forwarding"),
54
- filterTransaction: (transaction) => {
55
- if (transaction.getMeta(filterKey)) {
56
- return false;
57
- }
58
- return true;
59
- }
60
- })
61
- ];
62
- }
63
- });
@@ -1,21 +0,0 @@
1
- import { Node } from "@tiptap/core";
2
- import type { IframeNodeOptions } from "./types.js";
3
- declare module "@tiptap/core" {
4
- interface Commands<ReturnType> {
5
- iframe: {
6
- /**
7
- * Add an iframe
8
- */
9
- setIframe: (options: {
10
- src: string;
11
- }) => ReturnType;
12
- /**
13
- * Set the options for the iframe plugin, such as the default HTMLAttributes and the url handlers.
14
- */
15
- setIframeOptions: (options: IframeNodeOptions) => ReturnType;
16
- openExternalLink: (url: string) => ReturnType;
17
- };
18
- }
19
- }
20
- export declare const Iframe: Node<IframeNodeOptions, any>;
21
- export type NodeIframeName = "iframe";
@@ -1,127 +0,0 @@
1
- import { mergeAttributes, Node, nodePasteRule } from "@tiptap/core";
2
- import { VueNodeViewRenderer } from "@tiptap/vue-3";
3
- import IframeNodeView from "./components/IframeNodeView.vue";
4
- import { defaultAllow, InstagramSourceParser, VimeoSourceParser, YoutubeSourceParser } from "./IframeParsers.js";
5
- export const Iframe = Node.create({
6
- name: "iframe",
7
- group: "block",
8
- atom: true,
9
- addOptions() {
10
- return {
11
- HTMLAttributes: {},
12
- handlers: {
13
- youtube: new YoutubeSourceParser(),
14
- instagram: new InstagramSourceParser(),
15
- vimeo: new VimeoSourceParser()
16
- }
17
- };
18
- },
19
- addAttributes() {
20
- return {
21
- src: {
22
- default: null
23
- },
24
- frameborder: {
25
- default: 0
26
- },
27
- allow: defaultAllow,
28
- aspectRatio: {
29
- default: 16 / 9
30
- }
31
- };
32
- },
33
- parseHTML() {
34
- return [{
35
- tag: "iframe",
36
- getAttrs: (element) => {
37
- const src = element.getAttribute("src");
38
- if (!src) {
39
- return false;
40
- }
41
- for (const value of Object.values(this.options.handlers)) {
42
- if (value.matchUrl?.test(src)) {
43
- const attrs = value.parseAttributes(element);
44
- if (attrs) {
45
- return {
46
- ...attrs,
47
- src: value.cleanUrl(src)
48
- };
49
- }
50
- }
51
- }
52
- return { src };
53
- }
54
- }];
55
- },
56
- // eslint-disable-next-line @typescript-eslint/naming-convention
57
- renderHTML({ HTMLAttributes }) {
58
- return [
59
- "div",
60
- mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
61
- class: `
62
- iframe-wrapper
63
- group/embed
64
- relative
65
- w-[99%]
66
- max-w-[var(--pm-max-embed-width)]
67
- ${HTMLAttributes?.class ?? this.options.HTMLAttributes?.class ?? ""}
68
- `
69
- }),
70
- [
71
- "iframe",
72
- { class: "w-full aspect-video" }
73
- ]
74
- ];
75
- },
76
- addPasteRules() {
77
- return [
78
- nodePasteRule({
79
- find: (text) => {
80
- for (const [key, value] of Object.entries(this.options.handlers)) {
81
- if (!value.matchUrl) continue;
82
- const res = text.match(value.matchUrl);
83
- if (res) {
84
- return [
85
- {
86
- ...res,
87
- text,
88
- index: 0,
89
- type: key
90
- }
91
- ];
92
- }
93
- }
94
- return null;
95
- },
96
- type: this.type,
97
- getAttributes: (match) => {
98
- for (const value of Object.values(this.options.handlers)) {
99
- if (value.matchUrl && match[0].match(value.matchUrl)) {
100
- return {
101
- ...value.defaultAttributes,
102
- src: value.cleanUrl(match[0])
103
- };
104
- }
105
- }
106
- return false;
107
- }
108
- })
109
- ];
110
- },
111
- addNodeView() {
112
- return VueNodeViewRenderer(IframeNodeView);
113
- },
114
- addCommands() {
115
- return {
116
- setIframe: (options) => ({ tr, dispatch }) => {
117
- const { selection } = tr;
118
- const node = this.type.create(options);
119
- if (dispatch) {
120
- tr.replaceRangeWith(selection.from, selection.to, node);
121
- }
122
- return true;
123
- },
124
- setIframeOptions: (options) => ({ commands }) => commands.updateAttributes(this.name, options)
125
- };
126
- }
127
- });
@@ -1,37 +0,0 @@
1
- export declare const defaultAllow: string;
2
- export declare function addDefaultQueryParams(parsedUrl: URL, defaultQueryParams: Record<string, any>): string;
3
- export declare function getAspectRatio(element: HTMLElement, defaultRatio?: number): number | undefined;
4
- type DefaultAttributes = Record<string, any> & {
5
- aspectRatio: number;
6
- };
7
- export interface IframeSourceParser {
8
- defaultAttributes: DefaultAttributes;
9
- defaultQueryParams: Record<string, any>;
10
- parseAttributes: (element: HTMLElement) => Record<string, any> | false;
11
- cleanUrl: (url: string) => string;
12
- matchUrl?: RegExp;
13
- }
14
- export declare class DefaultSourceParser implements IframeSourceParser {
15
- cache: Map<string, any>;
16
- defaultAttributes: DefaultAttributes;
17
- defaultQueryParams: Record<string, any>;
18
- parseAttributes(element: HTMLElement): Record<string, any> | false;
19
- cleanUrl(url: string): string;
20
- }
21
- export declare class YoutubeSourceParser extends DefaultSourceParser implements IframeSourceParser {
22
- defaultAttributes: DefaultAttributes;
23
- defaultQueryParams: Record<string, any>;
24
- matchUrl: RegExp;
25
- }
26
- export declare class InstagramSourceParser extends DefaultSourceParser implements IframeSourceParser {
27
- defaultAttributes: DefaultAttributes;
28
- defaultQueryParams: Record<string, any>;
29
- cleanUrl(url: string): string;
30
- matchUrl: RegExp;
31
- }
32
- export declare class VimeoSourceParser extends DefaultSourceParser implements IframeSourceParser {
33
- defaultAttributes: DefaultAttributes;
34
- matchUrl: RegExp;
35
- cleanUrl(url: string): string;
36
- }
37
- export {};
@@ -1,88 +0,0 @@
1
- export const defaultAllow = ["fullscreen", "accelerometer", "autoplay", "clipboard-write", "encrypted-media", "gyroscope", "picture-in-picture", "web-share"].join(";");
2
- export function addDefaultQueryParams(parsedUrl, defaultQueryParams) {
3
- for (const [key, value] of Object.entries(defaultQueryParams)) {
4
- if (!parsedUrl.searchParams.has(key)) {
5
- parsedUrl.searchParams.set(key, value);
6
- }
7
- }
8
- return parsedUrl.toString();
9
- }
10
- export function getAspectRatio(element, defaultRatio = 16 / 9) {
11
- const width = element.getAttribute("width");
12
- const height = element.getAttribute("height");
13
- const w = width ? Number.parseInt(width, 10) : null;
14
- const h = height ? Number.parseInt(height, 10) : null;
15
- if (typeof w === "number" && typeof h === "number") {
16
- return w / h;
17
- }
18
- return defaultRatio;
19
- }
20
- export class DefaultSourceParser {
21
- cache = /* @__PURE__ */ new Map();
22
- defaultAttributes = {
23
- aspectRatio: 16 / 9
24
- };
25
- defaultQueryParams = {};
26
- parseAttributes(element) {
27
- const src = element.getAttribute("src");
28
- const allow = element.getAttribute("allow");
29
- const aspectRatio = getAspectRatio(element, this.defaultAttributes.aspectRatio);
30
- if (!src) return false;
31
- return {
32
- src,
33
- allow,
34
- aspectRatio
35
- };
36
- }
37
- cleanUrl(url) {
38
- const parsedUrl = new URL(url);
39
- addDefaultQueryParams(parsedUrl, this.defaultQueryParams);
40
- return parsedUrl.toString();
41
- }
42
- }
43
- export class YoutubeSourceParser extends DefaultSourceParser {
44
- defaultAttributes = {
45
- allow: defaultAllow,
46
- referrerpolicy: "strict-origin-when-cross-origin",
47
- allowfullscreen: "true",
48
- aspectRatio: 16 / 9
49
- };
50
- defaultQueryParams = {
51
- controls: 1
52
- };
53
- matchUrl = /^((?:https?:\/\/)?(?:www.)?(?:youtube.com|youtu.be.com)[^ ]*)$/g;
54
- }
55
- export class InstagramSourceParser extends DefaultSourceParser {
56
- defaultAttributes = {
57
- aspectRatio: 9 / 12
58
- };
59
- defaultQueryParams = {};
60
- cleanUrl(url) {
61
- const parsedUrl = new URL(url);
62
- addDefaultQueryParams(parsedUrl, this.defaultQueryParams);
63
- if (parsedUrl.pathname.includes("/embed")) {
64
- return parsedUrl.toString();
65
- } else {
66
- parsedUrl.pathname += parsedUrl.pathname.endsWith("/") ? "embed" : "/embed";
67
- return parsedUrl.toString();
68
- }
69
- }
70
- matchUrl = /^((?:https?:\/\/)?(?:www.)?instagram.com\/p[^ ]*)$/g;
71
- }
72
- export class VimeoSourceParser extends DefaultSourceParser {
73
- defaultAttributes = {
74
- aspectRatio: 16 / 9,
75
- allow: ["autoplay", "fullscreen", "picture-in-picture"].join(";")
76
- };
77
- matchUrl = /^((?:https?:\/\/)?(?:www.)?(?:player.)?vimeo.com\/[^ ]*)$/g;
78
- cleanUrl(url) {
79
- const parsedUrl = new URL(url);
80
- addDefaultQueryParams(parsedUrl, this.defaultQueryParams);
81
- if (parsedUrl.pathname.includes("/video") && parsedUrl.hostname.includes("player.vimeo.com")) {
82
- return parsedUrl.toString();
83
- } else {
84
- parsedUrl.pathname = `/video${parsedUrl.pathname}`;
85
- return new URL(parsedUrl.pathname, "https://player.vimeo.com/video").toString();
86
- }
87
- }
88
- }
@@ -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,79 +0,0 @@
1
- <template>
2
- <node-view-wrapper
3
- :class="twMerge(`
4
- frame-wrapper
5
- group/embed
6
- relative
7
- max-w-[var(--pmMaxEmbedWidth)]
8
- max-h-[var(--pmMaxEmbedHeight,_var(--pmMaxEmbedWidth))]
9
- `)"
10
- :style="`aspect-ratio: ${node.attrs.aspectRatio}`"
11
- >
12
- <div
13
- contenteditable="false"
14
- class="
15
- absolute
16
- top-1
17
- right-1
18
- rounded-sm
19
- bg-neutral-400/70
20
- border-neutral-200
21
- dark:bg-neutral-700/70
22
- dark:border-neutral-700
23
- p-1
24
- flex
25
- gap-1
26
- opacity-0
27
- group-hover/embed:opacity-100
28
- transition-opacity
29
- "
30
- >
31
- <WButton
32
- :border="false"
33
- @click="deleteNode();
34
- editor.commands.focus()"
35
- >
36
- <WIcon><i-fa-solid-trash/></WIcon>
37
- </WButton>
38
- <WButton
39
- :border="false"
40
- @click="copy(node.attrs.src)"
41
- >
42
- <WIcon><i-fa-solid-copy/></WIcon>
43
- </WButton>
44
- <WButton
45
- :border="false"
46
- @click="openLink"
47
- >
48
- <WIcon><i-fa-solid-external-link-alt class="w-[1.25em]"/></WIcon>
49
- </WButton>
50
- </div>
51
- <node-view-content
52
- as="iframe"
53
- :class="twMerge(
54
- `
55
- w-full
56
- `,
57
- node.attrs.class
58
- )"
59
- :style="`aspect-ratio: ${node.attrs.aspectRatio}`"
60
- v-bind="node.attrs"
61
- />
62
- {{ Object.keys(node.attrs) }}
63
- </node-view-wrapper>
64
- </template>
65
-
66
- <script setup>
67
- import { NodeViewContent, nodeViewProps, NodeViewWrapper } from "@tiptap/vue-3";
68
- import WIcon from "@witchcraft/ui/components/Icon";
69
- import WButton from "@witchcraft/ui/components/LibButton";
70
- import { copy } from "@witchcraft/ui/helpers/copy";
71
- import { twMerge } from "tailwind-merge";
72
- import IFaSolidCopy from "~icons/fa-solid/copy";
73
- import IFaSolidExternalLinkAlt from "~icons/fa-solid/external-link-alt";
74
- import IFaSolidTrash from "~icons/fa-solid/trash";
75
- const props = defineProps(nodeViewProps);
76
- function openLink() {
77
- props.editor.commands.openExternalLink(props.node.attrs.src);
78
- }
79
- </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 { IframeSourceParser } from "./IframeParsers.js";
2
- import type { HTMLAttributesOptions } from "../../../types/index.js";
3
- export interface IframeNodeOptions extends HTMLAttributesOptions {
4
- handlers: Record<string, IframeSourceParser>;
5
- }
File without changes
@@ -1,2 +0,0 @@
1
- import type { Extension } from "@tiptap/core";
2
- export declare const Image: Extension<any, any>;
@@ -1,13 +0,0 @@
1
- import TipTapImage from "@tiptap/extension-image";
2
- export const Image = TipTapImage.configure({
3
- HTMLAttributes: {
4
- class: `
5
- rounded-xs
6
- block h-auto max-w-full
7
- [&.ProseMirror-selectednode]:outline
8
- [&.ProseMirror-selectednode]:outline-offset-0
9
- [&.ProseMirror-selectednode]:outline-accent-500
10
- `
11
- },
12
- allowBase64: true
13
- });