@kungal/editor-vue 0.36.0 → 0.37.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/CHANGELOG.md +28 -0
- package/dist/components/KunEditor.vue.d.ts +3 -2
- package/dist/components/KunEditor.vue.d.ts.map +1 -1
- package/dist/components/SelectionTooltip.vue.d.ts.map +1 -1
- package/dist/components/ToolbarHost.vue.d.ts.map +1 -1
- package/dist/context.d.ts +11 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/index.js +177 -175
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @kungal/editor-vue
|
|
2
2
|
|
|
3
|
+
## 0.37.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- a473708: 隐藏文本:选区里的换行不再写出读不回来的 markdown,选区气泡里也有了这颗按钮
|
|
8
|
+
|
|
9
|
+
- **`insertKunSpoilerCommand` 把选区里的换行折成空格。** `||…||` 在每一个读它的地方
|
|
10
|
+
都只在同一行内配对(这里的 remark 转换、共用同一语法的服务端渲染器),而 commonmark 的
|
|
11
|
+
hardbreak 声明了 `leafText: () => '\n'` —— 所以选中跨行的文字点「隐藏文本」,按钮会写出
|
|
12
|
+
`||第一行\n第二行||`:一段它自己都读不回来、渲染出来是两条光秃秃竖线的 markdown。现在
|
|
13
|
+
`textBetween` 的**两个**分隔符都给 `' '`(块级的本来就是),跨行选区并成一个单行 spoiler。
|
|
14
|
+
- **选区里一个字都没有时返回 `false`**,而不是把选中的东西替换掉 —— 单独选中一张图片点
|
|
15
|
+
「隐藏文本」不再删图。(选中的是节点、或在代码块里,原本就已经返回 `false`。)
|
|
16
|
+
- **选区气泡工具栏加入 `spoiler`**:`KunSelectionItem` 多一个成员,默认那一排变成
|
|
17
|
+
`bold / italic / strike / code / spoiler / link`。按下态走已有的 `activeMarks.spoiler`,
|
|
18
|
+
光标在 spoiler 里时按钮点亮、点一下揭示,和固定工具栏完全一致。
|
|
19
|
+
- 顺手把气泡默认按钮表收成**一份** `DEFAULT_SELECTION_ITEMS`(`context.ts`)。原本
|
|
20
|
+
`<KunEditor>` 和气泡各存一份,只改气泡那份等于没改 —— 真实编辑器读的是 context 那份。
|
|
21
|
+
|
|
22
|
+
**跨行剧透不在此列**:`||…||` 是行内语法(schema `inline: true`,mdast 里开闭两个 `||`
|
|
23
|
+
根本落在不同的 text 节点上),要藏整段多行内容需要的是一个块级容器语法,得全生态(渲染器
|
|
24
|
+
先行)另行约定,不是把 `||…||` 拉长。
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- Updated dependencies [a473708]
|
|
29
|
+
- @kungal/editor-core@0.37.0
|
|
30
|
+
|
|
3
31
|
## 0.36.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
|
@@ -31,8 +31,9 @@ type __VLS_Props = {
|
|
|
31
31
|
scrollSync?: boolean;
|
|
32
32
|
/**
|
|
33
33
|
* The floating toolbar shown on text selection. `true` (default) = the
|
|
34
|
-
* standard buttons
|
|
35
|
-
*
|
|
34
|
+
* standard buttons (bold / italic / strike / code / spoiler / link);
|
|
35
|
+
* `false` = off; or pass an ordered `KunSelectionItem[]` to reorder /
|
|
36
|
+
* subset them (`'|'` is a divider). Its look is styled via the
|
|
36
37
|
* `.kun-editor__bubble` / `.kun-editor__bubble-btn` class hooks.
|
|
37
38
|
*/
|
|
38
39
|
selectionToolbar?: boolean | KunSelectionItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KunEditor.vue.d.ts","sourceRoot":"","sources":["../../src/components/KunEditor.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KunEditor.vue.d.ts","sourceRoot":"","sources":["../../src/components/KunEditor.vue"],"names":[],"mappings":"AAubA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACX,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEjE,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE9C,KAAK,WAAW,GAAG;IACf,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,qDAAqD;IACrD,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,KAAK,GAAG,OAAO,CAAA;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB;oEACgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAA;CAChD,CAAC;AAqfJ,QAAA,IAAI,OAAO;;iBAzZS,QAAQ;;;;;;;;;;;;;CAyZP,EAAE,QAAQ;iEAtjB/B,CA7Xa;;;;;;WA6Xb,CArW+C;aAqW/C,CArW+D;;;;YAqW/D,CAlW4D;;;;;;;;;;;;;;CAw5BlB,EAA4C,QAAQ,IAAY,CAAE;AAC5G,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAClD;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC7C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAShD,QAAA,MAAM,UAAU;;;;;;;;;iBA1hBE,MAAM;cART,iBAAiB;cAEjB,iBAAiB;YAEnB,eAAe;cAEb,OAAO;qBAQA,KAAK,GAAG,OAAO;sBAiBd,OAAO,GAAG,gBAAgB,EAAE;WAXvC,QAAQ,EAAE;gBAGL,OAAO;6EAghBtB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionTooltip.vue.d.ts","sourceRoot":"","sources":["../../src/components/SelectionTooltip.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelectionTooltip.vue.d.ts","sourceRoot":"","sources":["../../src/components/SelectionTooltip.vue"],"names":[],"mappings":"AAilBA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarHost.vue.d.ts","sourceRoot":"","sources":["../../src/components/ToolbarHost.vue"],"names":[],"mappings":"AA6GA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AA2GhD,QAAA,IAAI,OAAO;oCA5GX,
|
|
1
|
+
{"version":3,"file":"ToolbarHost.vue.d.ts","sourceRoot":"","sources":["../../src/components/ToolbarHost.vue"],"names":[],"mappings":"AA6GA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AA2GhD,QAAA,IAAI,OAAO;oCA5GX,CA9DkB;;;;;;WAsDZ,CAAC;aAAe,CAAC;;;;YAC+E,CAAC;;;;;;;;;;;;;;CAmHjF,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAG/C,QAAA,MAAM,UAAU,+QACd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
package/dist/context.d.ts
CHANGED
|
@@ -18,4 +18,15 @@ export interface KunEditorContext {
|
|
|
18
18
|
readonly activeMarks: Record<KunToggleMark, boolean>;
|
|
19
19
|
}
|
|
20
20
|
export declare const KUN_EDITOR_CONTEXT: InjectionKey<KunEditorContext>;
|
|
21
|
+
/**
|
|
22
|
+
* The bubble's default button row — ONE copy, read by <KunEditor> (which puts it
|
|
23
|
+
* on the context) and by the bubble itself (for the no-context case). Two copies
|
|
24
|
+
* drift: adding a button to the bubble's own fallback did nothing at all,
|
|
25
|
+
* because every real editor gets the list from the context.
|
|
26
|
+
*
|
|
27
|
+
* `spoiler` is in it: hiding a selection is the KUN-specific inline action, and
|
|
28
|
+
* the bubble only ever shows on a text selection — exactly the case the command
|
|
29
|
+
* wraps (and, with the caret inside a spoiler, reveals).
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_SELECTION_ITEMS: KunSelectionItem[];
|
|
21
32
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,CAAA;IAClD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;CACrD;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAChC,CAAA"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,CAAA;IAClD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;CACrD;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAChC,CAAA;AAE9B;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAOrD,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,13 +2,13 @@ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r
|
|
|
2
2
|
import { Milkdown as k, MilkdownProvider as A, useEditor as j, useInstance as M } from "@milkdown/vue";
|
|
3
3
|
import { ProsemirrorAdapterProvider as N, usePluginViewContext as ee, usePluginViewFactory as P } from "@prosemirror-adapter/vue";
|
|
4
4
|
import { parseHeadings as F, parseHeadings as I } from "@kungal/editor-core";
|
|
5
|
-
import { Editor as L, defaultValueCtx as
|
|
6
|
-
import { listenerCtx as
|
|
7
|
-
import { SlashProvider as
|
|
8
|
-
import { TooltipProvider as
|
|
9
|
-
import { $prose as
|
|
10
|
-
import { Plugin as
|
|
11
|
-
import { createCodeBlockCommand as
|
|
5
|
+
import { Editor as L, defaultValueCtx as R, editorViewCtx as z, editorViewOptionsCtx as B, rootCtx as V } from "@milkdown/kit/core";
|
|
6
|
+
import { listenerCtx as te } from "@milkdown/kit/plugin/listener";
|
|
7
|
+
import { SlashProvider as H, slashFactory as ne } from "@milkdown/kit/plugin/slash";
|
|
8
|
+
import { TooltipProvider as U, tooltipFactory as W } from "@milkdown/kit/plugin/tooltip";
|
|
9
|
+
import { $prose as G, callCommand as K, replaceAll as re } from "@milkdown/kit/utils";
|
|
10
|
+
import { Plugin as ie, PluginKey as ae, TextSelection as q } from "@milkdown/kit/prose/state";
|
|
11
|
+
import { createCodeBlockCommand as oe, emphasisSchema as se, inlineCodeSchema as ce, insertHrCommand as le, insertImageCommand as ue, linkSchema as de, strongSchema as fe, toggleEmphasisCommand as pe, toggleInlineCodeCommand as me, toggleStrongCommand as he, wrapInBlockquoteCommand as ge, wrapInBulletListCommand as _e, wrapInOrderedListCommand as ve } from "@milkdown/kit/preset/commonmark";
|
|
12
12
|
import { createKunEditorPlugins as ye, insertKunSpoilerCommand as be, insertLinkCommand as J, insertMentionCommand as xe, insertQuoteCommand as Se, kunCM as Ce, mentionId as we, setHeadingCommand as Te, startImageUpload as Ee } from "@kungal/editor-core/preset";
|
|
13
13
|
import { strikethroughSchema as De, toggleStrikethroughCommand as Oe } from "@milkdown/kit/preset/gfm";
|
|
14
14
|
import { Annotation as ke, EditorState as Ae } from "@codemirror/state";
|
|
@@ -48,28 +48,35 @@ var Ne = [
|
|
|
48
48
|
}, ze = (e, t, n) => {
|
|
49
49
|
let r = Re(e, t);
|
|
50
50
|
for (let e of Object.keys(r)) n[e] !== r[e] && (n[e] = r[e]);
|
|
51
|
-
}, Be = new
|
|
51
|
+
}, Be = new ae("KUN_ACTIVE_MARKS"), Ve = (e) => G((t) => new ie({
|
|
52
52
|
key: Be,
|
|
53
53
|
view: (n) => (ze(n.state, t, e), { update(n) {
|
|
54
54
|
ze(n.state, t, e);
|
|
55
55
|
} })
|
|
56
56
|
})), X = Symbol("kun-editor-context"), He = [
|
|
57
|
+
"bold",
|
|
58
|
+
"italic",
|
|
59
|
+
"strike",
|
|
60
|
+
"code",
|
|
61
|
+
"spoiler",
|
|
62
|
+
"link"
|
|
63
|
+
], Ue = [
|
|
57
64
|
"data-active",
|
|
58
65
|
"onMousedown",
|
|
59
66
|
"onMouseenter"
|
|
60
|
-
],
|
|
67
|
+
], We = ["src", "alt"], Ge = {
|
|
61
68
|
key: 1,
|
|
62
69
|
class: "kun-mention-dropdown__avatar kun-mention-dropdown__avatar--fallback"
|
|
63
|
-
},
|
|
70
|
+
}, Ke = { class: "kun-mention-dropdown__name" }, qe = {
|
|
64
71
|
key: 1,
|
|
65
72
|
class: "kun-mention-dropdown__hint"
|
|
66
|
-
},
|
|
73
|
+
}, Je = {
|
|
67
74
|
key: 2,
|
|
68
75
|
class: "kun-mention-dropdown__hint"
|
|
69
|
-
},
|
|
76
|
+
}, Ye = {
|
|
70
77
|
key: 3,
|
|
71
78
|
class: "kun-mention-dropdown__hint"
|
|
72
|
-
},
|
|
79
|
+
}, Xe = /* @__PURE__ */ s({
|
|
73
80
|
__name: "MentionDropdown",
|
|
74
81
|
setup(n) {
|
|
75
82
|
let r = /(?:^|\s)@([^\s@]{0,30})$/, o = l(X), s = o?.adapters.searchMentionUsers, c = t(() => (o?.locale ?? "zh-cn").toLowerCase().startsWith("en")), u = t(() => c.value ? {
|
|
@@ -118,7 +125,7 @@ var Ne = [
|
|
|
118
125
|
userId: e.id,
|
|
119
126
|
name: e.name
|
|
120
127
|
}), { from: i, to: a } = D, o = t.state.tr.replaceWith(i, a, r), s = i + r.nodeSize;
|
|
121
|
-
o.insertText(" ", s), o.setSelection(
|
|
128
|
+
o.insertText(" ", s), o.setSelection(q.create(o.doc, s + 1)), t.dispatch(o.scrollIntoView()), t.focus(), y.hide();
|
|
122
129
|
}, I = (e) => {
|
|
123
130
|
if (!x.value || !C.value.length) {
|
|
124
131
|
x.value && e.key === "Escape" && (e.preventDefault(), y.hide());
|
|
@@ -144,7 +151,7 @@ var Ne = [
|
|
|
144
151
|
}
|
|
145
152
|
};
|
|
146
153
|
return p(() => {
|
|
147
|
-
y = new
|
|
154
|
+
y = new H({
|
|
148
155
|
content: g.value,
|
|
149
156
|
trigger: "@",
|
|
150
157
|
shouldShow: P,
|
|
@@ -175,9 +182,9 @@ var Ne = [
|
|
|
175
182
|
src: e.avatar,
|
|
176
183
|
alt: e.name,
|
|
177
184
|
class: "kun-mention-dropdown__avatar"
|
|
178
|
-
}, null, 8,
|
|
185
|
+
}, null, 8, We)) : (m(), i("span", Ge, b(e.name.charAt(0)), 1)), a("span", Ke, b(e.name), 1)], 40, Ue))), 128)) : E.value ? (m(), i("div", qe, b(u.value.searching), 1)) : S.value ? (m(), i("div", Je, b(u.value.empty), 1)) : (m(), i("div", Ye, b(u.value.prompt), 1))], 512));
|
|
179
186
|
}
|
|
180
|
-
}),
|
|
187
|
+
}), Ze = (e, t) => {
|
|
181
188
|
let n = de.type(t), { from: r, to: i } = e.selection, a = "";
|
|
182
189
|
return e.doc.nodesBetween(r, i, (e) => {
|
|
183
190
|
if (a) return !1;
|
|
@@ -204,17 +211,17 @@ var Ne = [
|
|
|
204
211
|
check: Z("<path d=\"m5 13 4 4L19 7\"/>"),
|
|
205
212
|
close: Z("<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/>"),
|
|
206
213
|
smile: Z("<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M8 14s1.5 2 4 2 4-2 4-2\"/><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"/><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"/>")
|
|
207
|
-
},
|
|
214
|
+
}, Qe = ["data-mode"], $e = ["placeholder", "aria-label"], et = ["title", "aria-label"], tt = ["innerHTML"], nt = ["title", "aria-label"], rt = ["innerHTML"], it = {
|
|
208
215
|
key: 0,
|
|
209
216
|
class: "kun-editor__toolbar-divider",
|
|
210
217
|
"aria-hidden": "true"
|
|
211
|
-
},
|
|
218
|
+
}, at = [
|
|
212
219
|
"title",
|
|
213
220
|
"aria-label",
|
|
214
221
|
"aria-pressed",
|
|
215
222
|
"data-active",
|
|
216
223
|
"onMousedown"
|
|
217
|
-
],
|
|
224
|
+
], ot = ["innerHTML"], st = /* @__PURE__ */ s({
|
|
218
225
|
__name: "SelectionTooltip",
|
|
219
226
|
setup(n) {
|
|
220
227
|
let { view: r, prevState: o } = ee(), [, s] = M(), c = l(X), d = c?.activeMarks ?? Ie, h = t(() => (c?.locale ?? "zh-cn").toLowerCase().startsWith("en")), g = t(() => {
|
|
@@ -224,18 +231,19 @@ var Ne = [
|
|
|
224
231
|
italic: e ? "Italic" : "斜体",
|
|
225
232
|
strike: e ? "Strikethrough" : "删除线",
|
|
226
233
|
code: e ? "Inline code" : "行内代码",
|
|
234
|
+
spoiler: e ? "Spoiler" : "隐藏文本",
|
|
227
235
|
link: e ? "Link" : "链接",
|
|
228
236
|
linkUrl: e ? "Link URL" : "链接 URL",
|
|
229
237
|
apply: e ? "Apply" : "确定",
|
|
230
238
|
cancel: e ? "Cancel" : "取消"
|
|
231
239
|
};
|
|
232
240
|
}), y = _(null), b, C = (e, t) => {
|
|
233
|
-
s()?.action(
|
|
241
|
+
s()?.action(K(e, t));
|
|
234
242
|
}, T = _(!1), k = _(""), A = _(null), j = () => {
|
|
235
243
|
let e = "";
|
|
236
244
|
return s()?.action((t) => {
|
|
237
245
|
let n = r.value?.state;
|
|
238
|
-
n && (e =
|
|
246
|
+
n && (e = Ze(n, t));
|
|
239
247
|
}), e;
|
|
240
248
|
}, N = () => {
|
|
241
249
|
T.value = !1, k.value = "", r.value?.focus();
|
|
@@ -278,19 +286,19 @@ var Ne = [
|
|
|
278
286
|
run: () => C(me.key),
|
|
279
287
|
mark: "code"
|
|
280
288
|
},
|
|
289
|
+
spoiler: {
|
|
290
|
+
svg: $.spoiler,
|
|
291
|
+
title: g.value.spoiler,
|
|
292
|
+
run: () => C(be.key),
|
|
293
|
+
mark: "spoiler"
|
|
294
|
+
},
|
|
281
295
|
link: {
|
|
282
296
|
svg: $.link,
|
|
283
297
|
title: g.value.link,
|
|
284
298
|
run: F
|
|
285
299
|
}
|
|
286
300
|
})), L = t(() => {
|
|
287
|
-
let e = I.value, t = (c?.selectionToolbarItems ?? [
|
|
288
|
-
"bold",
|
|
289
|
-
"italic",
|
|
290
|
-
"strike",
|
|
291
|
-
"code",
|
|
292
|
-
"link"
|
|
293
|
-
]).map((t) => t === "|" ? { divider: !0 } : e[t] ? {
|
|
301
|
+
let e = I.value, t = (c?.selectionToolbarItems ?? He).map((t) => t === "|" ? { divider: !0 } : e[t] ? {
|
|
294
302
|
divider: !1,
|
|
295
303
|
...e[t]
|
|
296
304
|
} : null).filter((e) => e !== null), n = [];
|
|
@@ -299,7 +307,7 @@ var Ne = [
|
|
|
299
307
|
return n;
|
|
300
308
|
});
|
|
301
309
|
return p(() => {
|
|
302
|
-
b = new
|
|
310
|
+
b = new U({
|
|
303
311
|
content: y.value,
|
|
304
312
|
offset: 8
|
|
305
313
|
}), b.onHide = () => {
|
|
@@ -328,7 +336,7 @@ var Ne = [
|
|
|
328
336
|
spellcheck: "false",
|
|
329
337
|
autocomplete: "off",
|
|
330
338
|
onKeydown: [n[1] ||= D(O((e) => P(), ["prevent"]), ["enter"]), n[2] ||= D(O((e) => N(), ["stop", "prevent"]), ["esc"])]
|
|
331
|
-
}, null, 40,
|
|
339
|
+
}, null, 40, $e), [[S, k.value]]),
|
|
332
340
|
a("button", {
|
|
333
341
|
type: "button",
|
|
334
342
|
class: "kun-editor__bubble-btn",
|
|
@@ -338,7 +346,7 @@ var Ne = [
|
|
|
338
346
|
}, [a("span", {
|
|
339
347
|
class: "kun-editor__icon",
|
|
340
348
|
innerHTML: x($).check
|
|
341
|
-
}, null, 8,
|
|
349
|
+
}, null, 8, tt)], 40, et),
|
|
342
350
|
a("button", {
|
|
343
351
|
type: "button",
|
|
344
352
|
class: "kun-editor__bubble-btn",
|
|
@@ -348,8 +356,8 @@ var Ne = [
|
|
|
348
356
|
}, [a("span", {
|
|
349
357
|
class: "kun-editor__icon",
|
|
350
358
|
innerHTML: x($).close
|
|
351
|
-
}, null, 8,
|
|
352
|
-
], 64)) : (m(!0), i(e, { key: 1 }, v(L.value, (t, n) => (m(), i(e, { key: n }, [t.divider ? (m(), i("span",
|
|
359
|
+
}, null, 8, rt)], 40, nt)
|
|
360
|
+
], 64)) : (m(!0), i(e, { key: 1 }, v(L.value, (t, n) => (m(), i(e, { key: n }, [t.divider ? (m(), i("span", it)) : (m(), i("button", {
|
|
353
361
|
key: 1,
|
|
354
362
|
type: "button",
|
|
355
363
|
class: "kun-editor__bubble-btn",
|
|
@@ -361,9 +369,9 @@ var Ne = [
|
|
|
361
369
|
}, [a("span", {
|
|
362
370
|
class: "kun-editor__icon",
|
|
363
371
|
innerHTML: t.svg
|
|
364
|
-
}, null, 8,
|
|
372
|
+
}, null, 8, ot)], 40, at))], 64))), 128))], 8, Qe));
|
|
365
373
|
}
|
|
366
|
-
}),
|
|
374
|
+
}), ct = /* @__PURE__ */ s({
|
|
367
375
|
__name: "MilkdownEditor",
|
|
368
376
|
props: {
|
|
369
377
|
modelValue: {},
|
|
@@ -378,14 +386,14 @@ var Ne = [
|
|
|
378
386
|
},
|
|
379
387
|
emits: ["update:modelValue", "update:loading"],
|
|
380
388
|
setup(e, { expose: t, emit: r }) {
|
|
381
|
-
let i = e, a = r, o = i.modelValue, s = !1, c = l(X), u = P(), d =
|
|
389
|
+
let i = e, a = r, o = i.modelValue, s = !1, c = l(X), u = P(), d = ne("kunMention"), f = i.features.mention !== !1 && !!i.adapters.searchMentionUsers && !!u, p = W("kunSelectionTooltip"), h = i.selectionToolbar && !!u, g = j((e) => {
|
|
382
390
|
let t = L.make().config((t) => {
|
|
383
|
-
t.set(
|
|
391
|
+
t.set(V, e), t.set(R, i.modelValue), t.get(te).markdownUpdated((e, t, n) => {
|
|
384
392
|
!i.active || s || t === n || (o = t, a("update:modelValue", t));
|
|
385
|
-
}), t.update(
|
|
393
|
+
}), t.update(B, (e) => ({
|
|
386
394
|
...e,
|
|
387
395
|
editable: () => !i.readonly
|
|
388
|
-
})), f && t.set(d.key, { view: u({ component:
|
|
396
|
+
})), f && t.set(d.key, { view: u({ component: Xe }) }), h && t.set(p.key, { view: u({ component: st }) });
|
|
389
397
|
}).use(ye(i.adapters, i.features, {
|
|
390
398
|
locale: i.locale,
|
|
391
399
|
placeholder: i.placeholder,
|
|
@@ -397,25 +405,25 @@ var Ne = [
|
|
|
397
405
|
if (e === o) return;
|
|
398
406
|
o = e;
|
|
399
407
|
let t = g.get();
|
|
400
|
-
t && (s = !0, t.action(
|
|
408
|
+
t && (s = !0, t.action(re(e)), s = !1);
|
|
401
409
|
}), w(() => i.readonly, () => {
|
|
402
410
|
g.get()?.action((e) => {
|
|
403
|
-
let t = e.get(
|
|
411
|
+
let t = e.get(z);
|
|
404
412
|
t.dispatch(t.state.tr);
|
|
405
413
|
});
|
|
406
414
|
});
|
|
407
415
|
let _ = () => {
|
|
408
|
-
g.get()?.action((e) => e.get(
|
|
416
|
+
g.get()?.action((e) => e.get(z).focus());
|
|
409
417
|
};
|
|
410
418
|
return t({
|
|
411
419
|
insertQuote: (e) => {
|
|
412
|
-
g.get()?.action(
|
|
420
|
+
g.get()?.action(K(Se.key, e)), _();
|
|
413
421
|
},
|
|
414
422
|
insertMention: (e) => {
|
|
415
|
-
g.get()?.action(
|
|
423
|
+
g.get()?.action(K(xe.key, e)), _();
|
|
416
424
|
},
|
|
417
425
|
insertImage: (e) => {
|
|
418
|
-
g.get()?.action(
|
|
426
|
+
g.get()?.action(K(ue.key, {
|
|
419
427
|
src: e.src,
|
|
420
428
|
alt: e.alt ?? "",
|
|
421
429
|
title: e.title ?? ""
|
|
@@ -424,7 +432,7 @@ var Ne = [
|
|
|
424
432
|
uploadImage: (e) => {
|
|
425
433
|
let t = i.adapters.uploadImage, n = g.get();
|
|
426
434
|
!t || !n || n.action((n) => {
|
|
427
|
-
Ee(n.get(
|
|
435
|
+
Ee(n.get(z), e, {
|
|
428
436
|
uploadImage: t,
|
|
429
437
|
notify: i.adapters.notify,
|
|
430
438
|
locale: i.locale
|
|
@@ -434,25 +442,25 @@ var Ne = [
|
|
|
434
442
|
focus: _,
|
|
435
443
|
scrollToHeading: (e) => {
|
|
436
444
|
g.get()?.action((t) => {
|
|
437
|
-
let n = t.get(
|
|
445
|
+
let n = t.get(z), r = 0, i = -1;
|
|
438
446
|
if (n.state.doc.forEach((t, n) => {
|
|
439
447
|
t.type.name === "heading" && (r === e && (i = n), r += 1);
|
|
440
448
|
}), !(i < 0) && (n.nodeDOM(i)?.scrollIntoView({
|
|
441
449
|
behavior: "smooth",
|
|
442
450
|
block: "start"
|
|
443
451
|
}), n.editable)) {
|
|
444
|
-
let e =
|
|
452
|
+
let e = q.near(n.state.doc.resolve(i + 1));
|
|
445
453
|
n.dispatch(n.state.tr.setSelection(e)), n.focus();
|
|
446
454
|
}
|
|
447
455
|
});
|
|
448
456
|
}
|
|
449
457
|
}), (e, t) => (m(), n(x(k)));
|
|
450
458
|
}
|
|
451
|
-
}),
|
|
459
|
+
}), lt = [
|
|
452
460
|
"title",
|
|
453
461
|
"aria-label",
|
|
454
462
|
"aria-expanded"
|
|
455
|
-
],
|
|
463
|
+
], ut = ["innerHTML"], dt = { class: "kun-editor__link-panel" }, ft = ["placeholder", "aria-label"], pt = ["title", "aria-label"], mt = ["innerHTML"], ht = /* @__PURE__ */ s({
|
|
456
464
|
__name: "LinkInput",
|
|
457
465
|
setup(e) {
|
|
458
466
|
let [, n] = M(), r = l(X), o = t(() => (r?.locale ?? "zh-cn").toLowerCase().startsWith("en")), s = t(() => {
|
|
@@ -463,11 +471,11 @@ var Ne = [
|
|
|
463
471
|
apply: e ? "Apply" : "确定"
|
|
464
472
|
};
|
|
465
473
|
}), c = _(!1), d = _(""), h = _(null), g = _(null), v = (e) => {
|
|
466
|
-
e && n()?.action(
|
|
474
|
+
e && n()?.action(K(J.key, { href: e }));
|
|
467
475
|
}, y = () => {
|
|
468
476
|
c.value = !1, d.value = "";
|
|
469
477
|
}, b = () => {
|
|
470
|
-
y(), n()?.action((e) => e.get(
|
|
478
|
+
y(), n()?.action((e) => e.get(z).focus());
|
|
471
479
|
}, w = () => {
|
|
472
480
|
v(d.value.trim()), b();
|
|
473
481
|
}, T = async () => {
|
|
@@ -475,7 +483,7 @@ var Ne = [
|
|
|
475
483
|
if (e) {
|
|
476
484
|
let t = "";
|
|
477
485
|
n()?.action((e) => {
|
|
478
|
-
let { state: n } = e.get(
|
|
486
|
+
let { state: n } = e.get(z), { from: r, to: i } = n.selection;
|
|
479
487
|
t = n.doc.textBetween(r, i, " ");
|
|
480
488
|
}), v((await e({ text: t }))?.trim() ?? "");
|
|
481
489
|
return;
|
|
@@ -485,7 +493,7 @@ var Ne = [
|
|
|
485
493
|
return;
|
|
486
494
|
}
|
|
487
495
|
n()?.action((e) => {
|
|
488
|
-
d.value =
|
|
496
|
+
d.value = Ze(e.get(z).state, e);
|
|
489
497
|
}), c.value = !0, await u(), g.value?.focus(), g.value?.select();
|
|
490
498
|
}, k = (e) => {
|
|
491
499
|
c.value && h.value && !h.value.contains(e.target) && y();
|
|
@@ -504,7 +512,7 @@ var Ne = [
|
|
|
504
512
|
}, [a("span", {
|
|
505
513
|
class: "kun-editor__icon",
|
|
506
514
|
innerHTML: x($).link
|
|
507
|
-
}, null, 8,
|
|
515
|
+
}, null, 8, ut)], 8, lt), E(a("div", dt, [E(a("input", {
|
|
508
516
|
ref_key: "inputRef",
|
|
509
517
|
ref: g,
|
|
510
518
|
"onUpdate:modelValue": t[0] ||= (e) => d.value = e,
|
|
@@ -516,7 +524,7 @@ var Ne = [
|
|
|
516
524
|
spellcheck: "false",
|
|
517
525
|
autocomplete: "off",
|
|
518
526
|
onKeydown: [t[1] ||= D(O((e) => w(), ["prevent"]), ["enter"]), t[2] ||= D(O((e) => b(), ["stop", "prevent"]), ["esc"])]
|
|
519
|
-
}, null, 40,
|
|
527
|
+
}, null, 40, ft), [[S, d.value]]), a("button", {
|
|
520
528
|
type: "button",
|
|
521
529
|
class: "kun-editor__tool",
|
|
522
530
|
title: s.value.apply,
|
|
@@ -525,23 +533,23 @@ var Ne = [
|
|
|
525
533
|
}, [a("span", {
|
|
526
534
|
class: "kun-editor__icon",
|
|
527
535
|
innerHTML: x($).check
|
|
528
|
-
}, null, 8,
|
|
536
|
+
}, null, 8, mt)], 8, pt)], 512), [[C, c.value]])], 512));
|
|
529
537
|
}
|
|
530
|
-
}),
|
|
538
|
+
}), gt = /* @__PURE__ */ "😀.😃.😄.😁.😆.😅.🤣.😂.🙂.🙃.😉.😊.😇.🥰.😍.🤩.😘.😗.😚.😋.😛.😜.🤪.😝.🤗.🤭.🤔.🤐.😐.😑.😶.😏.😒.🙄.😬.😌.😔.😪.🤤.😴.😷.🤒.🤕.🥵.🥶.🥴.😵.🤯.🤠.🥳.😎.🤓.🧐.😕.😟.🙁.😮.😯.😲.😳.🥺.😦.😧.😨.😰.😥.😢.😭.😱.😖.😣.😞.😓.😩.😫.🥱.😤.😡.😠.🤬.😈.👿.💀.💩.🤡.👻.👽.🤖.😺.😸.👍.👎.👌.🤌.🤏.✌️.🤞.🤟.🤘.👋.🤚.🖐️.✋.👏.🙌.🤝.🙏.💪.👀.👁️.❤️.🧡.💛.💚.💙.💜.🖤.🤍.💔.💕.💞.💓.💗.💖.💘.💝.💯.✨.⭐.🌟.🔥.💥.💫.⚡.☀️.🌈.🎉.🎊.🎁.🏆.🐶.🐱.🐭.🦊.🐻.🐼.🐨.🦄.🐢.🐳.🍎.🍑.🍓.🍉.🍰.🍺.🍵.☕.🍜.🍙.✅.❌.❓.❗.💤.👑.🎮.🎵.📌.🔖".split("."), _t = [
|
|
531
539
|
"title",
|
|
532
540
|
"aria-label",
|
|
533
541
|
"aria-expanded"
|
|
534
|
-
],
|
|
542
|
+
], vt = ["innerHTML"], yt = { class: "kun-editor__picker-panel" }, bt = {
|
|
535
543
|
key: 0,
|
|
536
544
|
class: "kun-editor__picker-tabs",
|
|
537
545
|
role: "tablist"
|
|
538
|
-
},
|
|
546
|
+
}, xt = ["data-active"], St = ["data-active"], Ct = { class: "kun-editor__emoji-grid" }, wt = ["onClick"], Tt = {
|
|
539
547
|
key: 1,
|
|
540
548
|
class: "kun-editor__sticker-body"
|
|
541
|
-
},
|
|
549
|
+
}, Et = { class: "kun-editor__pack-name" }, Dt = { class: "kun-editor__sticker-grid" }, Ot = ["title", "onClick"], kt = ["src", "alt"], At = {
|
|
542
550
|
key: 1,
|
|
543
551
|
class: "kun-editor__picker-hint"
|
|
544
|
-
},
|
|
552
|
+
}, jt = /* @__PURE__ */ s({
|
|
545
553
|
__name: "StickerPicker",
|
|
546
554
|
setup(n) {
|
|
547
555
|
let [, o] = M(), s = l(X), c = s?.adapters.stickerSource, u = !!c, d = t(() => (s?.locale ?? "zh-cn").toLowerCase().startsWith("en")), h = t(() => d.value ? {
|
|
@@ -573,11 +581,11 @@ var Ne = [
|
|
|
573
581
|
p(() => document.addEventListener("click", A)), f(() => document.removeEventListener("click", A));
|
|
574
582
|
let j = (e) => {
|
|
575
583
|
o()?.action((t) => {
|
|
576
|
-
let n = t.get(
|
|
584
|
+
let n = t.get(z), { state: r } = n;
|
|
577
585
|
n.dispatch(r.tr.insertText(e, r.selection.from));
|
|
578
586
|
});
|
|
579
587
|
}, N = (e, t) => {
|
|
580
|
-
o()?.action(
|
|
588
|
+
o()?.action(K(ue.key, {
|
|
581
589
|
src: e,
|
|
582
590
|
title: t,
|
|
583
591
|
alt: t
|
|
@@ -597,28 +605,28 @@ var Ne = [
|
|
|
597
605
|
}, [a("span", {
|
|
598
606
|
class: "kun-editor__icon",
|
|
599
607
|
innerHTML: x($).smile
|
|
600
|
-
}, null, 8,
|
|
601
|
-
u ? (m(), i("div",
|
|
608
|
+
}, null, 8, vt)], 8, _t), E(a("div", yt, [
|
|
609
|
+
u ? (m(), i("div", bt, [a("button", {
|
|
602
610
|
type: "button",
|
|
603
611
|
class: "kun-editor__picker-tab",
|
|
604
612
|
"data-active": S.value === "emoji",
|
|
605
613
|
onClick: n[0] ||= (e) => S.value = "emoji"
|
|
606
|
-
}, b(h.value.emoji), 9,
|
|
614
|
+
}, b(h.value.emoji), 9, xt), a("button", {
|
|
607
615
|
type: "button",
|
|
608
616
|
class: "kun-editor__picker-tab",
|
|
609
617
|
"data-active": S.value === "sticker",
|
|
610
618
|
onClick: n[1] ||= (e) => S.value = "sticker"
|
|
611
|
-
}, b(h.value.sticker), 9,
|
|
612
|
-
E(a("div",
|
|
619
|
+
}, b(h.value.sticker), 9, St)])) : r("", !0),
|
|
620
|
+
E(a("div", Ct, [(m(!0), i(e, null, v(x(gt), (e, t) => (m(), i("button", {
|
|
613
621
|
key: t,
|
|
614
622
|
type: "button",
|
|
615
623
|
class: "kun-editor__emoji",
|
|
616
624
|
onClick: (t) => j(e)
|
|
617
|
-
}, b(e), 9,
|
|
618
|
-
u ? E((m(), i("div",
|
|
625
|
+
}, b(e), 9, wt))), 128))], 512), [[C, !u || S.value === "emoji"]]),
|
|
626
|
+
u ? E((m(), i("div", Tt, [w.value.length ? (m(!0), i(e, { key: 0 }, v(w.value, (t) => (m(), i("div", {
|
|
619
627
|
key: t.name,
|
|
620
628
|
class: "kun-editor__pack"
|
|
621
|
-
}, [a("div",
|
|
629
|
+
}, [a("div", Et, b(t.name), 1), a("div", Dt, [(m(!0), i(e, null, v(t.stickers, (e, t) => (m(), i("button", {
|
|
622
630
|
key: t,
|
|
623
631
|
type: "button",
|
|
624
632
|
class: "kun-editor__sticker",
|
|
@@ -628,27 +636,27 @@ var Ne = [
|
|
|
628
636
|
src: e.src,
|
|
629
637
|
alt: e.name,
|
|
630
638
|
loading: "lazy"
|
|
631
|
-
}, null, 8,
|
|
639
|
+
}, null, 8, kt)], 8, Ot))), 128))])]))), 128)) : (m(), i("div", At, b(D.value ? h.value.failed : h.value.empty), 1))], 512)), [[C, S.value === "sticker"]]) : r("", !0)
|
|
632
640
|
], 512), [[C, g.value]])], 512));
|
|
633
641
|
}
|
|
634
|
-
}),
|
|
642
|
+
}), Mt = {
|
|
635
643
|
class: "kun-editor__format-toolbar",
|
|
636
644
|
role: "toolbar"
|
|
637
|
-
},
|
|
645
|
+
}, Nt = ["aria-label"], Pt = {
|
|
638
646
|
value: "",
|
|
639
647
|
disabled: "",
|
|
640
648
|
selected: ""
|
|
641
|
-
},
|
|
649
|
+
}, Ft = ["value"], It = [
|
|
642
650
|
"title",
|
|
643
651
|
"aria-label",
|
|
644
652
|
"aria-pressed",
|
|
645
653
|
"data-active",
|
|
646
654
|
"onClick"
|
|
647
|
-
],
|
|
655
|
+
], Lt = ["innerHTML"], Rt = ["title", "aria-label"], zt = ["innerHTML"], Bt = /* @__PURE__ */ s({
|
|
648
656
|
__name: "EditorToolbar",
|
|
649
657
|
setup(s) {
|
|
650
658
|
let [, c] = M(), u = l(X), d = u?.activeMarks ?? Ie, f = t(() => u?.adapters.uploadImage), p = t(() => u?.features.sticker !== !1), h = t(() => (u?.locale ?? "zh-cn").toLowerCase().startsWith("en")), g = (e, t) => {
|
|
651
|
-
c()?.action(
|
|
659
|
+
c()?.action(K(e, t));
|
|
652
660
|
}, y = t(() => {
|
|
653
661
|
let e = h.value;
|
|
654
662
|
return {
|
|
@@ -729,7 +737,7 @@ var Ne = [
|
|
|
729
737
|
{
|
|
730
738
|
svg: $.codeBlock,
|
|
731
739
|
title: y.value.codeBlock,
|
|
732
|
-
run: () => g(
|
|
740
|
+
run: () => g(oe.key, "")
|
|
733
741
|
},
|
|
734
742
|
{
|
|
735
743
|
svg: $.hr,
|
|
@@ -748,26 +756,26 @@ var Ne = [
|
|
|
748
756
|
t.value = "";
|
|
749
757
|
let r = f.value;
|
|
750
758
|
!n || !r || c()?.action((e) => {
|
|
751
|
-
Ee(e.get(
|
|
759
|
+
Ee(e.get(z), n, {
|
|
752
760
|
uploadImage: r,
|
|
753
761
|
notify: u?.adapters.notify,
|
|
754
762
|
locale: u?.locale
|
|
755
763
|
});
|
|
756
764
|
});
|
|
757
765
|
};
|
|
758
|
-
return (t, s) => (m(), i("div",
|
|
766
|
+
return (t, s) => (m(), i("div", Mt, [
|
|
759
767
|
a("select", {
|
|
760
768
|
class: "kun-editor__heading-select",
|
|
761
769
|
"aria-label": y.value.textSize,
|
|
762
770
|
onChange: C
|
|
763
|
-
}, [a("option",
|
|
771
|
+
}, [a("option", Pt, b(y.value.textSize), 1), (m(!0), i(e, null, v(S.value, (e) => (m(), i("option", {
|
|
764
772
|
key: e.level,
|
|
765
773
|
value: e.level
|
|
766
|
-
}, b(e.label), 9,
|
|
774
|
+
}, b(e.label), 9, Ft))), 128))], 40, Nt),
|
|
767
775
|
(m(!0), i(e, null, v(w.value, (t, r) => (m(), i(e, { key: r }, [s[0] ||= a("span", {
|
|
768
776
|
class: "kun-editor__toolbar-divider",
|
|
769
777
|
"aria-hidden": "true"
|
|
770
|
-
}, null, -1), (m(!0), i(e, null, v(t, (t, r) => (m(), i(e, { key: r }, ["link" in t ? (m(), n(
|
|
778
|
+
}, null, -1), (m(!0), i(e, null, v(t, (t, r) => (m(), i(e, { key: r }, ["link" in t ? (m(), n(ht, { key: 0 })) : (m(), i("button", {
|
|
771
779
|
key: 1,
|
|
772
780
|
type: "button",
|
|
773
781
|
class: "kun-editor__tool",
|
|
@@ -779,7 +787,7 @@ var Ne = [
|
|
|
779
787
|
}, [a("span", {
|
|
780
788
|
class: "kun-editor__icon",
|
|
781
789
|
innerHTML: t.svg
|
|
782
|
-
}, null, 8,
|
|
790
|
+
}, null, 8, Lt)], 8, It))], 64))), 128))], 64))), 128)),
|
|
783
791
|
f.value ? (m(), i(e, { key: 0 }, [
|
|
784
792
|
s[1] ||= a("span", {
|
|
785
793
|
class: "kun-editor__toolbar-divider",
|
|
@@ -794,7 +802,7 @@ var Ne = [
|
|
|
794
802
|
}, [a("span", {
|
|
795
803
|
class: "kun-editor__icon",
|
|
796
804
|
innerHTML: x($).image
|
|
797
|
-
}, null, 8,
|
|
805
|
+
}, null, 8, zt)], 8, Rt),
|
|
798
806
|
a("input", {
|
|
799
807
|
ref_key: "fileInput",
|
|
800
808
|
ref: T,
|
|
@@ -807,16 +815,16 @@ var Ne = [
|
|
|
807
815
|
p.value ? (m(), i(e, { key: 1 }, [s[2] ||= a("span", {
|
|
808
816
|
class: "kun-editor__toolbar-divider",
|
|
809
817
|
"aria-hidden": "true"
|
|
810
|
-
}, null, -1), o(
|
|
818
|
+
}, null, -1), o(jt)], 64)) : r("", !0)
|
|
811
819
|
]));
|
|
812
820
|
}
|
|
813
|
-
}),
|
|
821
|
+
}), Vt = /* @__PURE__ */ s({
|
|
814
822
|
__name: "ToolbarHost",
|
|
815
823
|
setup(e) {
|
|
816
824
|
let [, t] = M(), n = l(X, void 0), r = (e, n) => {
|
|
817
|
-
t()?.action(
|
|
825
|
+
t()?.action(K(e, n));
|
|
818
826
|
}, i = () => {
|
|
819
|
-
t()?.action((e) => e.get(
|
|
827
|
+
t()?.action((e) => e.get(z).focus());
|
|
820
828
|
}, a = {
|
|
821
829
|
run: r,
|
|
822
830
|
get activeMarks() {
|
|
@@ -824,14 +832,14 @@ var Ne = [
|
|
|
824
832
|
},
|
|
825
833
|
insertText: (e) => {
|
|
826
834
|
t()?.action((t) => {
|
|
827
|
-
let n = t.get(
|
|
835
|
+
let n = t.get(z);
|
|
828
836
|
n.dispatch(n.state.tr.insertText(e));
|
|
829
837
|
}), i();
|
|
830
838
|
},
|
|
831
839
|
uploadImage: (e) => {
|
|
832
840
|
let r = n?.adapters.uploadImage, i = t();
|
|
833
841
|
!r || !i || i.action((t) => {
|
|
834
|
-
Ee(t.get(
|
|
842
|
+
Ee(t.get(z), e, {
|
|
835
843
|
uploadImage: r,
|
|
836
844
|
notify: n?.adapters.notify,
|
|
837
845
|
locale: n?.locale
|
|
@@ -867,7 +875,7 @@ var Ne = [
|
|
|
867
875
|
};
|
|
868
876
|
return (e, t) => y(e.$slots, "default", d(c(a)));
|
|
869
877
|
}
|
|
870
|
-
}),
|
|
878
|
+
}), Ht = /* @__PURE__ */ s({
|
|
871
879
|
__name: "MarkdownSource",
|
|
872
880
|
props: {
|
|
873
881
|
modelValue: {},
|
|
@@ -939,23 +947,23 @@ var Ne = [
|
|
|
939
947
|
class: "kun-editor__source"
|
|
940
948
|
}, null, 512));
|
|
941
949
|
}
|
|
942
|
-
}),
|
|
950
|
+
}), Ut = ["data-mode"], Wt = {
|
|
943
951
|
key: 0,
|
|
944
952
|
class: "kun-editor__toolbar",
|
|
945
953
|
role: "tablist"
|
|
946
|
-
},
|
|
954
|
+
}, Gt = [
|
|
947
955
|
"aria-selected",
|
|
948
956
|
"data-active",
|
|
949
957
|
"onClick"
|
|
950
|
-
],
|
|
958
|
+
], Kt = ["title", "aria-label"], qt = [
|
|
951
959
|
"data-active",
|
|
952
960
|
"title",
|
|
953
961
|
"aria-pressed"
|
|
954
|
-
],
|
|
962
|
+
], Jt = ["data-swap"], Yt = { class: "kun-editor__wysiwyg kun-editor__pane" }, Xt = {
|
|
955
963
|
key: 1,
|
|
956
964
|
class: "kun-editor__loading",
|
|
957
965
|
"aria-hidden": "true"
|
|
958
|
-
},
|
|
966
|
+
}, Zt = /* @__PURE__ */ s({
|
|
959
967
|
__name: "KunEditor",
|
|
960
968
|
props: {
|
|
961
969
|
modelValue: {},
|
|
@@ -988,53 +996,47 @@ var Ne = [
|
|
|
988
996
|
"update:loading"
|
|
989
997
|
],
|
|
990
998
|
setup(s, { expose: l, emit: S }) {
|
|
991
|
-
let D =
|
|
992
|
-
"bold",
|
|
993
|
-
"italic",
|
|
994
|
-
"strike",
|
|
995
|
-
"code",
|
|
996
|
-
"link"
|
|
997
|
-
], O = s, k = S, j = _(!1);
|
|
999
|
+
let D = s, O = S, k = _(!1);
|
|
998
1000
|
p(() => {
|
|
999
|
-
|
|
1001
|
+
k.value = !0;
|
|
1000
1002
|
});
|
|
1001
|
-
let
|
|
1002
|
-
|
|
1003
|
+
let j = _(!0), M = (e) => {
|
|
1004
|
+
j.value = e, O("update:loading", e);
|
|
1003
1005
|
};
|
|
1004
|
-
w(() =>
|
|
1005
|
-
let
|
|
1006
|
+
w(() => D.modelValue, (e) => O("update:headings", I(e)), { immediate: !0 });
|
|
1007
|
+
let ee = g(Fe());
|
|
1006
1008
|
h(X, {
|
|
1007
1009
|
get adapters() {
|
|
1008
|
-
return
|
|
1010
|
+
return D.adapters;
|
|
1009
1011
|
},
|
|
1010
1012
|
get features() {
|
|
1011
|
-
return
|
|
1013
|
+
return D.features;
|
|
1012
1014
|
},
|
|
1013
1015
|
get locale() {
|
|
1014
|
-
return
|
|
1016
|
+
return D.locale;
|
|
1015
1017
|
},
|
|
1016
1018
|
get selectionToolbarItems() {
|
|
1017
|
-
return Array.isArray(
|
|
1019
|
+
return Array.isArray(D.selectionToolbar) ? D.selectionToolbar : He;
|
|
1018
1020
|
},
|
|
1019
1021
|
get activeMarks() {
|
|
1020
|
-
return
|
|
1022
|
+
return ee;
|
|
1021
1023
|
}
|
|
1022
1024
|
});
|
|
1023
|
-
let
|
|
1024
|
-
|
|
1025
|
+
let P = t(() => D.selectionToolbar !== !1), F = _(D.views.includes("wysiwyg") ? "wysiwyg" : D.views[0] ?? "wysiwyg"), L = (e) => {
|
|
1026
|
+
F.value = e;
|
|
1025
1027
|
};
|
|
1026
|
-
w(() =>
|
|
1027
|
-
e.includes(
|
|
1028
|
+
w(() => D.views, (e) => {
|
|
1029
|
+
e.includes(F.value) || (F.value = e[0] ?? "wysiwyg");
|
|
1028
1030
|
});
|
|
1029
1031
|
let R = _(!1), z = () => {
|
|
1030
1032
|
R.value = !R.value;
|
|
1031
|
-
}, B = _(
|
|
1032
|
-
w(() =>
|
|
1033
|
+
}, B = _(D.scrollSync);
|
|
1034
|
+
w(() => D.scrollSync, (e) => {
|
|
1033
1035
|
B.value = e;
|
|
1034
1036
|
});
|
|
1035
|
-
let
|
|
1037
|
+
let V = () => {
|
|
1036
1038
|
B.value = !B.value;
|
|
1037
|
-
},
|
|
1039
|
+
}, te = t(() => D.locale.toLowerCase().startsWith("en")), H = t(() => te.value ? {
|
|
1038
1040
|
wysiwyg: "Preview",
|
|
1039
1041
|
source: "Markdown",
|
|
1040
1042
|
split: "Split",
|
|
@@ -1046,30 +1048,30 @@ var Ne = [
|
|
|
1046
1048
|
split: "分栏",
|
|
1047
1049
|
swap: "左右互换",
|
|
1048
1050
|
scrollSync: "同步滚动"
|
|
1049
|
-
}),
|
|
1050
|
-
|
|
1051
|
-
},
|
|
1052
|
-
|
|
1053
|
-
let e =
|
|
1051
|
+
}), ne = _(null), U = null, W = null, G = null, K = () => {
|
|
1052
|
+
U?.(), U = null, W = null;
|
|
1053
|
+
}, re = () => {
|
|
1054
|
+
K();
|
|
1055
|
+
let e = ne.value;
|
|
1054
1056
|
if (!e) return;
|
|
1055
1057
|
let t = e.querySelector(".cm-scroller"), n = e.querySelector(".kun-editor__wysiwyg");
|
|
1056
1058
|
if (!t || !n) return;
|
|
1057
1059
|
let r = (e, t) => () => {
|
|
1058
|
-
if (
|
|
1059
|
-
|
|
1060
|
+
if (W && W !== e) return;
|
|
1061
|
+
W = e;
|
|
1060
1062
|
let n = e.scrollHeight - e.clientHeight, r = n > 0 ? e.scrollTop / n : 0, i = t.scrollHeight - t.clientHeight;
|
|
1061
|
-
t.scrollTop = r * (i > 0 ? i : 0),
|
|
1062
|
-
|
|
1063
|
+
t.scrollTop = r * (i > 0 ? i : 0), G && clearTimeout(G), G = setTimeout(() => {
|
|
1064
|
+
W = null;
|
|
1063
1065
|
}, 120);
|
|
1064
1066
|
}, i = r(t, n), a = r(n, t);
|
|
1065
|
-
t.addEventListener("scroll", i, { passive: !0 }), n.addEventListener("scroll", a, { passive: !0 }),
|
|
1067
|
+
t.addEventListener("scroll", i, { passive: !0 }), n.addEventListener("scroll", a, { passive: !0 }), U = () => {
|
|
1066
1068
|
t.removeEventListener("scroll", i), n.removeEventListener("scroll", a);
|
|
1067
1069
|
};
|
|
1068
1070
|
};
|
|
1069
|
-
w([
|
|
1070
|
-
|
|
1071
|
-
}), f(
|
|
1072
|
-
let
|
|
1071
|
+
w([F, B], ([e, t]) => {
|
|
1072
|
+
K(), e === "split" && t && u(re);
|
|
1073
|
+
}), f(K);
|
|
1074
|
+
let ie = t(() => D.readonly || F.value === "split"), ae = (e) => O("update:modelValue", e), q = _(null), oe = _(null);
|
|
1073
1075
|
return l({
|
|
1074
1076
|
insertQuote: (e) => q.value?.insertQuote(e),
|
|
1075
1077
|
insertMention: (e) => q.value?.insertMention(e),
|
|
@@ -1077,73 +1079,73 @@ var Ne = [
|
|
|
1077
1079
|
uploadImage: (e) => q.value?.uploadImage(e),
|
|
1078
1080
|
focus: () => q.value?.focus(),
|
|
1079
1081
|
scrollToHeading: (e) => {
|
|
1080
|
-
|
|
1082
|
+
F.value === "source" || F.value === "split" ? oe.value?.scrollToHeading(e) : q.value?.scrollToHeading(e);
|
|
1081
1083
|
}
|
|
1082
1084
|
}), (t, l) => (m(), i("div", {
|
|
1083
1085
|
ref_key: "rootEl",
|
|
1084
|
-
ref:
|
|
1086
|
+
ref: ne,
|
|
1085
1087
|
class: "kun-editor",
|
|
1086
1088
|
"data-kun-editor": "",
|
|
1087
|
-
"data-mode":
|
|
1088
|
-
}, [
|
|
1089
|
-
mode:
|
|
1090
|
-
setMode:
|
|
1091
|
-
labels:
|
|
1089
|
+
"data-mode": F.value
|
|
1090
|
+
}, [k.value ? (m(), i(e, { key: 0 }, [y(t.$slots, "view-switch", {
|
|
1091
|
+
mode: F.value,
|
|
1092
|
+
setMode: L,
|
|
1093
|
+
labels: H.value,
|
|
1092
1094
|
views: s.views,
|
|
1093
1095
|
swapped: R.value,
|
|
1094
1096
|
swap: z,
|
|
1095
1097
|
scrollSync: B.value,
|
|
1096
|
-
toggleScrollSync:
|
|
1097
|
-
}, () => [s.views.length > 1 ? (m(), i("div",
|
|
1098
|
+
toggleScrollSync: V
|
|
1099
|
+
}, () => [s.views.length > 1 ? (m(), i("div", Wt, [(m(!0), i(e, null, v(s.views, (e) => (m(), i("button", {
|
|
1098
1100
|
key: e,
|
|
1099
1101
|
type: "button",
|
|
1100
1102
|
class: "kun-editor__tab",
|
|
1101
|
-
"aria-selected":
|
|
1102
|
-
"data-active":
|
|
1103
|
-
onClick: (t) =>
|
|
1104
|
-
}, b(
|
|
1103
|
+
"aria-selected": F.value === e,
|
|
1104
|
+
"data-active": F.value === e,
|
|
1105
|
+
onClick: (t) => L(e)
|
|
1106
|
+
}, b(H.value[e]), 9, Gt))), 128)), F.value === "split" ? (m(), i(e, { key: 0 }, [a("button", {
|
|
1105
1107
|
type: "button",
|
|
1106
1108
|
class: "kun-editor__tab kun-editor__swap",
|
|
1107
|
-
title:
|
|
1108
|
-
"aria-label":
|
|
1109
|
+
title: H.value.swap,
|
|
1110
|
+
"aria-label": H.value.swap,
|
|
1109
1111
|
onClick: l[0] ||= (e) => z()
|
|
1110
|
-
}, " ⇄ ", 8,
|
|
1112
|
+
}, " ⇄ ", 8, Kt), a("button", {
|
|
1111
1113
|
type: "button",
|
|
1112
1114
|
class: "kun-editor__tab",
|
|
1113
1115
|
"data-active": B.value,
|
|
1114
|
-
title:
|
|
1116
|
+
title: H.value.scrollSync,
|
|
1115
1117
|
"aria-pressed": B.value,
|
|
1116
|
-
onClick: l[1] ||= (e) =>
|
|
1117
|
-
}, b(
|
|
1118
|
+
onClick: l[1] ||= (e) => V()
|
|
1119
|
+
}, b(H.value.scrollSync), 9, qt)], 64)) : r("", !0)])) : r("", !0)]), o(x(A), null, {
|
|
1118
1120
|
default: T(() => [o(x(N), null, {
|
|
1119
|
-
default: T(() => [E(a("div", null, [o(
|
|
1120
|
-
default: T((e) => [y(t.$slots, "toolbar", d(c(e)), () => [o(
|
|
1121
|
+
default: T(() => [E(a("div", null, [o(Vt, null, {
|
|
1122
|
+
default: T((e) => [y(t.$slots, "toolbar", d(c(e)), () => [o(Bt)])]),
|
|
1121
1123
|
_: 3
|
|
1122
|
-
})], 512), [[C,
|
|
1124
|
+
})], 512), [[C, F.value === "wysiwyg" && !s.readonly]]), a("div", {
|
|
1123
1125
|
class: "kun-editor__panes",
|
|
1124
1126
|
"data-swap": R.value
|
|
1125
|
-
}, [
|
|
1127
|
+
}, [F.value === "source" || F.value === "split" ? (m(), n(Ht, {
|
|
1126
1128
|
key: 0,
|
|
1127
1129
|
ref_key: "source",
|
|
1128
|
-
ref:
|
|
1130
|
+
ref: oe,
|
|
1129
1131
|
class: "kun-editor__pane",
|
|
1130
1132
|
"model-value": s.modelValue,
|
|
1131
1133
|
readonly: s.readonly,
|
|
1132
|
-
"onUpdate:modelValue":
|
|
1133
|
-
}, null, 8, ["model-value", "readonly"])) : r("", !0), E(a("div",
|
|
1134
|
+
"onUpdate:modelValue": ae
|
|
1135
|
+
}, null, 8, ["model-value", "readonly"])) : r("", !0), E(a("div", Yt, [o(ct, {
|
|
1134
1136
|
ref_key: "inner",
|
|
1135
1137
|
ref: q,
|
|
1136
1138
|
"model-value": s.modelValue,
|
|
1137
1139
|
adapters: s.adapters,
|
|
1138
1140
|
features: s.features,
|
|
1139
1141
|
locale: s.locale,
|
|
1140
|
-
readonly:
|
|
1142
|
+
readonly: ie.value,
|
|
1141
1143
|
placeholder: s.placeholder,
|
|
1142
1144
|
"placeholder-mode": s.placeholderMode,
|
|
1143
|
-
active:
|
|
1144
|
-
"selection-toolbar":
|
|
1145
|
-
"onUpdate:modelValue":
|
|
1146
|
-
"onUpdate:loading":
|
|
1145
|
+
active: F.value === "wysiwyg" && !s.readonly,
|
|
1146
|
+
"selection-toolbar": P.value,
|
|
1147
|
+
"onUpdate:modelValue": ae,
|
|
1148
|
+
"onUpdate:loading": M
|
|
1147
1149
|
}, null, 8, [
|
|
1148
1150
|
"model-value",
|
|
1149
1151
|
"adapters",
|
|
@@ -1154,18 +1156,18 @@ var Ne = [
|
|
|
1154
1156
|
"placeholder-mode",
|
|
1155
1157
|
"active",
|
|
1156
1158
|
"selection-toolbar"
|
|
1157
|
-
])], 512), [[C,
|
|
1159
|
+
])], 512), [[C, F.value === "wysiwyg" || F.value === "split"]])], 8, Jt)]),
|
|
1158
1160
|
_: 3
|
|
1159
1161
|
})]),
|
|
1160
1162
|
_: 3
|
|
1161
|
-
})], 64)) : r("", !0), !
|
|
1163
|
+
})], 64)) : r("", !0), !k.value || j.value ? (m(), i("div", Xt, [y(t.$slots, "loading", {}, () => [
|
|
1162
1164
|
l[2] ||= a("div", { class: "kun-editor__skeleton" }, null, -1),
|
|
1163
1165
|
l[3] ||= a("div", { class: "kun-editor__skeleton" }, null, -1),
|
|
1164
1166
|
l[4] ||= a("div", { class: "kun-editor__skeleton" }, null, -1)
|
|
1165
|
-
])])) : r("", !0)], 8,
|
|
1167
|
+
])])) : r("", !0)], 8, Ut));
|
|
1166
1168
|
}
|
|
1167
|
-
}),
|
|
1168
|
-
e.component("KunEditor",
|
|
1169
|
+
}), Qt = { install(e) {
|
|
1170
|
+
e.component("KunEditor", Zt);
|
|
1169
1171
|
} };
|
|
1170
1172
|
//#endregion
|
|
1171
|
-
export {
|
|
1173
|
+
export { gt as EMOJI, Zt as KunEditor, Qt as KunEditorPlugin, F as parseHeadings };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CmdKey } from '@milkdown/kit/core';
|
|
2
2
|
import type { KunEditorAdapters, KunEditorFeatures, KunEditorLocale } from '@kungal/editor-core';
|
|
3
3
|
export type KunToolbarItem = 'heading' | 'bold' | 'italic' | 'strike' | 'code' | 'bulletList' | 'orderedList' | 'quote' | 'codeBlock' | 'hr' | 'spoiler' | 'link' | 'image' | 'picker' | '|';
|
|
4
|
-
export type KunSelectionItem = 'bold' | 'italic' | 'strike' | 'code' | 'link' | '|';
|
|
4
|
+
export type KunSelectionItem = 'bold' | 'italic' | 'strike' | 'code' | 'spoiler' | 'link' | '|';
|
|
5
5
|
export type KunToggleMark = 'bold' | 'italic' | 'strike' | 'code' | 'spoiler';
|
|
6
6
|
export interface KunEditorToolbarApi {
|
|
7
7
|
/** Run a Milkdown command (import its key from the preset/commonmark/gfm). */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungal/editor-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"description": "KunEditor Vue 3 layer — the headless <KunEditor> component (dual WYSIWYG / markdown-source), toolbar and plugin views. Ships zero CSS and no UI-kit dependency; consumes @kungal/editor-core, and pairs with @kungal/editor-nuxt for optional KunUI chrome.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@prosemirror-adapter/vue": "^0.4.6",
|
|
43
|
-
"@kungal/editor-core": "0.
|
|
43
|
+
"@kungal/editor-core": "0.37.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@codemirror/lang-markdown": "^6.0.0",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"vite": "^8.0.16",
|
|
81
81
|
"vue": "^3.5.35",
|
|
82
82
|
"vue-tsc": "^3.3.3",
|
|
83
|
-
"@kungal/editor-core": "0.
|
|
83
|
+
"@kungal/editor-core": "0.37.0"
|
|
84
84
|
},
|
|
85
85
|
"scripts": {
|
|
86
86
|
"build": "vite build && vue-tsc -p tsconfig.build.json",
|