@witchcraft/editor 0.0.1
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.
- package/@types/@tiptap/core/index.d.ts +3 -0
- package/README.md +111 -0
- package/dist/module.d.mts +15 -0
- package/dist/module.json +9 -0
- package/dist/module.mjs +68 -0
- package/dist/runtime/assets/base.css +1 -0
- package/dist/runtime/assets/handle-arrow.svg +16 -0
- package/dist/runtime/assets/handle-border-circles-single.svg +44 -0
- package/dist/runtime/assets/handle-border-circles.svg +27 -0
- package/dist/runtime/assets/handle-temp.svg +1 -0
- package/dist/runtime/assets/utils.css +1 -0
- package/dist/runtime/components/CodeBlockThemePicker.d.vue.ts +12 -0
- package/dist/runtime/components/CodeBlockThemePicker.vue +123 -0
- package/dist/runtime/components/CodeBlockThemePicker.vue.d.ts +12 -0
- package/dist/runtime/components/Commands.d.vue.ts +10 -0
- package/dist/runtime/components/Commands.vue +60 -0
- package/dist/runtime/components/Commands.vue.d.ts +10 -0
- package/dist/runtime/components/Editor.d.vue.ts +40 -0
- package/dist/runtime/components/Editor.vue +208 -0
- package/dist/runtime/components/Editor.vue.d.ts +40 -0
- package/dist/runtime/components/EditorDemoApp.d.vue.ts +2 -0
- package/dist/runtime/components/EditorDemoApp.vue +104 -0
- package/dist/runtime/components/EditorDemoApp.vue.d.ts +2 -0
- package/dist/runtime/components/EditorDemoControls.d.vue.ts +12 -0
- package/dist/runtime/components/EditorDemoControls.vue +36 -0
- package/dist/runtime/components/EditorDemoControls.vue.d.ts +12 -0
- package/dist/runtime/components/TestWrapper.d.vue.ts +11 -0
- package/dist/runtime/components/TestWrapper.vue +63 -0
- package/dist/runtime/components/TestWrapper.vue.d.ts +11 -0
- package/dist/runtime/composables/useEditor.d.ts +9 -0
- package/dist/runtime/composables/useEditor.js +17 -0
- package/dist/runtime/composables/useWindowDebugging.d.ts +3 -0
- package/dist/runtime/composables/useWindowDebugging.js +16 -0
- package/dist/runtime/demo/App.d.vue.ts +2 -0
- package/dist/runtime/demo/App.vue +101 -0
- package/dist/runtime/demo/App.vue.d.ts +2 -0
- package/dist/runtime/demo/README.md +1 -0
- package/dist/runtime/demo/main.d.ts +1 -0
- package/dist/runtime/demo/main.js +4 -0
- package/dist/runtime/demo/tailwind.css +1 -0
- package/dist/runtime/env.d.ts +2 -0
- package/dist/runtime/injectionKeys.d.ts +6 -0
- package/dist/runtime/injectionKeys.js +3 -0
- package/dist/runtime/main.lib.d.ts +2 -0
- package/dist/runtime/main.lib.js +2 -0
- package/dist/runtime/pm/commands/backspace.d.ts +12 -0
- package/dist/runtime/pm/commands/backspace.js +26 -0
- package/dist/runtime/pm/commands/changeAttrs.d.ts +9 -0
- package/dist/runtime/pm/commands/changeAttrs.js +15 -0
- package/dist/runtime/pm/commands/deleteSelection.d.ts +9 -0
- package/dist/runtime/pm/commands/deleteSelection.js +8 -0
- package/dist/runtime/pm/commands/enter.d.ts +14 -0
- package/dist/runtime/pm/commands/enter.js +9 -0
- package/dist/runtime/pm/commands/insertBreak.d.ts +9 -0
- package/dist/runtime/pm/commands/insertBreak.js +22 -0
- package/dist/runtime/pm/features/Base/Base.d.ts +4 -0
- package/dist/runtime/pm/features/Base/Base.js +32 -0
- package/dist/runtime/pm/features/Base/commands/deleteNodes.d.ts +10 -0
- package/dist/runtime/pm/features/Base/commands/deleteNodes.js +29 -0
- package/dist/runtime/pm/features/Base/commands/setCursorVisible.d.ts +12 -0
- package/dist/runtime/pm/features/Base/commands/setCursorVisible.js +7 -0
- package/dist/runtime/pm/features/Base/plugins/debugSelectionPlugin.d.ts +9 -0
- package/dist/runtime/pm/features/Base/plugins/debugSelectionPlugin.js +48 -0
- package/dist/runtime/pm/features/Base/plugins/isCursorVisiblePlugin.d.ts +3 -0
- package/dist/runtime/pm/features/Base/plugins/isCursorVisiblePlugin.js +26 -0
- package/dist/runtime/pm/features/Base/plugins/isUsingTouchPlugin.d.ts +3 -0
- package/dist/runtime/pm/features/Base/plugins/isUsingTouchPlugin.js +38 -0
- package/dist/runtime/pm/features/Base/plugins/selectingIndicator.d.ts +5 -0
- package/dist/runtime/pm/features/Base/plugins/selectingIndicator.js +35 -0
- package/dist/runtime/pm/features/Base/plugins/unfocusedSelectionIndicatorPlugin.d.ts +33 -0
- package/dist/runtime/pm/features/Base/plugins/unfocusedSelectionIndicatorPlugin.js +66 -0
- package/dist/runtime/pm/features/Base/types.d.ts +3 -0
- package/dist/runtime/pm/features/Base/types.js +0 -0
- package/dist/runtime/pm/features/BaseShortcuts/BaseShortcuts.d.ts +3 -0
- package/dist/runtime/pm/features/BaseShortcuts/BaseShortcuts.js +34 -0
- package/dist/runtime/pm/features/Blockquote/Blockquote.d.ts +5 -0
- package/dist/runtime/pm/features/Blockquote/Blockquote.js +65 -0
- package/dist/runtime/pm/features/Blockquote/commands/blockquoteEnter.d.ts +11 -0
- package/dist/runtime/pm/features/Blockquote/commands/blockquoteEnter.js +31 -0
- package/dist/runtime/pm/features/Blockquote/commands/blockquoteShiftEnter.d.ts +11 -0
- package/dist/runtime/pm/features/Blockquote/commands/blockquoteShiftEnter.js +12 -0
- package/dist/runtime/pm/features/Blocks/Blocks.d.ts +2 -0
- package/dist/runtime/pm/features/Blocks/Blocks.js +2 -0
- package/dist/runtime/pm/features/Blocks/Item.d.ts +11 -0
- package/dist/runtime/pm/features/Blocks/Item.js +157 -0
- package/dist/runtime/pm/features/Blocks/List.d.ts +4 -0
- package/dist/runtime/pm/features/Blocks/List.js +59 -0
- package/dist/runtime/pm/features/Blocks/commands/changeItemType.d.ts +20 -0
- package/dist/runtime/pm/features/Blocks/commands/changeItemType.js +40 -0
- package/dist/runtime/pm/features/Blocks/commands/changeTypeAttr.d.ts +14 -0
- package/dist/runtime/pm/features/Blocks/commands/changeTypeAttr.js +28 -0
- package/dist/runtime/pm/features/Blocks/commands/copyOrMoveItem.d.ts +23 -0
- package/dist/runtime/pm/features/Blocks/commands/copyOrMoveItem.js +124 -0
- package/dist/runtime/pm/features/Blocks/commands/deleteItem.d.ts +12 -0
- package/dist/runtime/pm/features/Blocks/commands/deleteItem.js +8 -0
- package/dist/runtime/pm/features/Blocks/commands/indentItem.d.ts +12 -0
- package/dist/runtime/pm/features/Blocks/commands/indentItem.js +58 -0
- package/dist/runtime/pm/features/Blocks/commands/itemMenuCommands.d.ts +18 -0
- package/dist/runtime/pm/features/Blocks/commands/itemMenuCommands.js +40 -0
- package/dist/runtime/pm/features/Blocks/commands/moveItem.d.ts +12 -0
- package/dist/runtime/pm/features/Blocks/commands/moveItem.js +80 -0
- package/dist/runtime/pm/features/Blocks/commands/setNode.d.ts +20 -0
- package/dist/runtime/pm/features/Blocks/commands/setNode.js +87 -0
- package/dist/runtime/pm/features/Blocks/commands/splitItem.d.ts +17 -0
- package/dist/runtime/pm/features/Blocks/commands/splitItem.js +87 -0
- package/dist/runtime/pm/features/Blocks/commands/unindentItem.d.ts +12 -0
- package/dist/runtime/pm/features/Blocks/commands/unindentItem.js +42 -0
- package/dist/runtime/pm/features/Blocks/components/DragTreeHandle.d.vue.ts +0 -0
- package/dist/runtime/pm/features/Blocks/components/DragTreeHandle.vue +122 -0
- package/dist/runtime/pm/features/Blocks/components/DragTreeHandle.vue.d.ts +0 -0
- package/dist/runtime/pm/features/Blocks/components/ItemMenu.d.vue.ts +6 -0
- package/dist/runtime/pm/features/Blocks/components/ItemMenu.vue +78 -0
- package/dist/runtime/pm/features/Blocks/components/ItemMenu.vue.d.ts +6 -0
- package/dist/runtime/pm/features/Blocks/components/ItemNodeView.d.vue.ts +92 -0
- package/dist/runtime/pm/features/Blocks/components/ItemNodeView.vue +350 -0
- package/dist/runtime/pm/features/Blocks/components/ItemNodeView.vue.d.ts +92 -0
- package/dist/runtime/pm/features/Blocks/components/defaultItemMenu.d.ts +5 -0
- package/dist/runtime/pm/features/Blocks/components/defaultItemMenu.js +42 -0
- package/dist/runtime/pm/features/Blocks/composables/useDragWithThreshold.d.ts +1 -0
- package/dist/runtime/pm/features/Blocks/composables/useDragWithThreshold.js +0 -0
- package/dist/runtime/pm/features/Blocks/composables/useHandleHeight.d.ts +5 -0
- package/dist/runtime/pm/features/Blocks/composables/useHandleHeight.js +22 -0
- package/dist/runtime/pm/features/Blocks/composables/useHasChildren.d.ts +5 -0
- package/dist/runtime/pm/features/Blocks/composables/useHasChildren.js +10 -0
- package/dist/runtime/pm/features/Blocks/composables/useNodeStates.d.ts +7 -0
- package/dist/runtime/pm/features/Blocks/composables/useNodeStates.js +20 -0
- package/dist/runtime/pm/features/Blocks/itemMenuMenuItems.d.ts +20 -0
- package/dist/runtime/pm/features/Blocks/itemMenuMenuItems.js +138 -0
- package/dist/runtime/pm/features/Blocks/plugins/ensureLastItemIsContentPlugin.d.ts +11 -0
- package/dist/runtime/pm/features/Blocks/plugins/ensureLastItemIsContentPlugin.js +36 -0
- package/dist/runtime/pm/features/Blocks/plugins/itemBlockIdPlugin.d.ts +8 -0
- package/dist/runtime/pm/features/Blocks/plugins/itemBlockIdPlugin.js +30 -0
- package/dist/runtime/pm/features/Blocks/plugins/itemHasSingularSelectionPlugin.d.ts +3 -0
- package/dist/runtime/pm/features/Blocks/plugins/itemHasSingularSelectionPlugin.js +30 -0
- package/dist/runtime/pm/features/Blocks/plugins/itemMenuPlugin.d.ts +4 -0
- package/dist/runtime/pm/features/Blocks/plugins/itemMenuPlugin.js +17 -0
- package/dist/runtime/pm/features/Blocks/states/stateful.d.ts +2 -0
- package/dist/runtime/pm/features/Blocks/states/stateful.js +37 -0
- package/dist/runtime/pm/features/Blocks/states/task/cancelled.svg +32 -0
- package/dist/runtime/pm/features/Blocks/states/task/checked.svg +27 -0
- package/dist/runtime/pm/features/Blocks/states/task/checked2.svg +24 -0
- package/dist/runtime/pm/features/Blocks/states/task/partial.svg +24 -0
- package/dist/runtime/pm/features/Blocks/states/task/partial2.svg +31 -0
- package/dist/runtime/pm/features/Blocks/states/task/unchecked.svg +20 -0
- package/dist/runtime/pm/features/Blocks/types.d.ts +43 -0
- package/dist/runtime/pm/features/Blocks/types.js +2 -0
- package/dist/runtime/pm/features/Blocks/utils/createItemMenuCommandExecuter.d.ts +3 -0
- package/dist/runtime/pm/features/Blocks/utils/createItemMenuCommandExecuter.js +24 -0
- package/dist/runtime/pm/features/Blocks/utils/fixBlockIds.d.ts +4 -0
- package/dist/runtime/pm/features/Blocks/utils/fixBlockIds.js +23 -0
- package/dist/runtime/pm/features/Blocks/utils/isValidId.d.ts +2 -0
- package/dist/runtime/pm/features/Blocks/utils/isValidId.js +7 -0
- package/dist/runtime/pm/features/CodeBlock/CodeBlock.d.ts +16 -0
- package/dist/runtime/pm/features/CodeBlock/CodeBlock.js +91 -0
- package/dist/runtime/pm/features/CodeBlock/build/generateHighlightJsInfo.d.ts +1 -0
- package/dist/runtime/pm/features/CodeBlock/build/generateHighlightJsInfo.js +63 -0
- package/dist/runtime/pm/features/CodeBlock/commands/codeBlockEnterOrSplit.d.ts +9 -0
- package/dist/runtime/pm/features/CodeBlock/commands/codeBlockEnterOrSplit.js +28 -0
- package/dist/runtime/pm/features/CodeBlock/commands/codeBlockIndent.d.ts +9 -0
- package/dist/runtime/pm/features/CodeBlock/commands/codeBlockIndent.js +39 -0
- package/dist/runtime/pm/features/CodeBlock/commands/codeBlockUnindent.d.ts +9 -0
- package/dist/runtime/pm/features/CodeBlock/commands/codeBlockUnindent.js +50 -0
- package/dist/runtime/pm/features/CodeBlock/commands/focusCodeBlockLanguage.d.ts +9 -0
- package/dist/runtime/pm/features/CodeBlock/commands/focusCodeBlockLanguage.js +27 -0
- package/dist/runtime/pm/features/CodeBlock/components/CodeBlockView.d.vue.ts +92 -0
- package/dist/runtime/pm/features/CodeBlock/components/CodeBlockView.vue +112 -0
- package/dist/runtime/pm/features/CodeBlock/components/CodeBlockView.vue.d.ts +92 -0
- package/dist/runtime/pm/features/CodeBlock/composables/useAsyncCodeBlockHighlighting.d.ts +28 -0
- package/dist/runtime/pm/features/CodeBlock/composables/useAsyncCodeBlockHighlighting.js +137 -0
- package/dist/runtime/pm/features/CodeBlock/composables/useHighlightJsTheme.d.ts +37 -0
- package/dist/runtime/pm/features/CodeBlock/composables/useHighlightJsTheme.js +101 -0
- package/dist/runtime/pm/features/CodeBlock/highlightJsInfo.d.ts +17 -0
- package/dist/runtime/pm/features/CodeBlock/highlightJsInfo.js +711 -0
- package/dist/runtime/pm/features/CodeBlock/types.d.ts +4 -0
- package/dist/runtime/pm/features/CodeBlock/types.js +2 -0
- package/dist/runtime/pm/features/Collaboration/Collaboration.d.ts +66 -0
- package/dist/runtime/pm/features/Collaboration/Collaboration.js +169 -0
- package/dist/runtime/pm/features/CommandsMenus/CommandBar.d.ts +19 -0
- package/dist/runtime/pm/features/CommandsMenus/CommandBar.js +97 -0
- package/dist/runtime/pm/features/CommandsMenus/commandBarMenuItems.d.ts +20 -0
- package/dist/runtime/pm/features/CommandsMenus/commandBarMenuItems.js +188 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandBar.d.vue.ts +8 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandBar.vue +58 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandBar.vue.d.ts +8 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandBarItem.d.vue.ts +12 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandBarItem.vue +42 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandBarItem.vue.d.ts +12 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuGroup.d.vue.ts +10 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuGroup.vue +55 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuGroup.vue.d.ts +10 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuItem.d.vue.ts +11 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuItem.vue +58 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuItem.vue.d.ts +11 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuList.d.vue.ts +11 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuList.vue +54 -0
- package/dist/runtime/pm/features/CommandsMenus/components/CommandMenuList.vue.d.ts +11 -0
- package/dist/runtime/pm/features/CommandsMenus/components/TextIcon.d.vue.ts +5 -0
- package/dist/runtime/pm/features/CommandsMenus/components/TextIcon.vue +13 -0
- package/dist/runtime/pm/features/CommandsMenus/components/TextIcon.vue.d.ts +5 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/HighlightIcon.d.vue.ts +8 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/HighlightIcon.vue +45 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/HighlightIcon.vue.d.ts +8 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/SubscriptIcon.d.vue.ts +2 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/SubscriptIcon.vue +5 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/SubscriptIcon.vue.d.ts +2 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/SuperscriptIcon.d.vue.ts +2 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/SuperscriptIcon.vue +5 -0
- package/dist/runtime/pm/features/CommandsMenus/icons/SuperscriptIcon.vue.d.ts +2 -0
- package/dist/runtime/pm/features/CommandsMenus/types.d.ts +61 -0
- package/dist/runtime/pm/features/CommandsMenus/types.js +5 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/defaultCommandExecutor.d.ts +3 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/defaultCommandExecutor.js +11 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/findCommand.d.ts +10 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/findCommand.js +16 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/popupPositionModifier.d.ts +5 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/popupPositionModifier.js +9 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/popupVerticalPositioner.d.ts +5 -0
- package/dist/runtime/pm/features/CommandsMenus/utils/popupVerticalPositioner.js +11 -0
- package/dist/runtime/pm/features/Document/Document.d.ts +3 -0
- package/dist/runtime/pm/features/Document/Document.js +6 -0
- package/dist/runtime/pm/features/DocumentApi/DocumentApi.d.ts +85 -0
- package/dist/runtime/pm/features/DocumentApi/DocumentApi.js +161 -0
- package/dist/runtime/pm/features/DocumentApi/composables/useEditorContent.d.ts +13 -0
- package/dist/runtime/pm/features/DocumentApi/composables/useEditorContent.js +76 -0
- package/dist/runtime/pm/features/DocumentApi/composables/useTestDocumentApi.d.ts +23 -0
- package/dist/runtime/pm/features/DocumentApi/composables/useTestDocumentApi.js +70 -0
- package/dist/runtime/pm/features/DocumentApi/types.d.ts +133 -0
- package/dist/runtime/pm/features/DocumentApi/types.js +1 -0
- package/dist/runtime/pm/features/DocumentApi/utils/convertFullTransactionForPartialState.d.ts +3 -0
- package/dist/runtime/pm/features/DocumentApi/utils/convertFullTransactionForPartialState.js +37 -0
- package/dist/runtime/pm/features/DocumentApi/utils/convertTrForInstance.d.ts +4 -0
- package/dist/runtime/pm/features/DocumentApi/utils/convertTrForInstance.js +13 -0
- package/dist/runtime/pm/features/DocumentApi/utils/convertTransactionForFullState.d.ts +2 -0
- package/dist/runtime/pm/features/DocumentApi/utils/convertTransactionForFullState.js +22 -0
- package/dist/runtime/pm/features/DocumentApi/utils/copyMeta.d.ts +2 -0
- package/dist/runtime/pm/features/DocumentApi/utils/copyMeta.js +6 -0
- package/dist/runtime/pm/features/DocumentApi/utils/getEmbedJson.d.ts +1 -0
- package/dist/runtime/pm/features/DocumentApi/utils/getEmbedJson.js +14 -0
- package/dist/runtime/pm/features/DocumentApi/utils/getEmbedNodeFromDoc.d.ts +1 -0
- package/dist/runtime/pm/features/DocumentApi/utils/getEmbedNodeFromDoc.js +14 -0
- package/dist/runtime/pm/features/DocumentApi/utils/getStateEmbedRange.d.ts +9 -0
- package/dist/runtime/pm/features/DocumentApi/utils/getStateEmbedRange.js +19 -0
- package/dist/runtime/pm/features/DocumentApi/utils/isEmbedId.d.ts +2 -0
- package/dist/runtime/pm/features/DocumentApi/utils/isEmbedId.js +3 -0
- package/dist/runtime/pm/features/EmbeddedDocument/Embedded.d.ts +24 -0
- package/dist/runtime/pm/features/EmbeddedDocument/Embedded.js +73 -0
- package/dist/runtime/pm/features/EmbeddedDocument/EmbeddedDocument.d.ts +23 -0
- package/dist/runtime/pm/features/EmbeddedDocument/EmbeddedDocument.js +70 -0
- package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedDocumentPicker.d.vue.ts +14 -0
- package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedDocumentPicker.vue +171 -0
- package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedDocumentPicker.vue.d.ts +14 -0
- package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.d.vue.ts +92 -0
- package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.vue +172 -0
- package/dist/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.vue.d.ts +92 -0
- package/dist/runtime/pm/features/EmbeddedDocument/composables/useEmbeddedEditor.d.ts +31 -0
- package/dist/runtime/pm/features/EmbeddedDocument/composables/useEmbeddedEditor.js +199 -0
- package/dist/runtime/pm/features/EmbeddedDocument/types.d.ts +49 -0
- package/dist/runtime/pm/features/EmbeddedDocument/types.js +6 -0
- package/dist/runtime/pm/features/EmbeddedDocument/utils/isEmbeddedBlock.d.ts +9 -0
- package/dist/runtime/pm/features/EmbeddedDocument/utils/isEmbeddedBlock.js +3 -0
- package/dist/runtime/pm/features/EmbeddedDocument/utils/redirectFromEmbedded.d.ts +28 -0
- package/dist/runtime/pm/features/EmbeddedDocument/utils/redirectFromEmbedded.js +17 -0
- package/dist/runtime/pm/features/FileLoader/FileLoader.d.ts +16 -0
- package/dist/runtime/pm/features/FileLoader/FileLoader.js +99 -0
- package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/FileLoaderHandler.d.ts +28 -0
- package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/FileLoaderHandler.js +69 -0
- package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/TestFileLoaderHandler.d.ts +11 -0
- package/dist/runtime/pm/features/FileLoader/FileLoaderHandler/TestFileLoaderHandler.js +49 -0
- package/dist/runtime/pm/features/FileLoader/commands/insertFile.d.ts +17 -0
- package/dist/runtime/pm/features/FileLoader/commands/insertFile.js +39 -0
- package/dist/runtime/pm/features/FileLoader/components/FileLoaderNodeView.d.vue.ts +92 -0
- package/dist/runtime/pm/features/FileLoader/components/FileLoaderNodeView.vue +38 -0
- package/dist/runtime/pm/features/FileLoader/components/FileLoaderNodeView.vue.d.ts +92 -0
- package/dist/runtime/pm/features/FileLoader/plugins/fileLoaderPlugin.d.ts +5 -0
- package/dist/runtime/pm/features/FileLoader/plugins/fileLoaderPlugin.js +61 -0
- package/dist/runtime/pm/features/FileLoader/types.d.ts +73 -0
- package/dist/runtime/pm/features/FileLoader/types.js +0 -0
- package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNode.d.ts +4 -0
- package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNode.js +27 -0
- package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNodes.d.ts +9 -0
- package/dist/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNodes.js +22 -0
- package/dist/runtime/pm/features/FileLoader/utils/findLoadingNodePos.d.ts +2 -0
- package/dist/runtime/pm/features/FileLoader/utils/findLoadingNodePos.js +11 -0
- package/dist/runtime/pm/features/FileLoader/utils/optionsCheck.d.ts +3 -0
- package/dist/runtime/pm/features/FileLoader/utils/optionsCheck.js +8 -0
- package/dist/runtime/pm/features/FileLoader/utils/readAsDataUrl.d.ts +1 -0
- package/dist/runtime/pm/features/FileLoader/utils/readAsDataUrl.js +12 -0
- package/dist/runtime/pm/features/HardBreak/HardBreak.d.ts +5 -0
- package/dist/runtime/pm/features/HardBreak/HardBreak.js +14 -0
- package/dist/runtime/pm/features/Heading/Heading.d.ts +24 -0
- package/dist/runtime/pm/features/Heading/Heading.js +85 -0
- package/dist/runtime/pm/features/Heading/commands/changeLevelAttr.d.ts +16 -0
- package/dist/runtime/pm/features/Heading/commands/changeLevelAttr.js +33 -0
- package/dist/runtime/pm/features/Heading/types.d.ts +14 -0
- package/dist/runtime/pm/features/Heading/types.js +0 -0
- package/dist/runtime/pm/features/Highlight/Highlight.d.ts +72 -0
- package/dist/runtime/pm/features/Highlight/Highlight.js +163 -0
- package/dist/runtime/pm/features/Highlight/retyped/tiptapHighlight.d.ts +3 -0
- package/dist/runtime/pm/features/Highlight/retyped/tiptapHighlight.js +5 -0
- package/dist/runtime/pm/features/Highlight/types.d.ts +27 -0
- package/dist/runtime/pm/features/Highlight/types.js +2 -0
- package/dist/runtime/pm/features/History/History.d.ts +35 -0
- package/dist/runtime/pm/features/History/History.js +63 -0
- package/dist/runtime/pm/features/Iframe/Iframe.d.ts +21 -0
- package/dist/runtime/pm/features/Iframe/Iframe.js +127 -0
- package/dist/runtime/pm/features/Iframe/IframeParsers.d.ts +37 -0
- package/dist/runtime/pm/features/Iframe/IframeParsers.js +88 -0
- package/dist/runtime/pm/features/Iframe/components/IframeNodeView.d.vue.ts +92 -0
- package/dist/runtime/pm/features/Iframe/components/IframeNodeView.vue +82 -0
- package/dist/runtime/pm/features/Iframe/components/IframeNodeView.vue.d.ts +92 -0
- package/dist/runtime/pm/features/Iframe/types.d.ts +5 -0
- package/dist/runtime/pm/features/Iframe/types.js +0 -0
- package/dist/runtime/pm/features/Image/Image.d.ts +2 -0
- package/dist/runtime/pm/features/Image/Image.js +13 -0
- package/dist/runtime/pm/features/Link/Link.d.ts +38 -0
- package/dist/runtime/pm/features/Link/Link.js +241 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuExternalLink.d.vue.ts +28 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuExternalLink.vue +114 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuExternalLink.vue.d.ts +28 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuInternalLink.d.vue.ts +29 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuInternalLink.vue +107 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuInternalLink.vue.d.ts +29 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuLink.d.vue.ts +11 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuLink.vue +126 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuLink.vue.d.ts +11 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuLinkActions.d.vue.ts +18 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuLinkActions.vue +57 -0
- package/dist/runtime/pm/features/Link/components/BubbleMenuLinkActions.vue.d.ts +18 -0
- package/dist/runtime/pm/features/Link/types.d.ts +44 -0
- package/dist/runtime/pm/features/Link/types.js +3 -0
- package/dist/runtime/pm/features/Menus/Menus.d.ts +45 -0
- package/dist/runtime/pm/features/Menus/Menus.js +142 -0
- package/dist/runtime/pm/features/Menus/components/MarkMenuManager.d.vue.ts +6 -0
- package/dist/runtime/pm/features/Menus/components/MarkMenuManager.vue +166 -0
- package/dist/runtime/pm/features/Menus/components/MarkMenuManager.vue.d.ts +6 -0
- package/dist/runtime/pm/features/Menus/types.d.ts +51 -0
- package/dist/runtime/pm/features/Menus/types.js +3 -0
- package/dist/runtime/pm/features/Menus/utils/isMarkMenu.d.ts +2 -0
- package/dist/runtime/pm/features/Menus/utils/isMarkMenu.js +3 -0
- package/dist/runtime/pm/features/Tables/commands/tableEnter.d.ts +15 -0
- package/dist/runtime/pm/features/Tables/commands/tableEnter.js +19 -0
- package/dist/runtime/pm/features/Tables/index.d.ts +9 -0
- package/dist/runtime/pm/features/Tables/index.js +44 -0
- package/dist/runtime/pm/schema.d.ts +4 -0
- package/dist/runtime/pm/schema.js +80 -0
- package/dist/runtime/pm/testSchema.d.ts +5 -0
- package/dist/runtime/pm/testSchema.js +30 -0
- package/dist/runtime/pm/utils/createDropIndicator.d.ts +23 -0
- package/dist/runtime/pm/utils/createDropIndicator.js +32 -0
- package/dist/runtime/pm/utils/createStateOnlyPluginApply.d.ts +2 -0
- package/dist/runtime/pm/utils/createStateOnlyPluginApply.js +9 -0
- package/dist/runtime/pm/utils/createStateOnlyPluginObjApply.d.ts +2 -0
- package/dist/runtime/pm/utils/createStateOnlyPluginObjApply.js +14 -0
- package/dist/runtime/pm/utils/dropPointInfo.d.ts +56 -0
- package/dist/runtime/pm/utils/dropPointInfo.js +28 -0
- package/dist/runtime/pm/utils/findUpwards.d.ts +20 -0
- package/dist/runtime/pm/utils/findUpwards.js +18 -0
- package/dist/runtime/pm/utils/getChildChunks.d.ts +3 -0
- package/dist/runtime/pm/utils/getChildChunks.js +15 -0
- package/dist/runtime/pm/utils/getDiffReplacementRange.d.ts +20 -0
- package/dist/runtime/pm/utils/getDiffReplacementRange.js +9 -0
- package/dist/runtime/pm/utils/getElMaxVisualSize.d.ts +9 -0
- package/dist/runtime/pm/utils/getElMaxVisualSize.js +7 -0
- package/dist/runtime/pm/utils/getElPropertyAsInt.d.ts +1 -0
- package/dist/runtime/pm/utils/getElPropertyAsInt.js +8 -0
- package/dist/runtime/pm/utils/getGroupNodeNames.d.ts +2 -0
- package/dist/runtime/pm/utils/getGroupNodeNames.js +7 -0
- package/dist/runtime/pm/utils/getMarkPosition.d.ts +11 -0
- package/dist/runtime/pm/utils/getMarkPosition.js +34 -0
- package/dist/runtime/pm/utils/getMarksInSelection.d.ts +3 -0
- package/dist/runtime/pm/utils/getMarksInSelection.js +16 -0
- package/dist/runtime/pm/utils/getTypeByName.d.ts +2 -0
- package/dist/runtime/pm/utils/getTypeByName.js +5 -0
- package/dist/runtime/pm/utils/index.d.ts +15 -0
- package/dist/runtime/pm/utils/index.js +15 -0
- package/dist/runtime/pm/utils/internal/createNodeTypesList.d.ts +2 -0
- package/dist/runtime/pm/utils/internal/createNodeTypesList.js +17 -0
- package/dist/runtime/pm/utils/internal/debugMap.d.ts +7 -0
- package/dist/runtime/pm/utils/internal/debugMap.js +24 -0
- package/dist/runtime/pm/utils/internal/debugNode.d.ts +2 -0
- package/dist/runtime/pm/utils/internal/debugNode.js +18 -0
- package/dist/runtime/pm/utils/internal/debugSel.d.ts +5 -0
- package/dist/runtime/pm/utils/internal/debugSel.js +8 -0
- package/dist/runtime/pm/utils/internal/recurse.d.ts +2 -0
- package/dist/runtime/pm/utils/internal/recurse.js +39 -0
- package/dist/runtime/pm/utils/internal/stripBlockId.d.ts +2 -0
- package/dist/runtime/pm/utils/internal/stripBlockId.js +9 -0
- package/dist/runtime/pm/utils/mapSelection.d.ts +8 -0
- package/dist/runtime/pm/utils/mapSelection.js +12 -0
- package/dist/runtime/pm/utils/nodesBetween.d.ts +21 -0
- package/dist/runtime/pm/utils/nodesBetween.js +21 -0
- package/dist/runtime/pm/utils/pointToPmPoint.d.ts +2 -0
- package/dist/runtime/pm/utils/pointToPmPoint.js +3 -0
- package/dist/runtime/pm/utils/splitIntoChunks.d.ts +32 -0
- package/dist/runtime/pm/utils/splitIntoChunks.js +31 -0
- package/dist/runtime/testDocuments.d.ts +53 -0
- package/dist/runtime/testDocuments.js +122 -0
- package/dist/runtime/types/index.d.ts +53 -0
- package/dist/runtime/types/index.js +9 -0
- package/dist/types.d.mts +3 -0
- package/package.json +238 -0
- package/src/module.ts +101 -0
- package/src/runtime/assets/base.css +83 -0
- package/src/runtime/assets/handle-arrow.svg +16 -0
- package/src/runtime/assets/handle-border-circles-single.svg +44 -0
- package/src/runtime/assets/handle-border-circles.svg +27 -0
- package/src/runtime/assets/handle-temp.svg +1 -0
- package/src/runtime/assets/utils.css +9 -0
- package/src/runtime/components/CodeBlockThemePicker.vue +125 -0
- package/src/runtime/components/Commands.vue +67 -0
- package/src/runtime/components/Editor.vue +330 -0
- package/src/runtime/components/EditorDemoApp.vue +118 -0
- package/src/runtime/components/EditorDemoControls.vue +38 -0
- package/src/runtime/components/TestWrapper.vue +74 -0
- package/src/runtime/composables/useEditor.ts +29 -0
- package/src/runtime/composables/useWindowDebugging.ts +20 -0
- package/src/runtime/demo/App.vue +114 -0
- package/src/runtime/demo/README.md +1 -0
- package/src/runtime/demo/main.ts +8 -0
- package/src/runtime/demo/tailwind.css +4 -0
- package/src/runtime/env.d.ts +2 -0
- package/src/runtime/injectionKeys.ts +10 -0
- package/src/runtime/main.lib.ts +2 -0
- package/src/runtime/pm/commands/backspace.ts +44 -0
- package/src/runtime/pm/commands/changeAttrs.ts +37 -0
- package/src/runtime/pm/commands/deleteSelection.ts +22 -0
- package/src/runtime/pm/commands/enter.ts +27 -0
- package/src/runtime/pm/commands/insertBreak.ts +40 -0
- package/src/runtime/pm/features/Base/Base.ts +39 -0
- package/src/runtime/pm/features/Base/commands/deleteNodes.ts +54 -0
- package/src/runtime/pm/features/Base/commands/setCursorVisible.ts +24 -0
- package/src/runtime/pm/features/Base/plugins/debugSelectionPlugin.ts +57 -0
- package/src/runtime/pm/features/Base/plugins/isCursorVisiblePlugin.ts +28 -0
- package/src/runtime/pm/features/Base/plugins/isUsingTouchPlugin.ts +40 -0
- package/src/runtime/pm/features/Base/plugins/selectingIndicator.ts +38 -0
- package/src/runtime/pm/features/Base/plugins/unfocusedSelectionIndicatorPlugin.ts +107 -0
- package/src/runtime/pm/features/Base/types.ts +3 -0
- package/src/runtime/pm/features/BaseShortcuts/BaseShortcuts.ts +39 -0
- package/src/runtime/pm/features/Blockquote/Blockquote.ts +75 -0
- package/src/runtime/pm/features/Blockquote/commands/blockquoteEnter.ts +51 -0
- package/src/runtime/pm/features/Blockquote/commands/blockquoteShiftEnter.ts +26 -0
- package/src/runtime/pm/features/Blocks/Blocks.ts +3 -0
- package/src/runtime/pm/features/Blocks/Item.ts +176 -0
- package/src/runtime/pm/features/Blocks/List.ts +67 -0
- package/src/runtime/pm/features/Blocks/commands/changeItemType.ts +64 -0
- package/src/runtime/pm/features/Blocks/commands/changeTypeAttr.ts +47 -0
- package/src/runtime/pm/features/Blocks/commands/copyOrMoveItem.ts +179 -0
- package/src/runtime/pm/features/Blocks/commands/deleteItem.ts +24 -0
- package/src/runtime/pm/features/Blocks/commands/indentItem.ts +105 -0
- package/src/runtime/pm/features/Blocks/commands/itemMenuCommands.ts +62 -0
- package/src/runtime/pm/features/Blocks/commands/moveItem.ts +128 -0
- package/src/runtime/pm/features/Blocks/commands/setNode.ts +186 -0
- package/src/runtime/pm/features/Blocks/commands/splitItem.ts +116 -0
- package/src/runtime/pm/features/Blocks/commands/unindentItem.ts +82 -0
- package/src/runtime/pm/features/Blocks/components/DragTreeHandle.vue +142 -0
- package/src/runtime/pm/features/Blocks/components/ItemMenu.vue +88 -0
- package/src/runtime/pm/features/Blocks/components/ItemNodeView.vue +394 -0
- package/src/runtime/pm/features/Blocks/components/defaultItemMenu.ts +45 -0
- package/src/runtime/pm/features/Blocks/composables/useDragWithThreshold.ts +0 -0
- package/src/runtime/pm/features/Blocks/composables/useHandleHeight.ts +28 -0
- package/src/runtime/pm/features/Blocks/composables/useHasChildren.ts +14 -0
- package/src/runtime/pm/features/Blocks/composables/useNodeStates.ts +29 -0
- package/src/runtime/pm/features/Blocks/itemMenuMenuItems.ts +143 -0
- package/src/runtime/pm/features/Blocks/plugins/ensureLastItemIsContentPlugin.ts +52 -0
- package/src/runtime/pm/features/Blocks/plugins/itemBlockIdPlugin.ts +40 -0
- package/src/runtime/pm/features/Blocks/plugins/itemHasSingularSelectionPlugin.ts +32 -0
- package/src/runtime/pm/features/Blocks/plugins/itemMenuPlugin.ts +21 -0
- package/src/runtime/pm/features/Blocks/states/stateful.ts +41 -0
- package/src/runtime/pm/features/Blocks/states/task/cancelled.svg +32 -0
- package/src/runtime/pm/features/Blocks/states/task/checked.svg +27 -0
- package/src/runtime/pm/features/Blocks/states/task/checked2.svg +24 -0
- package/src/runtime/pm/features/Blocks/states/task/partial.svg +24 -0
- package/src/runtime/pm/features/Blocks/states/task/partial2.svg +31 -0
- package/src/runtime/pm/features/Blocks/states/task/unchecked.svg +20 -0
- package/src/runtime/pm/features/Blocks/types.ts +51 -0
- package/src/runtime/pm/features/Blocks/utils/createItemMenuCommandExecuter.ts +47 -0
- package/src/runtime/pm/features/Blocks/utils/fixBlockIds.ts +28 -0
- package/src/runtime/pm/features/Blocks/utils/isValidId.ts +8 -0
- package/src/runtime/pm/features/CodeBlock/CodeBlock.ts +104 -0
- package/src/runtime/pm/features/CodeBlock/build/generateHighlightJsInfo.js +63 -0
- package/src/runtime/pm/features/CodeBlock/commands/codeBlockEnterOrSplit.ts +55 -0
- package/src/runtime/pm/features/CodeBlock/commands/codeBlockIndent.ts +67 -0
- package/src/runtime/pm/features/CodeBlock/commands/codeBlockUnindent.ts +74 -0
- package/src/runtime/pm/features/CodeBlock/commands/focusCodeBlockLanguage.ts +44 -0
- package/src/runtime/pm/features/CodeBlock/components/CodeBlockView.vue +126 -0
- package/src/runtime/pm/features/CodeBlock/composables/useAsyncCodeBlockHighlighting.ts +185 -0
- package/src/runtime/pm/features/CodeBlock/composables/useHighlightJsTheme.ts +150 -0
- package/src/runtime/pm/features/CodeBlock/highlightJsInfo.ts +733 -0
- package/src/runtime/pm/features/CodeBlock/types.ts +7 -0
- package/src/runtime/pm/features/Collaboration/Collaboration.ts +295 -0
- package/src/runtime/pm/features/CommandsMenus/CommandBar.ts +130 -0
- package/src/runtime/pm/features/CommandsMenus/commandBarMenuItems.ts +209 -0
- package/src/runtime/pm/features/CommandsMenus/components/CommandBar.vue +63 -0
- package/src/runtime/pm/features/CommandsMenus/components/CommandBarItem.vue +48 -0
- package/src/runtime/pm/features/CommandsMenus/components/CommandMenuGroup.vue +59 -0
- package/src/runtime/pm/features/CommandsMenus/components/CommandMenuItem.vue +67 -0
- package/src/runtime/pm/features/CommandsMenus/components/CommandMenuList.vue +60 -0
- package/src/runtime/pm/features/CommandsMenus/components/TextIcon.vue +14 -0
- package/src/runtime/pm/features/CommandsMenus/icons/HighlightIcon.vue +51 -0
- package/src/runtime/pm/features/CommandsMenus/icons/SubscriptIcon.vue +5 -0
- package/src/runtime/pm/features/CommandsMenus/icons/SuperscriptIcon.vue +5 -0
- package/src/runtime/pm/features/CommandsMenus/types.ts +73 -0
- package/src/runtime/pm/features/CommandsMenus/utils/defaultCommandExecutor.ts +22 -0
- package/src/runtime/pm/features/CommandsMenus/utils/findCommand.ts +37 -0
- package/src/runtime/pm/features/CommandsMenus/utils/popupPositionModifier.ts +14 -0
- package/src/runtime/pm/features/CommandsMenus/utils/popupVerticalPositioner.ts +16 -0
- package/src/runtime/pm/features/Document/Document.ts +9 -0
- package/src/runtime/pm/features/DocumentApi/DocumentApi.ts +272 -0
- package/src/runtime/pm/features/DocumentApi/composables/useEditorContent.ts +105 -0
- package/src/runtime/pm/features/DocumentApi/composables/useTestDocumentApi.ts +95 -0
- package/src/runtime/pm/features/DocumentApi/types.ts +143 -0
- package/src/runtime/pm/features/DocumentApi/utils/convertFullTransactionForPartialState.ts +54 -0
- package/src/runtime/pm/features/DocumentApi/utils/convertTrForInstance.ts +24 -0
- package/src/runtime/pm/features/DocumentApi/utils/convertTransactionForFullState.ts +39 -0
- package/src/runtime/pm/features/DocumentApi/utils/copyMeta.ts +8 -0
- package/src/runtime/pm/features/DocumentApi/utils/getEmbedJson.ts +16 -0
- package/src/runtime/pm/features/DocumentApi/utils/getEmbedNodeFromDoc.ts +15 -0
- package/src/runtime/pm/features/DocumentApi/utils/getStateEmbedRange.ts +26 -0
- package/src/runtime/pm/features/DocumentApi/utils/isEmbedId.ts +5 -0
- package/src/runtime/pm/features/EmbeddedDocument/Embedded.ts +110 -0
- package/src/runtime/pm/features/EmbeddedDocument/EmbeddedDocument.ts +102 -0
- package/src/runtime/pm/features/EmbeddedDocument/components/EmbeddedDocumentPicker.vue +188 -0
- package/src/runtime/pm/features/EmbeddedDocument/components/EmbeddedNodeView.vue +187 -0
- package/src/runtime/pm/features/EmbeddedDocument/composables/useEmbeddedEditor.ts +302 -0
- package/src/runtime/pm/features/EmbeddedDocument/types.ts +61 -0
- package/src/runtime/pm/features/EmbeddedDocument/utils/isEmbeddedBlock.ts +12 -0
- package/src/runtime/pm/features/EmbeddedDocument/utils/redirectFromEmbedded.ts +48 -0
- package/src/runtime/pm/features/FileLoader/FileLoader.ts +120 -0
- package/src/runtime/pm/features/FileLoader/FileLoaderHandler/FileLoaderHandler.ts +100 -0
- package/src/runtime/pm/features/FileLoader/FileLoaderHandler/TestFileLoaderHandler.ts +61 -0
- package/src/runtime/pm/features/FileLoader/commands/insertFile.ts +87 -0
- package/src/runtime/pm/features/FileLoader/components/FileLoaderNodeView.vue +38 -0
- package/src/runtime/pm/features/FileLoader/plugins/fileLoaderPlugin.ts +70 -0
- package/src/runtime/pm/features/FileLoader/types.ts +91 -0
- package/src/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNode.ts +39 -0
- package/src/runtime/pm/features/FileLoader/utils/cleanupFileLoaderNodes.ts +42 -0
- package/src/runtime/pm/features/FileLoader/utils/findLoadingNodePos.ts +16 -0
- package/src/runtime/pm/features/FileLoader/utils/optionsCheck.ts +16 -0
- package/src/runtime/pm/features/FileLoader/utils/readAsDataUrl.ts +12 -0
- package/src/runtime/pm/features/HardBreak/HardBreak.ts +21 -0
- package/src/runtime/pm/features/Heading/Heading.ts +130 -0
- package/src/runtime/pm/features/Heading/commands/changeLevelAttr.ts +55 -0
- package/src/runtime/pm/features/Heading/types.ts +17 -0
- package/src/runtime/pm/features/Highlight/Highlight.ts +234 -0
- package/src/runtime/pm/features/Highlight/retyped/tiptapHighlight.d.ts +3 -0
- package/src/runtime/pm/features/Highlight/retyped/tiptapHighlight.js +5 -0
- package/src/runtime/pm/features/Highlight/types.ts +25 -0
- package/src/runtime/pm/features/History/History.ts +112 -0
- package/src/runtime/pm/features/Iframe/Iframe.ts +163 -0
- package/src/runtime/pm/features/Iframe/IframeParsers.ts +116 -0
- package/src/runtime/pm/features/Iframe/components/IframeNodeView.vue +83 -0
- package/src/runtime/pm/features/Iframe/types.ts +7 -0
- package/src/runtime/pm/features/Image/Image.ts +16 -0
- package/src/runtime/pm/features/Link/Link.ts +313 -0
- package/src/runtime/pm/features/Link/components/BubbleMenuExternalLink.vue +125 -0
- package/src/runtime/pm/features/Link/components/BubbleMenuInternalLink.vue +130 -0
- package/src/runtime/pm/features/Link/components/BubbleMenuLink.vue +149 -0
- package/src/runtime/pm/features/Link/components/BubbleMenuLinkActions.vue +65 -0
- package/src/runtime/pm/features/Link/types.ts +53 -0
- package/src/runtime/pm/features/Menus/Menus.ts +195 -0
- package/src/runtime/pm/features/Menus/components/MarkMenuManager.vue +203 -0
- package/src/runtime/pm/features/Menus/types.ts +64 -0
- package/src/runtime/pm/features/Menus/utils/isMarkMenu.ts +5 -0
- package/src/runtime/pm/features/Tables/commands/tableEnter.ts +40 -0
- package/src/runtime/pm/features/Tables/index.ts +60 -0
- package/src/runtime/pm/schema.ts +128 -0
- package/src/runtime/pm/testSchema.ts +34 -0
- package/src/runtime/pm/utils/createDropIndicator.ts +61 -0
- package/src/runtime/pm/utils/createStateOnlyPluginApply.ts +11 -0
- package/src/runtime/pm/utils/createStateOnlyPluginObjApply.ts +16 -0
- package/src/runtime/pm/utils/dropPointInfo.ts +85 -0
- package/src/runtime/pm/utils/findUpwards.ts +43 -0
- package/src/runtime/pm/utils/getChildChunks.ts +24 -0
- package/src/runtime/pm/utils/getDiffReplacementRange.ts +32 -0
- package/src/runtime/pm/utils/getElMaxVisualSize.ts +14 -0
- package/src/runtime/pm/utils/getElPropertyAsInt.ts +8 -0
- package/src/runtime/pm/utils/getGroupNodeNames.ts +9 -0
- package/src/runtime/pm/utils/getMarkPosition.ts +57 -0
- package/src/runtime/pm/utils/getMarksInSelection.ts +19 -0
- package/src/runtime/pm/utils/getTypeByName.ts +7 -0
- package/src/runtime/pm/utils/index.ts +17 -0
- package/src/runtime/pm/utils/internal/createNodeTypesList.ts +25 -0
- package/src/runtime/pm/utils/internal/debugMap.ts +36 -0
- package/src/runtime/pm/utils/internal/debugNode.ts +38 -0
- package/src/runtime/pm/utils/internal/debugSel.ts +10 -0
- package/src/runtime/pm/utils/internal/recurse.ts +44 -0
- package/src/runtime/pm/utils/internal/stripBlockId.ts +10 -0
- package/src/runtime/pm/utils/mapSelection.ts +21 -0
- package/src/runtime/pm/utils/nodesBetween.ts +47 -0
- package/src/runtime/pm/utils/pointToPmPoint.ts +5 -0
- package/src/runtime/pm/utils/splitIntoChunks.ts +68 -0
- package/src/runtime/testDocuments.ts +130 -0
- package/src/runtime/types/index.ts +56 -0
package/package.json
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@witchcraft/editor",
|
|
3
|
+
"description": "Block base prosemirror editor with partial/full editable document embeds, infinite embeds, and document uploads.",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"main": "./dist/runtime/main.lib.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/runtime/main.lib.d.ts",
|
|
11
|
+
"import": "./dist/runtime/main.lib.js"
|
|
12
|
+
},
|
|
13
|
+
"./*": {
|
|
14
|
+
"types": "./dist/runtime/*.d.ts",
|
|
15
|
+
"import": "./dist/runtime/*.js"
|
|
16
|
+
},
|
|
17
|
+
"./assets/*": {
|
|
18
|
+
"import": "./dist/runtime/assets/*"
|
|
19
|
+
},
|
|
20
|
+
"./components/*": {
|
|
21
|
+
"types": "./dist/runtime/components/*/*.vue.d.ts",
|
|
22
|
+
"import": "./dist/runtime/components/*/*.vue"
|
|
23
|
+
},
|
|
24
|
+
"./composables/*": {
|
|
25
|
+
"types": "./dist/runtime/composables/*.d.ts",
|
|
26
|
+
"import": "./dist/runtime/composables/*.js"
|
|
27
|
+
},
|
|
28
|
+
"./pm/features/Blocks/components/*": {
|
|
29
|
+
"types": "./dist/runtime/pm/features/Blocks/components/*.vue.d.ts",
|
|
30
|
+
"import": "./dist/runtime/pm/features/Blocks/components/*.vue"
|
|
31
|
+
},
|
|
32
|
+
"./pm/features/CodeBlock/components/*": {
|
|
33
|
+
"types": "./dist/runtime/pm/features/CodeBlock/components/*.vue.d.ts",
|
|
34
|
+
"import": "./dist/runtime/pm/features/CodeBlock/components/*.vue"
|
|
35
|
+
},
|
|
36
|
+
"./pm/features/EmbeddedDocument/components/*": {
|
|
37
|
+
"types": "./dist/runtime/pm/features/EmbeddedDocument/components/*.vue.d.ts",
|
|
38
|
+
"import": "./dist/runtime/pm/features/EmbeddedDocument/components/*.vue"
|
|
39
|
+
},
|
|
40
|
+
"./pm/features/FileLoader/components/*": {
|
|
41
|
+
"types": "./dist/runtime/pm/features/FileLoader/components/*.vue.d.ts",
|
|
42
|
+
"import": "./dist/runtime/pm/features/FileLoader/components/*.vue"
|
|
43
|
+
},
|
|
44
|
+
"./pm/features/Iframe/components/*": {
|
|
45
|
+
"types": "./dist/runtime/pm/features/Iframe/components/*.vue.d.ts",
|
|
46
|
+
"import": "./dist/runtime/pm/features/Iframe/components/*.vue"
|
|
47
|
+
},
|
|
48
|
+
"./pm/features/Menus/components/*": {
|
|
49
|
+
"types": "./dist/runtime/pm/features/Menus/components/*.vue.d.ts",
|
|
50
|
+
"import": "./dist/runtime/pm/features/Menus/components/*.vue"
|
|
51
|
+
},
|
|
52
|
+
"./pm/*": {
|
|
53
|
+
"types": "./dist/runtime/pm/*.d.ts",
|
|
54
|
+
"import": "./dist/runtime/pm/*.js"
|
|
55
|
+
},
|
|
56
|
+
"./nuxt": {
|
|
57
|
+
"import": "./dist/module.mjs"
|
|
58
|
+
},
|
|
59
|
+
"./base.css": "./src/runtime/assets/base.css",
|
|
60
|
+
"./utils.css": "./src/runtime/assets/utils.css",
|
|
61
|
+
"./@types/*": "./@types/*"
|
|
62
|
+
},
|
|
63
|
+
"unbuild": {
|
|
64
|
+
"failOnWarn": false
|
|
65
|
+
},
|
|
66
|
+
"scripts": {
|
|
67
|
+
"//prepare": "echo Needed so that if we pull the package from git it will get built and installed properly.",
|
|
68
|
+
"prepare": "husky && pnpm build",
|
|
69
|
+
"build:only": "nuxt-module-build build",
|
|
70
|
+
"build": "pnpm gen:highlightJsLangInfo && nuxt-module-build prepare && nuxt-module-build build && nuxi generate playground",
|
|
71
|
+
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
|
|
72
|
+
"dev": "nuxi dev playground",
|
|
73
|
+
"//dev:vite": "The module needs to be build, not stubbed, for vite's dev to work.",
|
|
74
|
+
"dev:vite": "concurrently \"pnpm build\" \"vite --mode development --config vite.config.ts\"",
|
|
75
|
+
"lint:eslint": "eslint \"{src,tests,playground/app}/**/*.{cjs,js,ts,vue}\" \"*.{cjs,js,ts}\" --max-warnings=0 --report-unused-disable-directives",
|
|
76
|
+
"lint:commits": "commitlint --from $(git rev-list --max-parents=0 HEAD) --to HEAD --verbose",
|
|
77
|
+
"lint:imports": "echo not working madge --circular --extensions ts ./src",
|
|
78
|
+
"lint": "pnpm lint:eslint && pnpm lint:types && pnpm lint:imports",
|
|
79
|
+
"lint:types": "vue-tsc --noEmit",
|
|
80
|
+
"test": "vitest",
|
|
81
|
+
"test:watch": "vitest --watch",
|
|
82
|
+
"doc": "typedoc --options typedoc.config.js",
|
|
83
|
+
"doc:watch": "onchange -i \"src/**/*.ts\" \"typedoc.config.cjs\" -- pnpm doc",
|
|
84
|
+
"doc:serve": "http-server docs --port=5001",
|
|
85
|
+
"doc:dev": "concurrently \"pnpm doc:watch\" \"pnpm doc:serve\"",
|
|
86
|
+
"doc:check-invalid": "typedoc --options typedoc.config.cjs --listInvalidSymbolLinks",
|
|
87
|
+
"//actions:debug": "echo For debugging github build action locally with nektos/act. Requires act and docker. Note: Cache will never work locally because of https://github.com/nektos/act/issues/285",
|
|
88
|
+
"actions:debug": "act -r -v -j release",
|
|
89
|
+
"gen:highlightJsLangInfo": "node src/runtime/pm/features/CodeBlock/build/generateHighlightJsInfo.js"
|
|
90
|
+
},
|
|
91
|
+
"pnpm": {
|
|
92
|
+
"overrides": {
|
|
93
|
+
"@tiptap/pm": "^3.4.2",
|
|
94
|
+
"@tiptap/vue-3": "^3.4.2",
|
|
95
|
+
"@tiptap/core": "^3.4.2"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"peerDependencies": {
|
|
99
|
+
"@tiptap/core": "^3.4.2",
|
|
100
|
+
"@tiptap/extension-blockquote": "^3.4.2",
|
|
101
|
+
"@tiptap/extension-bold": "^3.4.2",
|
|
102
|
+
"@tiptap/extension-code": "^3.4.2",
|
|
103
|
+
"@tiptap/extension-code-block": "^3.4.2",
|
|
104
|
+
"@tiptap/extension-code-block-lowlight": "^3.4.2",
|
|
105
|
+
"@tiptap/extension-dropcursor": "^3.4.2",
|
|
106
|
+
"@tiptap/extension-gapcursor": "^3.4.2",
|
|
107
|
+
"@tiptap/extension-hard-break": "^3.4.2",
|
|
108
|
+
"@tiptap/extension-heading": "^3.4.2",
|
|
109
|
+
"@tiptap/extension-highlight": "^3.4.2",
|
|
110
|
+
"@tiptap/extension-history": "^3.4.2",
|
|
111
|
+
"@tiptap/extension-image": "^3.4.2",
|
|
112
|
+
"@tiptap/extension-italic": "^3.4.2",
|
|
113
|
+
"@tiptap/extension-link": "^3.4.2",
|
|
114
|
+
"@tiptap/extension-paragraph": "^3.4.2",
|
|
115
|
+
"@tiptap/extension-strike": "^3.4.2",
|
|
116
|
+
"@tiptap/extension-subscript": "^3.4.2",
|
|
117
|
+
"@tiptap/extension-superscript": "^3.4.2",
|
|
118
|
+
"@tiptap/extension-table": "^3.4.2",
|
|
119
|
+
"@tiptap/extension-table-cell": "^3.4.2",
|
|
120
|
+
"@tiptap/extension-table-header": "^3.4.2",
|
|
121
|
+
"@tiptap/extension-table-row": "^3.4.2",
|
|
122
|
+
"@tiptap/extension-text": "^3.4.2",
|
|
123
|
+
"@tiptap/extension-underline": "^3.4.2",
|
|
124
|
+
"@tiptap/pm": "^3.4.2",
|
|
125
|
+
"@tiptap/vue-3": "^3.4.2",
|
|
126
|
+
"@witchcraft/ui": "^0.2.1",
|
|
127
|
+
"tailwindcss": "^4.0.0",
|
|
128
|
+
"vue": "^3.2.47"
|
|
129
|
+
},
|
|
130
|
+
"peerDependenciesMeta": {
|
|
131
|
+
"@witchcraft/ui": {
|
|
132
|
+
"optional": false
|
|
133
|
+
},
|
|
134
|
+
"tailwindcss": {
|
|
135
|
+
"optional": false
|
|
136
|
+
},
|
|
137
|
+
"vue": {
|
|
138
|
+
"optional": false
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"dependencies": {
|
|
142
|
+
"@alanscodelog/eslint-config": "^6.3.1",
|
|
143
|
+
"@alanscodelog/utils": "^6.0.1",
|
|
144
|
+
"@commitlint/cli": "^19.8.1",
|
|
145
|
+
"@fortawesome/fontawesome-svg-core": "^7.0.1",
|
|
146
|
+
"@fortawesome/free-brands-svg-icons": "^7.0.1",
|
|
147
|
+
"@fortawesome/free-regular-svg-icons": "^7.0.1",
|
|
148
|
+
"@fortawesome/free-solid-svg-icons": "^7.0.1",
|
|
149
|
+
"@nuxt/eslint-config": "^1.9.0",
|
|
150
|
+
"@witchcraft/nuxt-utils": "^0.3.2",
|
|
151
|
+
"@witchcraft/ui": "^0.2.1",
|
|
152
|
+
"colord": "^2.9.3",
|
|
153
|
+
"defu": "^6.1.4",
|
|
154
|
+
"highlight.js": "^11.11.1",
|
|
155
|
+
"lowlight": "^3.3.0",
|
|
156
|
+
"metamorphosis": "^0.6.1",
|
|
157
|
+
"mime": "^4.1.0",
|
|
158
|
+
"nanoid": "^5.1.5",
|
|
159
|
+
"reka-ui": "^2.5.0",
|
|
160
|
+
"tailwind-merge": "^3.3.1",
|
|
161
|
+
"unplugin-vue-components": "^29.0.0",
|
|
162
|
+
"uuid": "^13.0.0",
|
|
163
|
+
"y-prosemirror": "^1.3.7",
|
|
164
|
+
"yjs": "^13.6.27"
|
|
165
|
+
},
|
|
166
|
+
"devDependencies": {
|
|
167
|
+
"@alanscodelog/commitlint-config": "^3.1.2",
|
|
168
|
+
"@alanscodelog/semantic-release-config": "^5.0.4",
|
|
169
|
+
"@alanscodelog/tsconfigs": "^6.2.0",
|
|
170
|
+
"@alanscodelog/vite-config": "^0.0.6",
|
|
171
|
+
"@iconify/json": "^2.2.384",
|
|
172
|
+
"@nuxt/kit": "^4.1.2",
|
|
173
|
+
"@nuxt/module-builder": "^1.0.2",
|
|
174
|
+
"@nuxt/schema": "^4.1.2",
|
|
175
|
+
"@nuxt/types": "^2.18.1",
|
|
176
|
+
"@playwright/test": "=1.54.0",
|
|
177
|
+
"@rollup/plugin-dynamic-import-vars": "^2.1.5",
|
|
178
|
+
"@tailwindcss/cli": "^4.1.13",
|
|
179
|
+
"@tailwindcss/vite": "^4.1.13",
|
|
180
|
+
"@testing-library/vue": "^8.1.0",
|
|
181
|
+
"@types/node": "^24.4.0",
|
|
182
|
+
"@vitejs/plugin-vue": "^6.0.1",
|
|
183
|
+
"@vitest/browser": "^3.0.0",
|
|
184
|
+
"@vitest/coverage-v8": "^3.0.0",
|
|
185
|
+
"@witchcraft/ui": "^0.2.1",
|
|
186
|
+
"concurrently": "^9.2.1",
|
|
187
|
+
"cross-env": "^10.0.0",
|
|
188
|
+
"eslint": "^9.35.0",
|
|
189
|
+
"fast-glob": "^3.3.3",
|
|
190
|
+
"http-server": "^14.1.1",
|
|
191
|
+
"husky": "^9.1.7",
|
|
192
|
+
"madge": "^8.0.0",
|
|
193
|
+
"nuxt": "^4.1.2",
|
|
194
|
+
"onchange": "^7.1.0",
|
|
195
|
+
"playwright": "=1.54.0",
|
|
196
|
+
"playwright-core": "=1.54.0",
|
|
197
|
+
"prosemirror-test-builder": "^1.1.1",
|
|
198
|
+
"radix-vue": "^1.9.17",
|
|
199
|
+
"semantic-release": "^24.2.8",
|
|
200
|
+
"tailwindcss": "^4.1.13",
|
|
201
|
+
"typedoc": "^0.28.13",
|
|
202
|
+
"typescript": "~5.9.2",
|
|
203
|
+
"unplugin-icons": "^22.3.0",
|
|
204
|
+
"vite": "^7.1.5",
|
|
205
|
+
"vitest": "^3.0.0",
|
|
206
|
+
"vue": "^3.5.21",
|
|
207
|
+
"vue-component-type-helpers": "^3.0.7",
|
|
208
|
+
"vue-tsc": "^2.2.12"
|
|
209
|
+
},
|
|
210
|
+
"author": "Alan <alanscodelog@gmail.com>",
|
|
211
|
+
"repository": "https://github.com/witchcraftjs/editor",
|
|
212
|
+
"license": "MIT",
|
|
213
|
+
"files": [
|
|
214
|
+
"src",
|
|
215
|
+
"dist",
|
|
216
|
+
"@types"
|
|
217
|
+
],
|
|
218
|
+
"release": {
|
|
219
|
+
"extends": [
|
|
220
|
+
"@alanscodelog/semantic-release-config"
|
|
221
|
+
]
|
|
222
|
+
},
|
|
223
|
+
"commitlint": {
|
|
224
|
+
"extends": [
|
|
225
|
+
"@alanscodelog"
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
"browserslist": "defaults and supports es6-module,maintained node versions",
|
|
229
|
+
"engines": {
|
|
230
|
+
"node": ">=20.0.0"
|
|
231
|
+
},
|
|
232
|
+
"@comments": {
|
|
233
|
+
"vue-tsc": "Do not upgrade to 3.0, #awaiting https://github.com/vuejs/language-tools/issues/5644"
|
|
234
|
+
},
|
|
235
|
+
"publishConfig": {
|
|
236
|
+
"access": "public"
|
|
237
|
+
}
|
|
238
|
+
}
|
package/src/module.ts
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { crop } from "@alanscodelog/utils"
|
|
2
|
+
import {
|
|
3
|
+
addComponentsDir,
|
|
4
|
+
addImportsDir,
|
|
5
|
+
addTemplate,
|
|
6
|
+
createResolver,
|
|
7
|
+
defineNuxtModule,
|
|
8
|
+
installModule } from "@nuxt/kit"
|
|
9
|
+
import { defu } from "defu"
|
|
10
|
+
import fs from "node:fs/promises"
|
|
11
|
+
|
|
12
|
+
const { resolve } = createResolver(import.meta.url)
|
|
13
|
+
|
|
14
|
+
declare module "@nuxt/schema" {
|
|
15
|
+
interface PublicRuntimeConfig {
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
17
|
+
witchcraftEditor: {}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ModuleOptions {
|
|
22
|
+
/** @internal */
|
|
23
|
+
_playgroundWorkaround?: boolean
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default defineNuxtModule<ModuleOptions>({
|
|
27
|
+
meta: {
|
|
28
|
+
name: "witchcraftEditor",
|
|
29
|
+
configKey: "witchcraftEditor"
|
|
30
|
+
},
|
|
31
|
+
defaults: {
|
|
32
|
+
_playgroundWorkaround: false
|
|
33
|
+
},
|
|
34
|
+
async setup(options, nuxt) {
|
|
35
|
+
nuxt.options.runtimeConfig.public.witchcraftEditor = defu(
|
|
36
|
+
nuxt.options.runtimeConfig.public.witchcraftEditor,
|
|
37
|
+
{
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
await installModule("@witchcraft/ui/nuxt", (nuxt.options as any).witchcraftUi)
|
|
41
|
+
|
|
42
|
+
addComponentsDir({ path: resolve("./runtime/components") })
|
|
43
|
+
|
|
44
|
+
const pmFeatures = await fs.readdir(resolve("./runtime/pm/features"))
|
|
45
|
+
for (const feature of pmFeatures) {
|
|
46
|
+
nuxt.options.build.transpile.push(resolve(`./runtime/pm/features/${feature}/${feature}`))
|
|
47
|
+
if (await fs.stat(resolve(`./runtime/pm/features/${feature}/components`)).then(_ => true).catch(() => false)) {
|
|
48
|
+
addComponentsDir({ path: resolve(`./runtime/pm/features/${feature}/components`) })
|
|
49
|
+
}
|
|
50
|
+
if (await fs.stat(resolve(`./runtime/pm/features/${feature}/composables`)).then(_ => true).catch(() => false)) {
|
|
51
|
+
addImportsDir(resolve(`./runtime/pm/features/${feature}/composables`))
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
addTemplate({
|
|
56
|
+
filename: "witchcraft-editor.css",
|
|
57
|
+
write: true,
|
|
58
|
+
getContents: () => options._playgroundWorkaround
|
|
59
|
+
? crop`
|
|
60
|
+
@import "${resolve("./runtime/assets/base.css")}";
|
|
61
|
+
@import "${resolve("./runtime/assets/utils.css")}";
|
|
62
|
+
@source "${resolve("./runtime/components")}";
|
|
63
|
+
@source "${resolve("./runtime/pm")}";
|
|
64
|
+
`
|
|
65
|
+
: crop`
|
|
66
|
+
@import "@witchcraft/editor/base.css";
|
|
67
|
+
@import "@witchcraft/editor/utils.css";
|
|
68
|
+
@source "${resolve("./runtime/components")}";
|
|
69
|
+
@source "${resolve("./runtime/pm")}";
|
|
70
|
+
`
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
addImportsDir(resolve("./runtime/composables"))
|
|
74
|
+
nuxt.options.typescript = nuxt.options.typescript || {}
|
|
75
|
+
nuxt.options.typescript.hoist = nuxt.options.typescript.hoist || []
|
|
76
|
+
// nuxt.options.typescript.hoist.push('@tiptap/vue-3')
|
|
77
|
+
// nuxt.options.typescript.hoist.push('@tiptap/pm')
|
|
78
|
+
|
|
79
|
+
nuxt.options.alias["#witchcraft-editor"] = resolve("./runtime")
|
|
80
|
+
nuxt.options.alias["#witchcraft-pm"] = resolve("./runtime/pm")
|
|
81
|
+
|
|
82
|
+
// otherwise we get two versions of the same thing
|
|
83
|
+
nuxt.options.build.transpile.push("@tiptap/vue-3")
|
|
84
|
+
nuxt.options.build.transpile.push("@tiptap/pm")
|
|
85
|
+
|
|
86
|
+
nuxt.hook("vite:extendConfig", config => {
|
|
87
|
+
config.optimizeDeps ??= {}
|
|
88
|
+
config.optimizeDeps.exclude ??= []
|
|
89
|
+
// causes issues with the import.meta.globs here
|
|
90
|
+
config.optimizeDeps.exclude.push("@witchcraft/editor/pm/features/CodeBlock/composables/useHighlightJsTheme")
|
|
91
|
+
config.optimizeDeps.exclude.push("@witchcraft/editor/pm/features/CodeBlock/composables/useAsyncCodeBlockHighlight")
|
|
92
|
+
// see above
|
|
93
|
+
config.optimizeDeps.exclude.push("@tiptap/vue-3")
|
|
94
|
+
config.optimizeDeps.exclude.push("@tiptap/pm")
|
|
95
|
+
config.optimizeDeps.include ??= []
|
|
96
|
+
config.optimizeDeps.include.push("highlight.js/lib/core")
|
|
97
|
+
// idk why we also need to do this or it won't work from a real app
|
|
98
|
+
config.optimizeDeps.include.push("@witchcraft/editor > highlight.js/lib/core")
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
})
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
html {
|
|
2
|
+
padding:none;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.tiptap {
|
|
6
|
+
.tableWrapper {
|
|
7
|
+
& table {
|
|
8
|
+
border-collapse: separate;
|
|
9
|
+
border-spacing: 0;
|
|
10
|
+
margin: 0;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
width: 100%;
|
|
13
|
+
table-layout: fixed;
|
|
14
|
+
thead {
|
|
15
|
+
font-weight: bold;
|
|
16
|
+
}
|
|
17
|
+
td,
|
|
18
|
+
th {
|
|
19
|
+
border-right: 1px solid;
|
|
20
|
+
border-top: 1px solid;
|
|
21
|
+
border-color: var(--color-neutral-500);
|
|
22
|
+
padding: var(--spacing);
|
|
23
|
+
min-width: 1em;
|
|
24
|
+
position: relative;
|
|
25
|
+
&:first-of-type {
|
|
26
|
+
border-left: 1px solid;
|
|
27
|
+
border-color: var(--color-neutral-500);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
tr:last-of-type {
|
|
33
|
+
& td, & th {
|
|
34
|
+
border-bottom: 1px solid;
|
|
35
|
+
border-color: var(--color-neutral-500);
|
|
36
|
+
&:last-of-type {
|
|
37
|
+
border-radius: 0 0 var(--radius-sm);
|
|
38
|
+
}
|
|
39
|
+
&:first-of-type {
|
|
40
|
+
border-radius: 0 0 0 var(--radius-sm);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
tr:first-of-type {
|
|
45
|
+
& td, & th {
|
|
46
|
+
&:last-of-type {
|
|
47
|
+
border-radius: 0 var(--radius-sm) 0 0;
|
|
48
|
+
}
|
|
49
|
+
&:first-of-type {
|
|
50
|
+
border-radius: var(--radius-sm) 0 0 0;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.selectedCell:after {
|
|
56
|
+
background-color: --alpha(var(--color-blue-500) / 20%);
|
|
57
|
+
content: '';
|
|
58
|
+
inset: 0;
|
|
59
|
+
pointer-events: none;
|
|
60
|
+
position: absolute;
|
|
61
|
+
z-index: 10;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.column-resize-handle {
|
|
65
|
+
background-color: --alpha(var(--color-blue-500) / 20%);
|
|
66
|
+
top: 0;
|
|
67
|
+
bottom: -2px;
|
|
68
|
+
right: -2px;
|
|
69
|
+
width: 4px;
|
|
70
|
+
position: absolute;
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
overflow-x: auto;
|
|
76
|
+
|
|
77
|
+
}
|
|
78
|
+
&.resize-cursor {
|
|
79
|
+
cursor: ew-resize;
|
|
80
|
+
cursor: col-resize;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
width="20"
|
|
4
|
+
height="40"
|
|
5
|
+
version="1.1"
|
|
6
|
+
viewBox="0 0 20 40"
|
|
7
|
+
id="svg2"
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
xmlns:svg="http://www.w3.org/2000/svg">
|
|
10
|
+
<defs
|
|
11
|
+
id="defs2" />
|
|
12
|
+
<path
|
|
13
|
+
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
14
|
+
d="M 0,0 20,20 0,40 Z"
|
|
15
|
+
id="path1" />
|
|
16
|
+
</svg>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
width="40"
|
|
4
|
+
height="40"
|
|
5
|
+
version="1.1"
|
|
6
|
+
viewBox="0 0 40 40"
|
|
7
|
+
id="svg2"
|
|
8
|
+
sodipodi:docname="handle-border-circles-single.svg"
|
|
9
|
+
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
|
10
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
11
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
12
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
+
xmlns:svg="http://www.w3.org/2000/svg">
|
|
14
|
+
<sodipodi:namedview
|
|
15
|
+
id="namedview1"
|
|
16
|
+
pagecolor="#ffffff"
|
|
17
|
+
bordercolor="#666666"
|
|
18
|
+
borderopacity="1.0"
|
|
19
|
+
inkscape:showpageshadow="2"
|
|
20
|
+
inkscape:pageopacity="0.0"
|
|
21
|
+
inkscape:pagecheckerboard="0"
|
|
22
|
+
inkscape:deskcolor="#d1d1d1"
|
|
23
|
+
inkscape:zoom="7.5837202"
|
|
24
|
+
inkscape:cx="42.986818"
|
|
25
|
+
inkscape:cy="46.810799"
|
|
26
|
+
inkscape:window-width="1920"
|
|
27
|
+
inkscape:window-height="1044"
|
|
28
|
+
inkscape:window-x="0"
|
|
29
|
+
inkscape:window-y="0"
|
|
30
|
+
inkscape:window-maximized="1"
|
|
31
|
+
inkscape:current-layer="svg2" />
|
|
32
|
+
<defs
|
|
33
|
+
id="defs2" />
|
|
34
|
+
<g
|
|
35
|
+
fill="#000000"
|
|
36
|
+
id="g2"
|
|
37
|
+
transform="translate(12.5,-30)">
|
|
38
|
+
<circle
|
|
39
|
+
cx="7.5"
|
|
40
|
+
cy="50"
|
|
41
|
+
r="12.5"
|
|
42
|
+
id="circle1" />
|
|
43
|
+
</g>
|
|
44
|
+
</svg>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
width="75"
|
|
4
|
+
height="40"
|
|
5
|
+
version="1.1"
|
|
6
|
+
viewBox="0 0 75 40"
|
|
7
|
+
id="svg2"
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
xmlns:svg="http://www.w3.org/2000/svg">
|
|
10
|
+
<defs
|
|
11
|
+
id="defs2" />
|
|
12
|
+
<g
|
|
13
|
+
fill="#000000"
|
|
14
|
+
id="g2"
|
|
15
|
+
transform="translate(0,-30)">
|
|
16
|
+
<circle
|
|
17
|
+
cx="12.5"
|
|
18
|
+
cy="50"
|
|
19
|
+
r="12.5"
|
|
20
|
+
id="circle1" />
|
|
21
|
+
<circle
|
|
22
|
+
cx="62.5"
|
|
23
|
+
cy="50"
|
|
24
|
+
r="12.5"
|
|
25
|
+
id="circle2" />
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 320 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"/></svg>
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<!-- todo replace with ui libs search select when implemented -->
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
import WIcon from "@witchcraft/ui/components/Icon"
|
|
4
|
+
import {
|
|
5
|
+
ComboboxAnchor,
|
|
6
|
+
ComboboxContent,
|
|
7
|
+
ComboboxInput,
|
|
8
|
+
ComboboxItem,
|
|
9
|
+
ComboboxItemIndicator,
|
|
10
|
+
ComboboxPortal,
|
|
11
|
+
ComboboxRoot,
|
|
12
|
+
ComboboxViewport } from "reka-ui"
|
|
13
|
+
|
|
14
|
+
import IRadixIconsCheck from "~icons/radix-icons/check"
|
|
15
|
+
|
|
16
|
+
defineProps<{
|
|
17
|
+
codeBlocksThemeList: string[]
|
|
18
|
+
}>()
|
|
19
|
+
const codeBlocksTheme = defineModel<string>("codeBlocksTheme", { required: true })
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<template>
|
|
23
|
+
<label class="flex items-center gap-2">
|
|
24
|
+
<span>Code Block Theme:</span>
|
|
25
|
+
|
|
26
|
+
<ComboboxRoot
|
|
27
|
+
class="relative"
|
|
28
|
+
:open-on-click="true"
|
|
29
|
+
v-model="codeBlocksTheme"
|
|
30
|
+
>
|
|
31
|
+
<ComboboxAnchor
|
|
32
|
+
class="
|
|
33
|
+
flex
|
|
34
|
+
items-center
|
|
35
|
+
justify-between
|
|
36
|
+
rounded-sm
|
|
37
|
+
px-2
|
|
38
|
+
leading-none
|
|
39
|
+
fg-inherit
|
|
40
|
+
bg-inherit
|
|
41
|
+
outlined-within:border-accent-500
|
|
42
|
+
gap-2
|
|
43
|
+
"
|
|
44
|
+
>
|
|
45
|
+
<!-- @vue-expect-error -->
|
|
46
|
+
<ComboboxInput
|
|
47
|
+
class="
|
|
48
|
+
bg-inherit
|
|
49
|
+
min-w-[70px]
|
|
50
|
+
w-full
|
|
51
|
+
outline-hidden
|
|
52
|
+
focus-outline
|
|
53
|
+
border-b
|
|
54
|
+
border-accent-400
|
|
55
|
+
"
|
|
56
|
+
placeholder="Placeholder..."
|
|
57
|
+
/>
|
|
58
|
+
</ComboboxAnchor>
|
|
59
|
+
<ComboboxPortal
|
|
60
|
+
to="#root"
|
|
61
|
+
>
|
|
62
|
+
<ComboboxContent
|
|
63
|
+
side="bottom"
|
|
64
|
+
position="popper"
|
|
65
|
+
:avoid-collisions="true"
|
|
66
|
+
:prioritize-position="true"
|
|
67
|
+
class="
|
|
68
|
+
z-100
|
|
69
|
+
w-[var(--reka-combobox-trigger-width)]
|
|
70
|
+
align-end
|
|
71
|
+
bg-white
|
|
72
|
+
dark:bg-neutral-900
|
|
73
|
+
overflow-hidden
|
|
74
|
+
will-change-[opacity,transform]
|
|
75
|
+
data-[side=top]:animate-slideDownAndFade
|
|
76
|
+
data-[side=right]:animate-slideLeftAndFade
|
|
77
|
+
data-[side=bottom]:animate-slideUpAndFade
|
|
78
|
+
data-[side=left]:animate-slideRightAndFade
|
|
79
|
+
border-neutral-500
|
|
80
|
+
dark:border-neutral-700
|
|
81
|
+
border-1
|
|
82
|
+
rounded-sm
|
|
83
|
+
shadow-[0_0_10px_1px]
|
|
84
|
+
shadow-black/30
|
|
85
|
+
mt-2
|
|
86
|
+
max-h-[50vh]
|
|
87
|
+
"
|
|
88
|
+
ref="contentComponent"
|
|
89
|
+
>
|
|
90
|
+
<ComboboxViewport
|
|
91
|
+
class="flex flex-col"
|
|
92
|
+
>
|
|
93
|
+
<ComboboxItem
|
|
94
|
+
:value="option"
|
|
95
|
+
class="
|
|
96
|
+
flex
|
|
97
|
+
justify-between
|
|
98
|
+
gap-2
|
|
99
|
+
px-2
|
|
100
|
+
cursor-pointer
|
|
101
|
+
data-[highlighted]:outline-hidden
|
|
102
|
+
data-[highlighted]:bg-accent-200
|
|
103
|
+
data-[highlighted]:text-accent-800
|
|
104
|
+
dark:data-[highlighted]:bg-accent-800
|
|
105
|
+
dark:data-[highlighted]:text-accent-200
|
|
106
|
+
pl-[25px]
|
|
107
|
+
"
|
|
108
|
+
v-for="option in codeBlocksThemeList"
|
|
109
|
+
:key="option"
|
|
110
|
+
>
|
|
111
|
+
<span>
|
|
112
|
+
{{ option }}
|
|
113
|
+
</span>
|
|
114
|
+
<ComboboxItemIndicator
|
|
115
|
+
class="absolute left-0 w-[25px] inline-flex items-center justify-center"
|
|
116
|
+
>
|
|
117
|
+
<WIcon><i-radix-icons-check/></WIcon>
|
|
118
|
+
</ComboboxItemIndicator>
|
|
119
|
+
</ComboboxItem>
|
|
120
|
+
</ComboboxViewport>
|
|
121
|
+
</ComboboxContent>
|
|
122
|
+
</ComboboxPortal>
|
|
123
|
+
</ComboboxRoot>
|
|
124
|
+
</label>
|
|
125
|
+
</template>
|