@halo-dev/richtext-editor 2.21.0 → 2.22.0
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/README.md +61 -0
- package/dist/components/Editor.vue.d.ts +5 -4
- package/dist/components/EditorHeader.vue.d.ts +4 -4
- package/dist/components/base/DropdownItem.vue.d.ts +29 -0
- package/dist/components/base/Input.vue.d.ts +29 -0
- package/dist/components/base/index.d.ts +2 -0
- package/dist/components/block/BlockActionButton.vue.d.ts +13 -8
- package/dist/{dev/App.vue.d.ts → components/block/BlockActionHorizontalSeparator.vue.d.ts} +1 -1
- package/dist/components/block/BlockActionSeparator.vue.d.ts +2 -1
- package/dist/components/block/index.d.ts +1 -2
- package/dist/components/bubble/BubbleButton.vue.d.ts +28 -0
- package/dist/components/bubble/BubbleItem.vue.d.ts +3 -37
- package/dist/components/{EditorBubbleMenu.vue.d.ts → bubble/EditorBubbleMenu.vue.d.ts} +3 -3
- package/dist/components/bubble/index.d.ts +2 -1
- package/dist/components/common/ColorPickerDropdown.vue.d.ts +7 -7
- package/dist/components/drag/EditorDragButtonItem.vue.d.ts +8 -0
- package/dist/components/drag/EditorDragHandle.vue.d.ts +14 -0
- package/dist/components/drag/EditorDragMenu.vue.d.ts +43 -0
- package/dist/components/drag/default-drag.d.ts +8 -0
- package/dist/components/drag/index.d.ts +4 -0
- package/dist/components/index.d.ts +4 -2
- package/dist/components/toolbar/ToolbarItem.vue.d.ts +2 -24
- package/dist/components/toolbar/ToolbarSubItem.vue.d.ts +2 -20
- package/dist/components/toolbox/ToolboxItem.vue.d.ts +2 -21
- package/dist/components/upload/EditorLinkObtain.vue.d.ts +52 -0
- package/dist/components/upload/ResourceReplaceButton.vue.d.ts +14 -0
- package/dist/components/upload/index.d.ts +2 -0
- package/dist/composables/use-attachment.d.ts +7 -0
- package/dist/extensions/audio/AudioView.vue.d.ts +107 -2
- package/dist/extensions/audio/BubbleItemAudioLink.vue.d.ts +2 -29
- package/dist/extensions/audio/BubbleItemAudioPosition.vue.d.ts +7 -0
- package/dist/extensions/audio/index.d.ts +9 -4
- package/dist/extensions/blockquote/index.d.ts +2 -2
- package/dist/extensions/bold/index.d.ts +2 -2
- package/dist/extensions/bullet-list/index.d.ts +3 -3
- package/dist/extensions/character-count/index.d.ts +1 -0
- package/dist/extensions/clear-format/index.d.ts +2 -2
- package/dist/extensions/code/index.d.ts +2 -2
- package/dist/extensions/code-block/CodeBlockSelect.vue.d.ts +7 -5
- package/dist/extensions/code-block/code-block.d.ts +7 -5
- package/dist/extensions/code-block/index.d.ts +0 -1
- package/dist/extensions/color/ColorBubbleItem.vue.d.ts +2 -29
- package/dist/extensions/color/ColorToolbarItem.vue.d.ts +2 -24
- package/dist/extensions/color/index.d.ts +2 -2
- package/dist/extensions/columns/column.d.ts +6 -2
- package/dist/extensions/columns/columns.d.ts +11 -4
- package/dist/extensions/columns/index.d.ts +2 -2
- package/dist/extensions/commands-menu/CommandsView.vue.d.ts +1 -1
- package/dist/extensions/commands-menu/commands.d.ts +2 -3
- package/dist/extensions/commands-menu/index.d.ts +1 -1
- package/dist/extensions/details/index.d.ts +6 -0
- package/dist/extensions/document/index.d.ts +2 -0
- package/dist/extensions/drop-cursor/index.d.ts +1 -0
- package/dist/extensions/extensions-kit.d.ts +91 -0
- package/dist/extensions/figure/FigureCaptionView.vue.d.ts +3 -0
- package/dist/extensions/figure/figure-caption.d.ts +2 -0
- package/dist/extensions/figure/index.d.ts +15 -0
- package/dist/extensions/font-size/index.d.ts +4 -14
- package/dist/extensions/format-brush/index.d.ts +4 -4
- package/dist/extensions/gallery/BubbleItemAddImage.vue.d.ts +7 -0
- package/dist/extensions/gallery/BubbleItemGap.vue.d.ts +493 -0
- package/dist/extensions/gallery/BubbleItemGroupSize.vue.d.ts +493 -0
- package/dist/extensions/gallery/BubbleItemLayout.vue.d.ts +493 -0
- package/dist/extensions/gallery/GalleryView.vue.d.ts +3 -0
- package/dist/extensions/gallery/gallery-bubble.d.ts +8 -0
- package/dist/extensions/gallery/index.d.ts +28 -0
- package/dist/extensions/gallery/useGalleryImages.d.ts +7 -0
- package/dist/extensions/gap-cursor/index.d.ts +1 -17
- package/dist/extensions/hard-break/index.d.ts +1 -0
- package/dist/extensions/heading/index.d.ts +2 -2
- package/dist/extensions/highlight/HighlightBubbleItem.vue.d.ts +2 -29
- package/dist/extensions/highlight/HighlightToolbarItem.vue.d.ts +2 -24
- package/dist/extensions/highlight/index.d.ts +2 -2
- package/dist/extensions/history/index.d.ts +1 -3
- package/dist/extensions/horizontal-rule/index.d.ts +1 -0
- package/dist/extensions/iframe/BubbleItemIframeAlign.vue.d.ts +7 -0
- package/dist/extensions/iframe/BubbleItemIframeLink.vue.d.ts +2 -29
- package/dist/extensions/iframe/BubbleItemIframeSize.vue.d.ts +2 -6
- package/dist/extensions/iframe/IframeView.vue.d.ts +54 -1
- package/dist/extensions/iframe/index.d.ts +4 -4
- package/dist/extensions/image/BubbleItemImageAlt.vue.d.ts +2 -29
- package/dist/extensions/image/BubbleItemImageHref.vue.d.ts +2 -29
- package/dist/extensions/image/BubbleItemImageLink.vue.d.ts +2 -29
- package/dist/extensions/image/BubbleItemImagePosition.vue.d.ts +7 -0
- package/dist/extensions/image/BubbleItemImageSize.vue.d.ts +2 -29
- package/dist/extensions/image/ImageView.vue.d.ts +109 -2
- package/dist/extensions/image/index.d.ts +8 -2
- package/dist/extensions/indent/index.d.ts +5 -5
- package/dist/extensions/index.d.ts +49 -47
- package/dist/extensions/italic/index.d.ts +2 -2
- package/dist/extensions/link/LinkBubbleButton.vue.d.ts +2 -29
- package/dist/extensions/link/index.d.ts +2 -2
- package/dist/extensions/list-extra/index.d.ts +6 -0
- package/dist/extensions/list-keymap/index.d.ts +4 -4
- package/dist/extensions/node-selected/index.d.ts +3 -4
- package/dist/extensions/ordered-list/index.d.ts +3 -3
- package/dist/extensions/paragraph/index.d.ts +2 -2
- package/dist/extensions/placeholder/index.d.ts +1 -0
- package/dist/extensions/range-selection/index.d.ts +2 -2
- package/dist/extensions/search-and-replace/IconButton.vue.d.ts +20 -0
- package/dist/extensions/search-and-replace/MatchToggleButton.vue.d.ts +20 -0
- package/dist/extensions/search-and-replace/SearchAndReplace.vue.d.ts +5 -2
- package/dist/extensions/search-and-replace/SearchAndReplacePlugin.d.ts +3 -2
- package/dist/extensions/search-and-replace/index.d.ts +2 -3
- package/dist/extensions/strike/index.d.ts +2 -2
- package/dist/extensions/subscript/index.d.ts +2 -2
- package/dist/extensions/superscript/index.d.ts +2 -2
- package/dist/extensions/table/index.d.ts +4 -2
- package/dist/extensions/table/table-row.d.ts +1 -1
- package/dist/extensions/task-list/index.d.ts +3 -3
- package/dist/extensions/text/BubbleItemTextType.vue.d.ts +3 -0
- package/dist/extensions/text/index.d.ts +4 -2
- package/dist/extensions/text-align/index.d.ts +2 -2
- package/dist/extensions/text-style/index.d.ts +3 -3
- package/dist/extensions/trailing-node/index.d.ts +1 -2
- package/dist/extensions/underline/index.d.ts +2 -2
- package/dist/extensions/upload/index.d.ts +8 -0
- package/dist/extensions/video/BubbleItemVideoLink.vue.d.ts +2 -29
- package/dist/extensions/video/BubbleItemVideoPosition.vue.d.ts +7 -0
- package/dist/extensions/video/BubbleItemVideoSize.vue.d.ts +2 -29
- package/dist/extensions/video/VideoView.vue.d.ts +107 -2
- package/dist/extensions/video/index.d.ts +18 -4
- package/dist/index.d.ts +1 -4
- package/dist/index.es.js +39156 -0
- package/dist/index.iife.js +176 -0
- package/dist/style.css +2 -1
- package/dist/tiptap/index.d.ts +3 -3
- package/dist/tiptap/pm/index.d.ts +0 -1
- package/dist/types/index.d.ts +115 -59
- package/dist/utils/attachment.d.ts +3 -0
- package/dist/utils/clipboard.d.ts +9 -0
- package/dist/utils/delete-node.d.ts +1 -1
- package/dist/utils/filter-duplicate-extensions.d.ts +2 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/{isListActive.d.ts → is-list-active.d.ts} +2 -2
- package/dist/utils/is-node-empty.d.ts +6 -0
- package/dist/utils/keyboard.d.ts +37 -0
- package/dist/utils/upload.d.ts +67 -0
- package/package.json +46 -58
- package/dist/components/block/BlockActionInput.vue.d.ts +0 -15
- package/dist/components/block/BlockCard.vue.d.ts +0 -30
- package/dist/components/bubble/BubbleMenu.vue.d.ts +0 -84
- package/dist/components/bubble/BubbleMenuPlugin.d.ts +0 -52
- package/dist/dev/main.d.ts +0 -1
- package/dist/extensions/draggable/index.d.ts +0 -13
- package/dist/rich-text-editor.es.js +0 -41650
- package/dist/rich-text-editor.iife.js +0 -136
- package/dist/utils/isNodeEmpty.d.ts +0 -4
- /package/dist/components/icon/{MdiDeleteForeverOutline.vue.d.ts → MingcuteDelete2Line.vue.d.ts} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Editor, PMNode } from '../tiptap';
|
|
2
|
+
import { Attachment } from '@halo-dev/api-client';
|
|
3
|
+
import { AxiosRequestConfig } from 'axios';
|
|
4
|
+
export interface FileProps {
|
|
5
|
+
file: File;
|
|
6
|
+
editor: Editor;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Handles file events, determining if the file is an image and triggering the appropriate upload process.
|
|
10
|
+
*
|
|
11
|
+
* @param {FileProps} { file, editor } - File and editor instances
|
|
12
|
+
* @returns {boolean} - True if a file is handled, otherwise false
|
|
13
|
+
*/
|
|
14
|
+
export declare const handleFileEvent: ({ file, editor }: FileProps) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Uploads an image file and inserts it into the editor.
|
|
17
|
+
*
|
|
18
|
+
* @param {FileProps} { file, editor } - File to be uploaded and the editor instance
|
|
19
|
+
*/
|
|
20
|
+
export declare const uploadImage: ({ file, editor }: FileProps) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Uploads a video file and inserts it into the editor.
|
|
23
|
+
*
|
|
24
|
+
* @param {FileProps} { file, editor } - File to be uploaded and the editor instance
|
|
25
|
+
*/
|
|
26
|
+
export declare const uploadVideo: ({ file, editor }: FileProps) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Uploads an audio file and inserts it into the editor.
|
|
29
|
+
*
|
|
30
|
+
* @param {FileProps} { file, editor } - File to be uploaded and the editor instance
|
|
31
|
+
*/
|
|
32
|
+
export declare const uploadAudio: ({ file, editor }: FileProps) => void;
|
|
33
|
+
export interface UploadFetchResponse {
|
|
34
|
+
controller: AbortController;
|
|
35
|
+
onUploadProgress: (progress: number) => void;
|
|
36
|
+
onFinish: (attachment?: Attachment) => void;
|
|
37
|
+
onError: (error: Error) => void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Uploads a file with progress monitoring, cancellation support, and callbacks for completion and errors.
|
|
41
|
+
*
|
|
42
|
+
* @param {File} file - File to be uploaded
|
|
43
|
+
* @param {Function} upload - Function to handle the file upload, should return a Promise
|
|
44
|
+
* @returns {Promise<UploadFetchResponse>} - Returns an object with control and callback methods
|
|
45
|
+
*/
|
|
46
|
+
export declare const uploadFile: (file: File, upload: (file: File, options?: AxiosRequestConfig) => Promise<Attachment>, uploadResponse: UploadFetchResponse) => Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Converts a file to a Base64 string.
|
|
49
|
+
*
|
|
50
|
+
* @param {File} file - File to be converted
|
|
51
|
+
* @returns {Promise<string>} - A promise that resolves with the Base64 string
|
|
52
|
+
*/
|
|
53
|
+
export declare function fileToBase64(file: File): Promise<string>;
|
|
54
|
+
export declare function containsFileClipboardIdentifier(types: readonly string[]): boolean;
|
|
55
|
+
export declare function batchUploadExternalLink(editor: Editor, nodes: {
|
|
56
|
+
node: PMNode;
|
|
57
|
+
pos: number;
|
|
58
|
+
index: number;
|
|
59
|
+
parent: PMNode | null;
|
|
60
|
+
}[]): Promise<void>;
|
|
61
|
+
export declare function uploadExternalLink(editor: Editor, nodeWithPos: {
|
|
62
|
+
node: PMNode;
|
|
63
|
+
pos: number;
|
|
64
|
+
index: number;
|
|
65
|
+
parent: PMNode | null;
|
|
66
|
+
}): Promise<void>;
|
|
67
|
+
export declare function isExternalAsset(src: string): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@halo-dev/richtext-editor",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.22.0",
|
|
4
4
|
"description": "Default editor for Halo",
|
|
5
5
|
"homepage": "https://github.com/halo-dev/halo/tree/main/ui/packages/editor#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -13,83 +13,71 @@
|
|
|
13
13
|
},
|
|
14
14
|
"license": "GPL-3.0",
|
|
15
15
|
"author": "@halo-dev",
|
|
16
|
+
"type": "module",
|
|
16
17
|
"exports": {
|
|
17
18
|
".": {
|
|
18
19
|
"types": "./dist/index.d.ts",
|
|
19
|
-
"import": "./dist/
|
|
20
|
+
"import": "./dist/index.es.js"
|
|
20
21
|
},
|
|
21
22
|
"./dist/style.css": "./dist/style.css"
|
|
22
23
|
},
|
|
23
|
-
"main": "./dist/
|
|
24
|
-
"jsdelivr": "./dist/
|
|
25
|
-
"unpkg": "./dist/
|
|
26
|
-
"module": "./dist/
|
|
24
|
+
"main": "./dist/index.iife.js",
|
|
25
|
+
"jsdelivr": "./dist/index.iife.js",
|
|
26
|
+
"unpkg": "./dist/index.iife.js",
|
|
27
|
+
"module": "./dist/index.es.js",
|
|
27
28
|
"types": "./dist/index.d.ts",
|
|
28
29
|
"files": [
|
|
29
30
|
"dist"
|
|
30
31
|
],
|
|
31
32
|
"dependencies": {
|
|
32
|
-
"@
|
|
33
|
-
"@tiptap/core": "^
|
|
34
|
-
"@tiptap/extension-blockquote": "^
|
|
35
|
-
"@tiptap/extension-bold": "^
|
|
36
|
-
"@tiptap/extension-
|
|
37
|
-
"@tiptap/extension-code": "^
|
|
38
|
-
"@tiptap/extension-
|
|
39
|
-
"@tiptap/extension-
|
|
40
|
-
"@tiptap/extension-document": "^
|
|
41
|
-
"@tiptap/extension-
|
|
42
|
-
"@tiptap/extension-
|
|
43
|
-
"@tiptap/extension-
|
|
44
|
-
"@tiptap/extension-
|
|
45
|
-
"@tiptap/extension-
|
|
46
|
-
"@tiptap/extension-horizontal-rule": "^
|
|
47
|
-
"@tiptap/extension-image": "^
|
|
48
|
-
"@tiptap/extension-italic": "^
|
|
49
|
-
"@tiptap/extension-link": "^
|
|
50
|
-
"@tiptap/extension-list
|
|
51
|
-
"@tiptap/extension-
|
|
52
|
-
"@tiptap/extension-
|
|
53
|
-
"@tiptap/extension-
|
|
54
|
-
"@tiptap/extension-
|
|
55
|
-
"@tiptap/extension-
|
|
56
|
-
"@tiptap/extension-
|
|
57
|
-
"@tiptap/extension-
|
|
58
|
-
"@tiptap/extension-
|
|
59
|
-
"@tiptap/extension-
|
|
60
|
-
"@tiptap/
|
|
61
|
-
"@tiptap/
|
|
62
|
-
"@tiptap/
|
|
63
|
-
"@tiptap/
|
|
64
|
-
"@tiptap/extension-text-style": "^2.11.2",
|
|
65
|
-
"@tiptap/extension-underline": "^2.11.2",
|
|
66
|
-
"@tiptap/pm": "^2.11.2",
|
|
67
|
-
"@tiptap/suggestion": "^2.11.2",
|
|
68
|
-
"@tiptap/vue-3": "^2.11.2",
|
|
69
|
-
"floating-vue": "^5.2.2",
|
|
33
|
+
"@floating-ui/dom": "^1.7.4",
|
|
34
|
+
"@tiptap/core": "^3.11.0",
|
|
35
|
+
"@tiptap/extension-blockquote": "^3.11.0",
|
|
36
|
+
"@tiptap/extension-bold": "^3.11.0",
|
|
37
|
+
"@tiptap/extension-code": "^3.11.0",
|
|
38
|
+
"@tiptap/extension-code-block": "^3.11.0",
|
|
39
|
+
"@tiptap/extension-color": "^3.11.0",
|
|
40
|
+
"@tiptap/extension-details": "^3.11.0",
|
|
41
|
+
"@tiptap/extension-document": "^3.11.0",
|
|
42
|
+
"@tiptap/extension-drag-handle": "^3.11.0",
|
|
43
|
+
"@tiptap/extension-drag-handle-vue-3": "^3.11.0",
|
|
44
|
+
"@tiptap/extension-hard-break": "^3.11.0",
|
|
45
|
+
"@tiptap/extension-heading": "^3.11.0",
|
|
46
|
+
"@tiptap/extension-highlight": "^3.11.0",
|
|
47
|
+
"@tiptap/extension-horizontal-rule": "^3.11.0",
|
|
48
|
+
"@tiptap/extension-image": "^3.11.0",
|
|
49
|
+
"@tiptap/extension-italic": "^3.11.0",
|
|
50
|
+
"@tiptap/extension-link": "^3.11.0",
|
|
51
|
+
"@tiptap/extension-list": "^3.11.0",
|
|
52
|
+
"@tiptap/extension-paragraph": "^3.11.0",
|
|
53
|
+
"@tiptap/extension-strike": "^3.11.0",
|
|
54
|
+
"@tiptap/extension-subscript": "^3.11.0",
|
|
55
|
+
"@tiptap/extension-superscript": "^3.11.0",
|
|
56
|
+
"@tiptap/extension-table": "^3.11.0",
|
|
57
|
+
"@tiptap/extension-text": "^3.11.0",
|
|
58
|
+
"@tiptap/extension-text-align": "^3.11.0",
|
|
59
|
+
"@tiptap/extension-text-style": "^3.11.0",
|
|
60
|
+
"@tiptap/extension-underline": "^3.11.0",
|
|
61
|
+
"@tiptap/extensions": "^3.11.0",
|
|
62
|
+
"@tiptap/pm": "^3.11.0",
|
|
63
|
+
"@tiptap/suggestion": "^3.11.0",
|
|
64
|
+
"@tiptap/vue-3": "^3.11.0",
|
|
70
65
|
"github-markdown-css": "^5.2.0",
|
|
71
66
|
"linkifyjs": "^4.1.3",
|
|
72
67
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
73
|
-
"
|
|
68
|
+
"@halo-dev/components": "2.22.0",
|
|
69
|
+
"@halo-dev/ui-shared": "2.22.0",
|
|
70
|
+
"@halo-dev/api-client": "2.22.0"
|
|
74
71
|
},
|
|
75
72
|
"devDependencies": {
|
|
76
|
-
"@
|
|
77
|
-
"@types/linkifyjs": "^2.1.7",
|
|
78
|
-
"release-it": "^16.1.5",
|
|
79
|
-
"vite-plugin-dts": "^4.2.2"
|
|
73
|
+
"@types/linkifyjs": "^2.1.7"
|
|
80
74
|
},
|
|
81
75
|
"peerDependencies": {
|
|
82
|
-
"vue": "^3.5.
|
|
76
|
+
"vue": "^3.5.x"
|
|
83
77
|
},
|
|
84
78
|
"scripts": {
|
|
85
|
-
"build": "vite build
|
|
86
|
-
"dev": "vite",
|
|
87
|
-
"lint": "eslint ./src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
|
|
88
|
-
"prettier": "prettier --write './src/**/*.{vue,js,jsx,ts,tsx,css,scss,json,yml,yaml,html}'",
|
|
89
|
-
"release": "release-it",
|
|
90
|
-
"test:unit:coverage": "vitest run --environment jsdom --coverage",
|
|
91
|
-
"test:unit:ui": "vitest --environment jsdom --watch --ui",
|
|
92
|
-
"test:unit:watch": "vitest --environment jsdom --watch",
|
|
79
|
+
"build": "vite build",
|
|
80
|
+
"dev": "vite build --watch --mode development",
|
|
93
81
|
"typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false"
|
|
94
82
|
}
|
|
95
83
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
declare const _default: import('vue').DefineComponent<{
|
|
2
|
-
tooltip?: string;
|
|
3
|
-
modelValue?: string;
|
|
4
|
-
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
5
|
-
"update:modelValue": (value: string) => any;
|
|
6
|
-
}, string, import('vue').PublicProps, Readonly<{
|
|
7
|
-
tooltip?: string;
|
|
8
|
-
modelValue?: string;
|
|
9
|
-
}> & Readonly<{
|
|
10
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
11
|
-
}>, {
|
|
12
|
-
tooltip: string;
|
|
13
|
-
modelValue: string;
|
|
14
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
15
|
-
export default _default;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Editor } from '../../tiptap/vue-3';
|
|
2
|
-
declare function __VLS_template(): {
|
|
3
|
-
slots: {
|
|
4
|
-
content?(_: {}): any;
|
|
5
|
-
actions?(_: {}): any;
|
|
6
|
-
};
|
|
7
|
-
refs: {};
|
|
8
|
-
attrs: Partial<{}>;
|
|
9
|
-
};
|
|
10
|
-
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
11
|
-
declare const __VLS_component: import('vue').DefineComponent<{
|
|
12
|
-
selected: boolean;
|
|
13
|
-
editor: Editor;
|
|
14
|
-
getPos: () => number;
|
|
15
|
-
deleteNode: () => void;
|
|
16
|
-
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
17
|
-
selected: boolean;
|
|
18
|
-
editor: Editor;
|
|
19
|
-
getPos: () => number;
|
|
20
|
-
deleteNode: () => void;
|
|
21
|
-
}> & Readonly<{}>, {
|
|
22
|
-
selected: boolean;
|
|
23
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
24
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
25
|
-
export default _default;
|
|
26
|
-
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
27
|
-
new (): {
|
|
28
|
-
$slots: S;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { PropType } from 'vue';
|
|
2
|
-
import { BubbleMenuPluginProps } from './BubbleMenuPlugin';
|
|
3
|
-
declare function __VLS_template(): {
|
|
4
|
-
slots: {
|
|
5
|
-
default?(_: {}): any;
|
|
6
|
-
};
|
|
7
|
-
refs: {
|
|
8
|
-
root: HTMLDivElement;
|
|
9
|
-
};
|
|
10
|
-
attrs: Partial<{}>;
|
|
11
|
-
};
|
|
12
|
-
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
13
|
-
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
14
|
-
pluginKey: {
|
|
15
|
-
type: PropType<BubbleMenuPluginProps["pluginKey"]>;
|
|
16
|
-
default: string;
|
|
17
|
-
};
|
|
18
|
-
editor: {
|
|
19
|
-
type: PropType<BubbleMenuPluginProps["editor"]>;
|
|
20
|
-
required: true;
|
|
21
|
-
};
|
|
22
|
-
tippyOptions: {
|
|
23
|
-
type: PropType<BubbleMenuPluginProps["tippyOptions"]>;
|
|
24
|
-
default: () => {};
|
|
25
|
-
};
|
|
26
|
-
shouldShow: {
|
|
27
|
-
type: PropType<Exclude<Required<BubbleMenuPluginProps>["shouldShow"], null>>;
|
|
28
|
-
default: null;
|
|
29
|
-
};
|
|
30
|
-
getRenderContainer: {
|
|
31
|
-
type: PropType<Exclude<Required<BubbleMenuPluginProps>["getRenderContainer"], null>>;
|
|
32
|
-
default: null;
|
|
33
|
-
};
|
|
34
|
-
defaultAnimation: {
|
|
35
|
-
type: PropType<BubbleMenuPluginProps["defaultAnimation"]>;
|
|
36
|
-
default: boolean;
|
|
37
|
-
};
|
|
38
|
-
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
39
|
-
pluginKey: {
|
|
40
|
-
type: PropType<BubbleMenuPluginProps["pluginKey"]>;
|
|
41
|
-
default: string;
|
|
42
|
-
};
|
|
43
|
-
editor: {
|
|
44
|
-
type: PropType<BubbleMenuPluginProps["editor"]>;
|
|
45
|
-
required: true;
|
|
46
|
-
};
|
|
47
|
-
tippyOptions: {
|
|
48
|
-
type: PropType<BubbleMenuPluginProps["tippyOptions"]>;
|
|
49
|
-
default: () => {};
|
|
50
|
-
};
|
|
51
|
-
shouldShow: {
|
|
52
|
-
type: PropType<Exclude<Required<BubbleMenuPluginProps>["shouldShow"], null>>;
|
|
53
|
-
default: null;
|
|
54
|
-
};
|
|
55
|
-
getRenderContainer: {
|
|
56
|
-
type: PropType<Exclude<Required<BubbleMenuPluginProps>["getRenderContainer"], null>>;
|
|
57
|
-
default: null;
|
|
58
|
-
};
|
|
59
|
-
defaultAnimation: {
|
|
60
|
-
type: PropType<BubbleMenuPluginProps["defaultAnimation"]>;
|
|
61
|
-
default: boolean;
|
|
62
|
-
};
|
|
63
|
-
}>> & Readonly<{}>, {
|
|
64
|
-
getRenderContainer: (node: HTMLElement) => HTMLElement;
|
|
65
|
-
defaultAnimation: boolean | undefined;
|
|
66
|
-
shouldShow: (props: {
|
|
67
|
-
editor: import('@tiptap/vue-3').Editor;
|
|
68
|
-
state: import('../../tiptap').EditorState;
|
|
69
|
-
node?: HTMLElement;
|
|
70
|
-
view?: import('../../tiptap').EditorView;
|
|
71
|
-
oldState?: import('../../tiptap').EditorState;
|
|
72
|
-
from?: number;
|
|
73
|
-
to?: number;
|
|
74
|
-
}) => boolean;
|
|
75
|
-
tippyOptions: Partial<import('./BubbleMenuPlugin').TippyOptionProps> | undefined;
|
|
76
|
-
pluginKey: string | import('../../tiptap').PluginKey<any>;
|
|
77
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
78
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
79
|
-
export default _default;
|
|
80
|
-
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
81
|
-
new (): {
|
|
82
|
-
$slots: S;
|
|
83
|
-
};
|
|
84
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { EditorView, EditorState, Plugin, PluginKey } from '../../tiptap/pm';
|
|
2
|
-
import { Editor } from '../../tiptap/vue-3';
|
|
3
|
-
import { Instance, Props } from 'tippy.js';
|
|
4
|
-
export interface TippyOptionProps extends Props {
|
|
5
|
-
fixed?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface BubbleMenuPluginProps {
|
|
8
|
-
pluginKey: PluginKey | string;
|
|
9
|
-
editor: Editor;
|
|
10
|
-
element: HTMLElement;
|
|
11
|
-
tippyOptions?: Partial<TippyOptionProps>;
|
|
12
|
-
updateDelay?: number;
|
|
13
|
-
shouldShow?: ((props: {
|
|
14
|
-
editor: Editor;
|
|
15
|
-
state: EditorState;
|
|
16
|
-
node?: HTMLElement;
|
|
17
|
-
view?: EditorView;
|
|
18
|
-
oldState?: EditorState;
|
|
19
|
-
from?: number;
|
|
20
|
-
to?: number;
|
|
21
|
-
}) => boolean) | null;
|
|
22
|
-
getRenderContainer?: (node: HTMLElement) => HTMLElement;
|
|
23
|
-
defaultAnimation?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export type BubbleMenuViewProps = BubbleMenuPluginProps & {
|
|
26
|
-
view: EditorView;
|
|
27
|
-
};
|
|
28
|
-
export declare class BubbleMenuView {
|
|
29
|
-
editor: Editor;
|
|
30
|
-
element: HTMLElement;
|
|
31
|
-
view: EditorView;
|
|
32
|
-
preventHide: boolean;
|
|
33
|
-
tippy: Instance<TippyOptionProps> | undefined;
|
|
34
|
-
tippyOptions?: Partial<TippyOptionProps>;
|
|
35
|
-
getRenderContainer?: BubbleMenuPluginProps["getRenderContainer"];
|
|
36
|
-
defaultAnimation?: BubbleMenuPluginProps["defaultAnimation"];
|
|
37
|
-
shouldShow: Exclude<BubbleMenuPluginProps["shouldShow"], null>;
|
|
38
|
-
constructor({ editor, element, view, tippyOptions, shouldShow, getRenderContainer, defaultAnimation, }: BubbleMenuViewProps);
|
|
39
|
-
mousedownHandler: () => void;
|
|
40
|
-
dragstartHandler: () => void;
|
|
41
|
-
blurHandler: ({ event }: {
|
|
42
|
-
event: FocusEvent;
|
|
43
|
-
}) => void;
|
|
44
|
-
createTooltip(): void;
|
|
45
|
-
update(view: EditorView, oldState?: EditorState): void;
|
|
46
|
-
addActiveBubbleMenu: () => void;
|
|
47
|
-
removeActiveBubbleMenu: () => void;
|
|
48
|
-
show(): void;
|
|
49
|
-
hide(): void;
|
|
50
|
-
destroy(): void;
|
|
51
|
-
}
|
|
52
|
-
export declare const BubbleMenuPlugin: (options: BubbleMenuPluginProps) => Plugin<any>;
|
package/dist/dev/main.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EditorView, Node, ResolvedPos } from '../../tiptap/pm';
|
|
2
|
-
import { Extension } from '../../tiptap/vue-3';
|
|
3
|
-
export interface ActiveNode {
|
|
4
|
-
$pos: ResolvedPos;
|
|
5
|
-
node: Node;
|
|
6
|
-
el: HTMLElement;
|
|
7
|
-
offset: number;
|
|
8
|
-
domOffsetLeft: number;
|
|
9
|
-
domOffsetTop: number;
|
|
10
|
-
}
|
|
11
|
-
export declare const selectAncestorNodeByDom: (dom: HTMLElement, view: EditorView) => ActiveNode | null;
|
|
12
|
-
declare const Draggable: Extension<any, any>;
|
|
13
|
-
export default Draggable;
|