@srcker/editor-vue-next 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rich-editor.es.js +21256 -0
- package/dist/style/index.css +1 -0
- package/dist/style/style.css +1 -0
- package/dist/style/variables.css +1 -0
- package/dist/style.es.js +1 -0
- package/dist/variables.es.js +1 -0
- package/package.json +7 -1
- package/.vscode/extensions.json +0 -3
- package/index.html +0 -13
- package/index.ts +0 -6
- package/jsconfig.json +0 -8
- package/src/App.vue +0 -9
- package/src/App.vue.js +0 -17
- package/src/Button/BackgroundButton.vue +0 -331
- package/src/Button/BackgroundButton.vue.js +0 -243
- package/src/Button/BlockQuoteButton.vue +0 -26
- package/src/Button/BlockQuoteButton.vue.js +0 -56
- package/src/Button/BoldButton.vue +0 -29
- package/src/Button/BoldButton.vue.js +0 -56
- package/src/Button/BulletListButton.vue +0 -114
- package/src/Button/BulletListButton.vue.js +0 -147
- package/src/Button/CodeBlockButton.vue +0 -28
- package/src/Button/CodeBlockButton.vue.js +0 -56
- package/src/Button/CodeButton.vue +0 -30
- package/src/Button/CodeButton.vue.js +0 -56
- package/src/Button/FontSizeButton.vue +0 -85
- package/src/Button/FontSizeButton.vue.js +0 -131
- package/src/Button/FormatButton.vue +0 -25
- package/src/Button/FormatButton.vue.js +0 -54
- package/src/Button/HeadingButton.vue +0 -103
- package/src/Button/HeadingButton.vue.js +0 -164
- package/src/Button/ImageUploadButton.vue +0 -93
- package/src/Button/ImageUploadButton.vue.js +0 -123
- package/src/Button/IndentLeftButton.vue +0 -25
- package/src/Button/IndentLeftButton.vue.js +0 -54
- package/src/Button/IndentRightButton.vue +0 -29
- package/src/Button/IndentRightButton.vue.js +0 -54
- package/src/Button/ItalicButton.vue +0 -29
- package/src/Button/ItalicButton.vue.js +0 -56
- package/src/Button/LineHeightButton.vue +0 -88
- package/src/Button/LineHeightButton.vue.js +0 -131
- package/src/Button/LinkButton.vue +0 -44
- package/src/Button/LinkButton.vue.js +0 -69
- package/src/Button/OrderedListButton.vue +0 -121
- package/src/Button/OrderedListButton.vue.js +0 -146
- package/src/Button/RedoButton.vue +0 -29
- package/src/Button/RedoButton.vue.js +0 -55
- package/src/Button/StrikeButton.vue +0 -30
- package/src/Button/StrikeButton.vue.js +0 -56
- package/src/Button/SubscriptButton.vue +0 -29
- package/src/Button/SubscriptButton.vue.js +0 -56
- package/src/Button/SuperscriptButton.vue +0 -29
- package/src/Button/SuperscriptButton.vue.js +0 -56
- package/src/Button/TextAlignCenterButton.vue +0 -26
- package/src/Button/TextAlignCenterButton.vue.js +0 -56
- package/src/Button/TextAlignLeftButton.vue +0 -26
- package/src/Button/TextAlignLeftButton.vue.js +0 -56
- package/src/Button/TextAlignRightButton.vue +0 -26
- package/src/Button/TextAlignRightButton.vue.js +0 -56
- package/src/Button/TextColorButton.vue +0 -329
- package/src/Button/TextColorButton.vue.js +0 -243
- package/src/Button/ThemeButton.vue +0 -34
- package/src/Button/ThemeButton.vue.js +0 -63
- package/src/Button/UnderLineButton.vue +0 -29
- package/src/Button/UnderLineButton.vue.js +0 -56
- package/src/Button/UndoButton.vue +0 -29
- package/src/Button/UndoButton.vue.js +0 -55
- package/src/Components/IconArrow.vue +0 -16
- package/src/Components/IconArrow.vue.js +0 -30
- package/src/Components/IconCheck.vue +0 -40
- package/src/Components/IconCheck.vue.js +0 -59
- package/src/EditorToolbar.vue +0 -150
- package/src/EditorToolbar.vue.js +0 -306
- package/src/Extensions/BulletListStyle.js +0 -19
- package/src/Extensions/BulletListStyle.ts +0 -24
- package/src/Extensions/FontSize.js +0 -27
- package/src/Extensions/FontSize.ts +0 -37
- package/src/Extensions/Indent.js +0 -58
- package/src/Extensions/Indent.ts +0 -73
- package/src/Extensions/OrderedListStyle.js +0 -19
- package/src/Extensions/OrderedListStyle.ts +0 -24
- package/src/Extensions/UploadImage.js +0 -18
- package/src/Extensions/UploadImage.ts +0 -22
- package/src/Extensions/index.js +0 -6
- package/src/Extensions/index.ts +0 -6
- package/src/Extensions/shims.d.ts +0 -26
- package/src/RichEditor.vue +0 -198
- package/src/RichEditor.vue.js +0 -204
- package/src/env.d.ts +0 -7
- package/src/index.js +0 -5
- package/src/index.ts +0 -10
- package/src/main.js +0 -4
- package/src/main.ts +0 -7
- package/src/styles/index.js +0 -3
- package/src/styles/index.ts +0 -3
- package/src/styles/style.scss +0 -196
- package/src/styles/theme.css +0 -27
- package/src/styles/variables.js +0 -1
- package/src/styles/variables.scss +0 -175
- package/src/styles/variables.ts +0 -1
- package/src/types.js +0 -1
- package/src/types.ts +0 -7
- package/tsconfig.json +0 -17
- package/vite.config.ts +0 -35
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { ref, computed, onMounted, onBeforeUnmount } from 'vue';
|
|
2
|
-
const isOpen = ref(false);
|
|
3
|
-
const wrapperRef = ref(null);
|
|
4
|
-
const sizes = { 1: '24px', 2: '20px', 3: '18px', 4: '16px', 5: '14px' };
|
|
5
|
-
const setHeading = (level) => {
|
|
6
|
-
props.editor.chain().focus().toggleHeading({ level: level }).run();
|
|
7
|
-
isOpen.value = false;
|
|
8
|
-
};
|
|
9
|
-
const setParagraph = () => {
|
|
10
|
-
props.editor.chain().focus().setParagraph().run();
|
|
11
|
-
isOpen.value = false;
|
|
12
|
-
};
|
|
13
|
-
const headingLabel = computed(() => {
|
|
14
|
-
if (!props.editor)
|
|
15
|
-
return '正文';
|
|
16
|
-
for (let i = 1; i <= 5; i++) {
|
|
17
|
-
if (props.editor.isActive('heading', { level: i })) {
|
|
18
|
-
return `标题${i}`;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return '正文';
|
|
22
|
-
});
|
|
23
|
-
const props = defineProps({
|
|
24
|
-
editor: {
|
|
25
|
-
type: Object,
|
|
26
|
-
required: true
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
const handleClickOutside = (e) => {
|
|
30
|
-
if (!wrapperRef.value)
|
|
31
|
-
return;
|
|
32
|
-
if (!wrapperRef.value.contains(e.target)) {
|
|
33
|
-
isOpen.value = false;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
onMounted(() => {
|
|
37
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
38
|
-
});
|
|
39
|
-
onBeforeUnmount(() => {
|
|
40
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
41
|
-
});
|
|
42
|
-
const __VLS_ctx = {
|
|
43
|
-
...{},
|
|
44
|
-
...{},
|
|
45
|
-
...{},
|
|
46
|
-
...{},
|
|
47
|
-
};
|
|
48
|
-
let __VLS_components;
|
|
49
|
-
let __VLS_intrinsics;
|
|
50
|
-
let __VLS_directives;
|
|
51
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
52
|
-
...{ class: "dropdown-button heading-button" },
|
|
53
|
-
ref: "wrapperRef",
|
|
54
|
-
...{ class: ({ 'is-open': __VLS_ctx.isOpen }) },
|
|
55
|
-
});
|
|
56
|
-
/** @type {__VLS_StyleScopedClasses['dropdown-button']} */ ;
|
|
57
|
-
/** @type {__VLS_StyleScopedClasses['heading-button']} */ ;
|
|
58
|
-
/** @type {__VLS_StyleScopedClasses['is-open']} */ ;
|
|
59
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
60
|
-
...{ onClick: (...[$event]) => {
|
|
61
|
-
__VLS_ctx.isOpen = !__VLS_ctx.isOpen;
|
|
62
|
-
// @ts-ignore
|
|
63
|
-
[isOpen, isOpen, isOpen,];
|
|
64
|
-
} },
|
|
65
|
-
...{ class: "trigger" },
|
|
66
|
-
});
|
|
67
|
-
/** @type {__VLS_StyleScopedClasses['trigger']} */ ;
|
|
68
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
69
|
-
...{ class: "icon" },
|
|
70
|
-
});
|
|
71
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
72
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.svg, __VLS_intrinsics.svg)({
|
|
73
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
74
|
-
viewBox: "0 0 448 512",
|
|
75
|
-
});
|
|
76
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.path)({
|
|
77
|
-
fill: "currentColor",
|
|
78
|
-
stroke: "currentColor",
|
|
79
|
-
'stroke-width': "4",
|
|
80
|
-
'stroke-linecap': "round",
|
|
81
|
-
'stroke-linejoin': "round",
|
|
82
|
-
d: "M0 64C0 46.3 14.3 32 32 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 112 224 0 0-112-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 320 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-144-224 0 0 144 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-320-16 0C14.3 96 0 81.7 0 64z",
|
|
83
|
-
});
|
|
84
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({
|
|
85
|
-
...{ class: "label" },
|
|
86
|
-
});
|
|
87
|
-
/** @type {__VLS_StyleScopedClasses['label']} */ ;
|
|
88
|
-
(__VLS_ctx.headingLabel);
|
|
89
|
-
let __VLS_0;
|
|
90
|
-
/** @ts-ignore @type {typeof __VLS_components.transition | typeof __VLS_components.Transition | typeof __VLS_components.transition | typeof __VLS_components.Transition} */
|
|
91
|
-
transition;
|
|
92
|
-
// @ts-ignore
|
|
93
|
-
const __VLS_1 = __VLS_asFunctionalComponent1(__VLS_0, new __VLS_0({
|
|
94
|
-
name: "dropdown",
|
|
95
|
-
}));
|
|
96
|
-
const __VLS_2 = __VLS_1({
|
|
97
|
-
name: "dropdown",
|
|
98
|
-
}, ...__VLS_functionalComponentArgsRest(__VLS_1));
|
|
99
|
-
const { default: __VLS_5 } = __VLS_3.slots;
|
|
100
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
101
|
-
...{ class: "dropdown" },
|
|
102
|
-
});
|
|
103
|
-
__VLS_asFunctionalDirective(__VLS_directives.vShow, {})(null, { ...__VLS_directiveBindingRestFields, value: (__VLS_ctx.isOpen) }, null, null);
|
|
104
|
-
/** @type {__VLS_StyleScopedClasses['dropdown']} */ ;
|
|
105
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
106
|
-
...{ onClick: (...[$event]) => {
|
|
107
|
-
__VLS_ctx.setParagraph();
|
|
108
|
-
// @ts-ignore
|
|
109
|
-
[isOpen, headingLabel, setParagraph,];
|
|
110
|
-
} },
|
|
111
|
-
...{ class: "item" },
|
|
112
|
-
...{ class: ({ 'is-selected': __VLS_ctx.editor.isActive('paragraph') }) },
|
|
113
|
-
});
|
|
114
|
-
/** @type {__VLS_StyleScopedClasses['item']} */ ;
|
|
115
|
-
/** @type {__VLS_StyleScopedClasses['is-selected']} */ ;
|
|
116
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({
|
|
117
|
-
...{ class: "icon" },
|
|
118
|
-
});
|
|
119
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
120
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({
|
|
121
|
-
...{ class: "text" },
|
|
122
|
-
});
|
|
123
|
-
/** @type {__VLS_StyleScopedClasses['text']} */ ;
|
|
124
|
-
for (const [level] of __VLS_vFor(([1, 2, 3, 4, 5]))) {
|
|
125
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
126
|
-
...{ onClick: (...[$event]) => {
|
|
127
|
-
__VLS_ctx.setHeading(level);
|
|
128
|
-
// @ts-ignore
|
|
129
|
-
[editor, setHeading,];
|
|
130
|
-
} },
|
|
131
|
-
...{ class: "item" },
|
|
132
|
-
key: (level),
|
|
133
|
-
...{ class: ({ 'is-selected': __VLS_ctx.editor.isActive('heading', { level }) }) },
|
|
134
|
-
});
|
|
135
|
-
/** @type {__VLS_StyleScopedClasses['item']} */ ;
|
|
136
|
-
/** @type {__VLS_StyleScopedClasses['is-selected']} */ ;
|
|
137
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({
|
|
138
|
-
...{ class: "icon" },
|
|
139
|
-
});
|
|
140
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
141
|
-
(level);
|
|
142
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({
|
|
143
|
-
...{ class: "text" },
|
|
144
|
-
...{ style: ({ fontSize: __VLS_ctx.sizes[level], fontWeight: 'bold' }) },
|
|
145
|
-
});
|
|
146
|
-
/** @type {__VLS_StyleScopedClasses['text']} */ ;
|
|
147
|
-
(level);
|
|
148
|
-
// @ts-ignore
|
|
149
|
-
[editor, sizes,];
|
|
150
|
-
}
|
|
151
|
-
// @ts-ignore
|
|
152
|
-
[];
|
|
153
|
-
var __VLS_3;
|
|
154
|
-
// @ts-ignore
|
|
155
|
-
[];
|
|
156
|
-
const __VLS_export = (await import('vue')).defineComponent({
|
|
157
|
-
props: {
|
|
158
|
-
editor: {
|
|
159
|
-
type: Object,
|
|
160
|
-
required: true
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
});
|
|
164
|
-
export default {};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
<button class="icon-button image-button" @click="triggerFileSelect" :disabled="isUploading" title="插入图片">
|
|
4
|
-
<input ref="fileInputRef" type="file" accept="image/*" @change="handleFileChange" style="display: none" />
|
|
5
|
-
<div class="icon" v-if="!isUploading">
|
|
6
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
|
7
|
-
<path fill="currentColor" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm136 72c8.5 0 16.4 4.5 20.7 11.8l80 136c4.4 7.4 4.4 16.6 .1 24.1S352.6 384 344 384l-240 0c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l17.2 24.6 46.5-79c4.3-7.3 12.2-11.8 20.7-11.8z"/>
|
|
8
|
-
</svg>
|
|
9
|
-
</div>
|
|
10
|
-
<div class="icon" v-else>
|
|
11
|
-
<svg viewBox="0 0 38 38">
|
|
12
|
-
<circle stroke="currentColor" stroke-width="3" stroke-linecap="round" fill="none" cx="19" cy="19" r="16" stroke-dasharray="45.5 12.5" transform="rotate(10 19 19)">
|
|
13
|
-
<animateTransform attributeName="transform" type="rotate" repeatCount="indefinite" dur="0.6s" values="0 19 19;360 19 19" />
|
|
14
|
-
</circle>
|
|
15
|
-
</svg>
|
|
16
|
-
</div>
|
|
17
|
-
</button>
|
|
18
|
-
</template>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<script setup lang="ts">
|
|
22
|
-
import { ref } from 'vue'
|
|
23
|
-
import type { Editor } from '@tiptap/core'
|
|
24
|
-
import { UploadImageResult } from 'src/types';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const props = defineProps<{
|
|
28
|
-
editor?: Editor
|
|
29
|
-
uploadImage: (file: File) => Promise<UploadImageResult>
|
|
30
|
-
}>()
|
|
31
|
-
|
|
32
|
-
const emit = defineEmits<{
|
|
33
|
-
(e: 'upload-start'): void
|
|
34
|
-
(e: 'upload-end'): void
|
|
35
|
-
(e: 'error', err: Error): void
|
|
36
|
-
}>()
|
|
37
|
-
|
|
38
|
-
const fileInputRef = ref<HTMLInputElement | null>(null)
|
|
39
|
-
const isUploading = ref(false)
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* 触发文件选择
|
|
43
|
-
*/
|
|
44
|
-
const triggerFileSelect = () => {
|
|
45
|
-
if (!isUploading.value) {
|
|
46
|
-
fileInputRef.value?.click()
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* 文件变更处理
|
|
52
|
-
*/
|
|
53
|
-
const handleFileChange = async (event: Event) => {
|
|
54
|
-
const input = event.target as HTMLInputElement
|
|
55
|
-
const file = input.files?.[0]
|
|
56
|
-
if (!file) return
|
|
57
|
-
|
|
58
|
-
try {
|
|
59
|
-
|
|
60
|
-
isUploading.value = true
|
|
61
|
-
emit('upload-start')
|
|
62
|
-
|
|
63
|
-
const { url, name } = await props.uploadImage(file)
|
|
64
|
-
|
|
65
|
-
props.editor!
|
|
66
|
-
.chain()
|
|
67
|
-
.focus()
|
|
68
|
-
.setImage({
|
|
69
|
-
src: url,
|
|
70
|
-
title: name ?? '',
|
|
71
|
-
alt: name ?? '',
|
|
72
|
-
width: 200,
|
|
73
|
-
})
|
|
74
|
-
.run()
|
|
75
|
-
} catch (err: any) {
|
|
76
|
-
emit('error', err)
|
|
77
|
-
console.error(err)
|
|
78
|
-
} finally {
|
|
79
|
-
isUploading.value = false
|
|
80
|
-
emit('upload-end')
|
|
81
|
-
input.value = ''
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
</script>
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
<style lang="scss" scoped>
|
|
88
|
-
|
|
89
|
-
.image-button {
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
</style>
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { ref } from 'vue';
|
|
2
|
-
const props = defineProps();
|
|
3
|
-
const emit = defineEmits();
|
|
4
|
-
const fileInputRef = ref(null);
|
|
5
|
-
const isUploading = ref(false);
|
|
6
|
-
/**
|
|
7
|
-
* 触发文件选择
|
|
8
|
-
*/
|
|
9
|
-
const triggerFileSelect = () => {
|
|
10
|
-
if (!isUploading.value) {
|
|
11
|
-
fileInputRef.value?.click();
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* 文件变更处理
|
|
16
|
-
*/
|
|
17
|
-
const handleFileChange = async (event) => {
|
|
18
|
-
const input = event.target;
|
|
19
|
-
const file = input.files?.[0];
|
|
20
|
-
if (!file)
|
|
21
|
-
return;
|
|
22
|
-
try {
|
|
23
|
-
isUploading.value = true;
|
|
24
|
-
emit('upload-start');
|
|
25
|
-
const { url, name } = await props.uploadImage(file);
|
|
26
|
-
props.editor
|
|
27
|
-
.chain()
|
|
28
|
-
.focus()
|
|
29
|
-
.setImage({
|
|
30
|
-
src: url,
|
|
31
|
-
title: name ?? '',
|
|
32
|
-
alt: name ?? '',
|
|
33
|
-
width: 200,
|
|
34
|
-
})
|
|
35
|
-
.run();
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
emit('error', err);
|
|
39
|
-
console.error(err);
|
|
40
|
-
}
|
|
41
|
-
finally {
|
|
42
|
-
isUploading.value = false;
|
|
43
|
-
emit('upload-end');
|
|
44
|
-
input.value = '';
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const __VLS_ctx = {
|
|
48
|
-
...{},
|
|
49
|
-
...{},
|
|
50
|
-
...{},
|
|
51
|
-
...{},
|
|
52
|
-
...{},
|
|
53
|
-
};
|
|
54
|
-
let __VLS_components;
|
|
55
|
-
let __VLS_intrinsics;
|
|
56
|
-
let __VLS_directives;
|
|
57
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({
|
|
58
|
-
...{ onClick: (__VLS_ctx.triggerFileSelect) },
|
|
59
|
-
...{ class: "icon-button image-button" },
|
|
60
|
-
disabled: (__VLS_ctx.isUploading),
|
|
61
|
-
title: "插入图片",
|
|
62
|
-
});
|
|
63
|
-
/** @type {__VLS_StyleScopedClasses['icon-button']} */ ;
|
|
64
|
-
/** @type {__VLS_StyleScopedClasses['image-button']} */ ;
|
|
65
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.input)({
|
|
66
|
-
...{ onChange: (__VLS_ctx.handleFileChange) },
|
|
67
|
-
ref: "fileInputRef",
|
|
68
|
-
type: "file",
|
|
69
|
-
accept: "image/*",
|
|
70
|
-
...{ style: {} },
|
|
71
|
-
});
|
|
72
|
-
if (!__VLS_ctx.isUploading) {
|
|
73
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
74
|
-
...{ class: "icon" },
|
|
75
|
-
});
|
|
76
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
77
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.svg, __VLS_intrinsics.svg)({
|
|
78
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
79
|
-
viewBox: "0 0 448 512",
|
|
80
|
-
});
|
|
81
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.path)({
|
|
82
|
-
fill: "currentColor",
|
|
83
|
-
stroke: "currentColor",
|
|
84
|
-
'stroke-width': "4",
|
|
85
|
-
'stroke-linecap': "round",
|
|
86
|
-
'stroke-linejoin': "round",
|
|
87
|
-
d: "M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm136 72c8.5 0 16.4 4.5 20.7 11.8l80 136c4.4 7.4 4.4 16.6 .1 24.1S352.6 384 344 384l-240 0c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l17.2 24.6 46.5-79c4.3-7.3 12.2-11.8 20.7-11.8z",
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
92
|
-
...{ class: "icon" },
|
|
93
|
-
});
|
|
94
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
95
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.svg, __VLS_intrinsics.svg)({
|
|
96
|
-
viewBox: "0 0 38 38",
|
|
97
|
-
});
|
|
98
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.circle, __VLS_intrinsics.circle)({
|
|
99
|
-
stroke: "currentColor",
|
|
100
|
-
'stroke-width': "3",
|
|
101
|
-
'stroke-linecap': "round",
|
|
102
|
-
fill: "none",
|
|
103
|
-
cx: "19",
|
|
104
|
-
cy: "19",
|
|
105
|
-
r: "16",
|
|
106
|
-
'stroke-dasharray': "45.5 12.5",
|
|
107
|
-
transform: "rotate(10 19 19)",
|
|
108
|
-
});
|
|
109
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.animateTransform)({
|
|
110
|
-
attributeName: "transform",
|
|
111
|
-
type: "rotate",
|
|
112
|
-
repeatCount: "indefinite",
|
|
113
|
-
dur: "0.6s",
|
|
114
|
-
values: "0 19 19;360 19 19",
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
// @ts-ignore
|
|
118
|
-
[triggerFileSelect, isUploading, isUploading, handleFileChange,];
|
|
119
|
-
const __VLS_export = (await import('vue')).defineComponent({
|
|
120
|
-
__typeEmits: {},
|
|
121
|
-
__typeProps: {},
|
|
122
|
-
});
|
|
123
|
-
export default {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<button
|
|
3
|
-
class="icon-button"
|
|
4
|
-
@click="editor.chain().focus().decreaseIndent().run()" >
|
|
5
|
-
|
|
6
|
-
<div class="icon">
|
|
7
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
|
8
|
-
<path fill="currentColor" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3L0 176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/>
|
|
9
|
-
</svg>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<div class="tips">减少缩进</div>
|
|
13
|
-
</button>
|
|
14
|
-
</template>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<script setup>
|
|
18
|
-
const props = defineProps({
|
|
19
|
-
editor: {
|
|
20
|
-
type: Object,
|
|
21
|
-
required: true
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
</script>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
const props = defineProps({
|
|
2
|
-
editor: {
|
|
3
|
-
type: Object,
|
|
4
|
-
required: true
|
|
5
|
-
}
|
|
6
|
-
});
|
|
7
|
-
const __VLS_ctx = {
|
|
8
|
-
...{},
|
|
9
|
-
...{},
|
|
10
|
-
...{},
|
|
11
|
-
};
|
|
12
|
-
let __VLS_components;
|
|
13
|
-
let __VLS_intrinsics;
|
|
14
|
-
let __VLS_directives;
|
|
15
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({
|
|
16
|
-
...{ onClick: (...[$event]) => {
|
|
17
|
-
__VLS_ctx.editor.chain().focus().decreaseIndent().run();
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
[editor,];
|
|
20
|
-
} },
|
|
21
|
-
...{ class: "icon-button" },
|
|
22
|
-
});
|
|
23
|
-
/** @type {__VLS_StyleScopedClasses['icon-button']} */ ;
|
|
24
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
25
|
-
...{ class: "icon" },
|
|
26
|
-
});
|
|
27
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
28
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.svg, __VLS_intrinsics.svg)({
|
|
29
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
30
|
-
viewBox: "0 0 448 512",
|
|
31
|
-
});
|
|
32
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.path)({
|
|
33
|
-
fill: "currentColor",
|
|
34
|
-
stroke: "currentColor",
|
|
35
|
-
'stroke-width': "4",
|
|
36
|
-
'stroke-linecap': "round",
|
|
37
|
-
'stroke-linejoin': "round",
|
|
38
|
-
d: "M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3L0 176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z",
|
|
39
|
-
});
|
|
40
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
41
|
-
...{ class: "tips" },
|
|
42
|
-
});
|
|
43
|
-
/** @type {__VLS_StyleScopedClasses['tips']} */ ;
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
[];
|
|
46
|
-
const __VLS_export = (await import('vue')).defineComponent({
|
|
47
|
-
props: {
|
|
48
|
-
editor: {
|
|
49
|
-
type: Object,
|
|
50
|
-
required: true
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
export default {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<button
|
|
3
|
-
class="icon-button"
|
|
4
|
-
@click="editor.chain().focus().increaseIndent().run()" >
|
|
5
|
-
|
|
6
|
-
<div class="icon">
|
|
7
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
|
8
|
-
<path fill="currentColor" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M0,64c0-17.7,14.3-32,32-32h384c17.7,0,32,14.3,32,32s-14.3,32-32,32H32C14.3,96,0,81.7,0,64z M192,192
|
|
9
|
-
c0-17.7,14.3-32,32-32h192c17.7,0,32,14.3,32,32s-14.3,32-32,32H224C206.3,224,192,209.7,192,192z M224,288h192
|
|
10
|
-
c17.7,0,32,14.3,32,32s-14.3,32-32,32H224c-17.7,0-32-14.3-32-32S206.3,288,224,288z M0,448c0-17.7,14.3-32,32-32h384
|
|
11
|
-
c17.7,0,32,14.3,32,32s-14.3,32-32,32H32C14.3,480,0,465.7,0,448z M6,243.4l102-79.3c10.5-8.2,25.8-0.7,25.8,12.6v158.6
|
|
12
|
-
c0,13.3-15.3,20.8-25.8,12.6L6.1,268.6c-8.2-6.4-8.2-18.9,0-25.3L6,243.4z"/>
|
|
13
|
-
</svg>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
<div class="tips">增加缩进</div>
|
|
17
|
-
</button>
|
|
18
|
-
</template>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<script setup>
|
|
22
|
-
const props = defineProps({
|
|
23
|
-
editor: {
|
|
24
|
-
type: Object,
|
|
25
|
-
required: true
|
|
26
|
-
}
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
</script>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
const props = defineProps({
|
|
2
|
-
editor: {
|
|
3
|
-
type: Object,
|
|
4
|
-
required: true
|
|
5
|
-
}
|
|
6
|
-
});
|
|
7
|
-
const __VLS_ctx = {
|
|
8
|
-
...{},
|
|
9
|
-
...{},
|
|
10
|
-
...{},
|
|
11
|
-
};
|
|
12
|
-
let __VLS_components;
|
|
13
|
-
let __VLS_intrinsics;
|
|
14
|
-
let __VLS_directives;
|
|
15
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({
|
|
16
|
-
...{ onClick: (...[$event]) => {
|
|
17
|
-
__VLS_ctx.editor.chain().focus().increaseIndent().run();
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
[editor,];
|
|
20
|
-
} },
|
|
21
|
-
...{ class: "icon-button" },
|
|
22
|
-
});
|
|
23
|
-
/** @type {__VLS_StyleScopedClasses['icon-button']} */ ;
|
|
24
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
25
|
-
...{ class: "icon" },
|
|
26
|
-
});
|
|
27
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
28
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.svg, __VLS_intrinsics.svg)({
|
|
29
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
30
|
-
viewBox: "0 0 448 512",
|
|
31
|
-
});
|
|
32
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.path)({
|
|
33
|
-
fill: "currentColor",
|
|
34
|
-
stroke: "currentColor",
|
|
35
|
-
'stroke-width': "4",
|
|
36
|
-
'stroke-linecap': "round",
|
|
37
|
-
'stroke-linejoin': "round",
|
|
38
|
-
d: "\u004d\u0030\u002c\u0036\u0034\u0063\u0030\u002d\u0031\u0037\u002e\u0037\u002c\u0031\u0034\u002e\u0033\u002d\u0033\u0032\u002c\u0033\u0032\u002d\u0033\u0032\u0068\u0033\u0038\u0034\u0063\u0031\u0037\u002e\u0037\u002c\u0030\u002c\u0033\u0032\u002c\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002c\u0033\u0032\u0073\u002d\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002d\u0033\u0032\u002c\u0033\u0032\u0048\u0033\u0032\u0043\u0031\u0034\u002e\u0033\u002c\u0039\u0036\u002c\u0030\u002c\u0038\u0031\u002e\u0037\u002c\u0030\u002c\u0036\u0034\u007a\u0020\u004d\u0031\u0039\u0032\u002c\u0031\u0039\u0032\u000a\u0009\u0063\u0030\u002d\u0031\u0037\u002e\u0037\u002c\u0031\u0034\u002e\u0033\u002d\u0033\u0032\u002c\u0033\u0032\u002d\u0033\u0032\u0068\u0031\u0039\u0032\u0063\u0031\u0037\u002e\u0037\u002c\u0030\u002c\u0033\u0032\u002c\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002c\u0033\u0032\u0073\u002d\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002d\u0033\u0032\u002c\u0033\u0032\u0048\u0032\u0032\u0034\u0043\u0032\u0030\u0036\u002e\u0033\u002c\u0032\u0032\u0034\u002c\u0031\u0039\u0032\u002c\u0032\u0030\u0039\u002e\u0037\u002c\u0031\u0039\u0032\u002c\u0031\u0039\u0032\u007a\u0020\u004d\u0032\u0032\u0034\u002c\u0032\u0038\u0038\u0068\u0031\u0039\u0032\u000a\u0009\u0063\u0031\u0037\u002e\u0037\u002c\u0030\u002c\u0033\u0032\u002c\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002c\u0033\u0032\u0073\u002d\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002d\u0033\u0032\u002c\u0033\u0032\u0048\u0032\u0032\u0034\u0063\u002d\u0031\u0037\u002e\u0037\u002c\u0030\u002d\u0033\u0032\u002d\u0031\u0034\u002e\u0033\u002d\u0033\u0032\u002d\u0033\u0032\u0053\u0032\u0030\u0036\u002e\u0033\u002c\u0032\u0038\u0038\u002c\u0032\u0032\u0034\u002c\u0032\u0038\u0038\u007a\u0020\u004d\u0030\u002c\u0034\u0034\u0038\u0063\u0030\u002d\u0031\u0037\u002e\u0037\u002c\u0031\u0034\u002e\u0033\u002d\u0033\u0032\u002c\u0033\u0032\u002d\u0033\u0032\u0068\u0033\u0038\u0034\u000a\u0009\u0063\u0031\u0037\u002e\u0037\u002c\u0030\u002c\u0033\u0032\u002c\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002c\u0033\u0032\u0073\u002d\u0031\u0034\u002e\u0033\u002c\u0033\u0032\u002d\u0033\u0032\u002c\u0033\u0032\u0048\u0033\u0032\u0043\u0031\u0034\u002e\u0033\u002c\u0034\u0038\u0030\u002c\u0030\u002c\u0034\u0036\u0035\u002e\u0037\u002c\u0030\u002c\u0034\u0034\u0038\u007a\u0020\u004d\u0036\u002c\u0032\u0034\u0033\u002e\u0034\u006c\u0031\u0030\u0032\u002d\u0037\u0039\u002e\u0033\u0063\u0031\u0030\u002e\u0035\u002d\u0038\u002e\u0032\u002c\u0032\u0035\u002e\u0038\u002d\u0030\u002e\u0037\u002c\u0032\u0035\u002e\u0038\u002c\u0031\u0032\u002e\u0036\u0076\u0031\u0035\u0038\u002e\u0036\u000a\u0009\u0063\u0030\u002c\u0031\u0033\u002e\u0033\u002d\u0031\u0035\u002e\u0033\u002c\u0032\u0030\u002e\u0038\u002d\u0032\u0035\u002e\u0038\u002c\u0031\u0032\u002e\u0036\u004c\u0036\u002e\u0031\u002c\u0032\u0036\u0038\u002e\u0036\u0063\u002d\u0038\u002e\u0032\u002d\u0036\u002e\u0034\u002d\u0038\u002e\u0032\u002d\u0031\u0038\u002e\u0039\u002c\u0030\u002d\u0032\u0035\u002e\u0033\u004c\u0036\u002c\u0032\u0034\u0033\u002e\u0034\u007a",
|
|
39
|
-
});
|
|
40
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
41
|
-
...{ class: "tips" },
|
|
42
|
-
});
|
|
43
|
-
/** @type {__VLS_StyleScopedClasses['tips']} */ ;
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
[];
|
|
46
|
-
const __VLS_export = (await import('vue')).defineComponent({
|
|
47
|
-
props: {
|
|
48
|
-
editor: {
|
|
49
|
-
type: Object,
|
|
50
|
-
required: true
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
export default {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<button
|
|
3
|
-
class="icon-button"
|
|
4
|
-
:class="{ 'active': editor.isActive('italic') }"
|
|
5
|
-
@click="editor.chain().focus().toggleItalic().run()" >
|
|
6
|
-
|
|
7
|
-
<div class="icon">
|
|
8
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
9
|
-
<path fill="currentColor" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0-133.3 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0 133.3-320-64 0c-17.7 0-32-14.3-32-32z"/>
|
|
10
|
-
</svg>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
<div class="tips">斜体</div>
|
|
14
|
-
</button>
|
|
15
|
-
</template>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<script setup>
|
|
19
|
-
const props = defineProps({
|
|
20
|
-
editor: {
|
|
21
|
-
type: Object,
|
|
22
|
-
required: true
|
|
23
|
-
}
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</script>
|
|
29
|
-
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const props = defineProps({
|
|
2
|
-
editor: {
|
|
3
|
-
type: Object,
|
|
4
|
-
required: true
|
|
5
|
-
}
|
|
6
|
-
});
|
|
7
|
-
const __VLS_ctx = {
|
|
8
|
-
...{},
|
|
9
|
-
...{},
|
|
10
|
-
...{},
|
|
11
|
-
};
|
|
12
|
-
let __VLS_components;
|
|
13
|
-
let __VLS_intrinsics;
|
|
14
|
-
let __VLS_directives;
|
|
15
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({
|
|
16
|
-
...{ onClick: (...[$event]) => {
|
|
17
|
-
__VLS_ctx.editor.chain().focus().toggleItalic().run();
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
[editor,];
|
|
20
|
-
} },
|
|
21
|
-
...{ class: "icon-button" },
|
|
22
|
-
...{ class: ({ 'active': __VLS_ctx.editor.isActive('italic') }) },
|
|
23
|
-
});
|
|
24
|
-
/** @type {__VLS_StyleScopedClasses['icon-button']} */ ;
|
|
25
|
-
/** @type {__VLS_StyleScopedClasses['active']} */ ;
|
|
26
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
27
|
-
...{ class: "icon" },
|
|
28
|
-
});
|
|
29
|
-
/** @type {__VLS_StyleScopedClasses['icon']} */ ;
|
|
30
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.svg, __VLS_intrinsics.svg)({
|
|
31
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
32
|
-
viewBox: "0 0 512 512",
|
|
33
|
-
});
|
|
34
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.path)({
|
|
35
|
-
fill: "currentColor",
|
|
36
|
-
stroke: "currentColor",
|
|
37
|
-
'stroke-width': "4",
|
|
38
|
-
'stroke-linecap': "round",
|
|
39
|
-
'stroke-linejoin': "round",
|
|
40
|
-
d: "M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0-133.3 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0 133.3-320-64 0c-17.7 0-32-14.3-32-32z",
|
|
41
|
-
});
|
|
42
|
-
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
|
|
43
|
-
...{ class: "tips" },
|
|
44
|
-
});
|
|
45
|
-
/** @type {__VLS_StyleScopedClasses['tips']} */ ;
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
[editor,];
|
|
48
|
-
const __VLS_export = (await import('vue')).defineComponent({
|
|
49
|
-
props: {
|
|
50
|
-
editor: {
|
|
51
|
-
type: Object,
|
|
52
|
-
required: true
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
export default {};
|