@kungal/editor-vue 0.13.0 → 0.14.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 +31 -0
- package/dist/components/KunEditor.vue.d.ts +12 -2
- package/dist/components/KunEditor.vue.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -13
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# @kungal/editor-vue
|
|
2
2
|
|
|
3
|
+
## 0.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 506813b: Add a `#view-switch` slot and a KunUI view switch — the Preview/Markdown tabs are
|
|
8
|
+
now a swappable layer too.
|
|
9
|
+
|
|
10
|
+
`<KunEditor>` exposes a `#view-switch` scoped slot whose props are
|
|
11
|
+
`KunEditorViewSwitchApi` (`mode` / `setMode` / `labels`). The hand-rolled tabs
|
|
12
|
+
are the slot's fallback — omit the slot and nothing changes. This lets a host
|
|
13
|
+
render a real component (or anything) for the view switch and drive the editor
|
|
14
|
+
via `setMode`, without reaching into internals.
|
|
15
|
+
|
|
16
|
+
`@kungal/editor-nuxt` ships `<KunEditorViewSwitch>` (auto-imported): the tabs as a
|
|
17
|
+
real `<KunTab variant="underlined">` (keyboard nav, sliding indicator, a11y):
|
|
18
|
+
|
|
19
|
+
```vue
|
|
20
|
+
<KunEditor v-model="md">
|
|
21
|
+
<template #view-switch="s"><KunEditorViewSwitch v-bind="s" /></template>
|
|
22
|
+
<template #toolbar="api"><KunEditorToolbar v-bind="api" /></template>
|
|
23
|
+
</KunEditor>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Same "headless core + optional KunUI layer" pattern as `#toolbar` /
|
|
27
|
+
`<KunEditorToolbar>`: `@kungal/editor-vue` stays UI-kit-free (default tabs), the
|
|
28
|
+
KunUI ecosystem gets native chrome. Exports `KunEditorViewSwitchApi`.
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- @kungal/editor-core@0.14.0
|
|
33
|
+
|
|
3
34
|
## 0.13.0
|
|
4
35
|
|
|
5
36
|
### Patch Changes
|
|
@@ -12,7 +12,15 @@ type __VLS_Props = {
|
|
|
12
12
|
/** Read-only render (no editing). */
|
|
13
13
|
readonly?: boolean;
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
type ViewMode = 'wysiwyg' | 'source';
|
|
16
|
+
declare var __VLS_1: {
|
|
17
|
+
mode: ViewMode;
|
|
18
|
+
setMode: (m: ViewMode) => void;
|
|
19
|
+
labels: {
|
|
20
|
+
wysiwyg: string;
|
|
21
|
+
source: string;
|
|
22
|
+
};
|
|
23
|
+
}, __VLS_22: {
|
|
16
24
|
run: <T>(key: import("@milkdown/kit/core").CmdKey<T>, payload?: T) => void;
|
|
17
25
|
insertText: (text: string) => void;
|
|
18
26
|
insertQuote: (payload: {
|
|
@@ -29,7 +37,9 @@ declare var __VLS_20: {
|
|
|
29
37
|
locale: KunEditorLocale;
|
|
30
38
|
};
|
|
31
39
|
type __VLS_Slots = {} & {
|
|
32
|
-
|
|
40
|
+
'view-switch'?: (props: typeof __VLS_1) => any;
|
|
41
|
+
} & {
|
|
42
|
+
toolbar?: (props: typeof __VLS_22) => any;
|
|
33
43
|
};
|
|
34
44
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, KunEditorExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
35
45
|
"update:modelValue": (markdown: string) => any;
|
|
@@ -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":"AAkLA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAM5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,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;CACnB,CAAC;AAoCJ,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AA2MpC,QAAA,IAAI,OAAO;;iBAzMS,QAAQ;;;;;CAyMP,EAAE,QAAQ;iEAzQ/B,CArKwB;;;;;;;;;;;;;;CA8awC,CAAE;AAClE,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,CAAC;AAOhD,QAAA,MAAM,UAAU;;;;;cAhQD,iBAAiB;cAEjB,iBAAiB;YAEnB,eAAe;cAEb,OAAO;6EA+PpB,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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import KunEditor from './components/KunEditor.vue';
|
|
|
3
3
|
export { KunEditor };
|
|
4
4
|
export type { KunEditorExpose } from './types';
|
|
5
5
|
export type { KunEditorToolbarApi } from './types';
|
|
6
|
+
export type { KunEditorViewSwitchApi } from './types';
|
|
6
7
|
export { EMOJI } from './emoji';
|
|
7
8
|
export type { KunEditorAdapters, KunEditorFeatures, KunEditorLocale, UploadImage, SearchMentionUsers, StickerSource, Notify, NotifyLevel, MentionUser, StickerItem, StickerPack } from '@kungal/editor-core';
|
|
8
9
|
/** Vue plugin: `app.use(KunEditorPlugin)` to register <KunEditor> globally. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,CAAA;AAGpB,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAGlD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG/B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAA;AAE5B,+EAA+E;AAC/E,eAAO,MAAM,eAAe,EAAE,MAI7B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,CAAA;AAGpB,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAGlD,YAAY,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG/B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAA;AAE5B,+EAA+E;AAC/E,eAAO,MAAM,eAAe,EAAE,MAI7B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -567,31 +567,37 @@ var q = Symbol("kun-editor-context"), ve = [
|
|
|
567
567
|
return d.locale;
|
|
568
568
|
}
|
|
569
569
|
});
|
|
570
|
-
let g = h("wysiwyg"), x =
|
|
570
|
+
let g = h("wysiwyg"), x = (e) => {
|
|
571
|
+
g.value = e;
|
|
572
|
+
}, w = t(() => d.locale.toLowerCase().startsWith("en")), T = t(() => w.value ? {
|
|
571
573
|
wysiwyg: "Preview",
|
|
572
574
|
source: "Markdown"
|
|
573
575
|
} : {
|
|
574
576
|
wysiwyg: "预览",
|
|
575
577
|
source: "Markdown"
|
|
576
|
-
}),
|
|
578
|
+
}), D = (e) => f("update:modelValue", e), O = h(null);
|
|
577
579
|
return s({
|
|
578
|
-
insertQuote: (e) =>
|
|
579
|
-
insertMention: (e) =>
|
|
580
|
-
focus: () =>
|
|
580
|
+
insertQuote: (e) => O.value?.insertQuote(e),
|
|
581
|
+
insertMention: (e) => O.value?.insertMention(e),
|
|
582
|
+
focus: () => O.value?.focus()
|
|
581
583
|
}), (t, s) => (p(), i("div", Xe, [
|
|
582
|
-
|
|
584
|
+
_(t.$slots, "view-switch", {
|
|
585
|
+
mode: g.value,
|
|
586
|
+
setMode: x,
|
|
587
|
+
labels: T.value
|
|
588
|
+
}, () => [a("div", Ze, [a("button", {
|
|
583
589
|
type: "button",
|
|
584
590
|
class: "kun-editor__tab",
|
|
585
591
|
"aria-selected": g.value === "wysiwyg",
|
|
586
592
|
"data-active": g.value === "wysiwyg",
|
|
587
|
-
onClick: s[0] ||= (e) =>
|
|
588
|
-
}, v(
|
|
593
|
+
onClick: s[0] ||= (e) => x("wysiwyg")
|
|
594
|
+
}, v(T.value.wysiwyg), 9, Qe), a("button", {
|
|
589
595
|
type: "button",
|
|
590
596
|
class: "kun-editor__tab",
|
|
591
597
|
"aria-selected": g.value === "source",
|
|
592
598
|
"data-active": g.value === "source",
|
|
593
|
-
onClick: s[1] ||= (e) =>
|
|
594
|
-
}, v(
|
|
599
|
+
onClick: s[1] ||= (e) => x("source")
|
|
600
|
+
}, v(T.value.source), 9, $e)])]),
|
|
595
601
|
o(y(E), null, {
|
|
596
602
|
default: S(() => [o(y(k), null, {
|
|
597
603
|
default: S(() => [C(a("div", null, [o(Je, null, {
|
|
@@ -599,13 +605,13 @@ var q = Symbol("kun-editor-context"), ve = [
|
|
|
599
605
|
_: 3
|
|
600
606
|
})], 512), [[b, g.value === "wysiwyg" && !e.readonly]]), C(a("div", et, [o(Ee, {
|
|
601
607
|
ref_key: "inner",
|
|
602
|
-
ref:
|
|
608
|
+
ref: O,
|
|
603
609
|
"model-value": e.modelValue,
|
|
604
610
|
adapters: e.adapters,
|
|
605
611
|
features: e.features,
|
|
606
612
|
locale: e.locale,
|
|
607
613
|
readonly: e.readonly,
|
|
608
|
-
"onUpdate:modelValue":
|
|
614
|
+
"onUpdate:modelValue": D
|
|
609
615
|
}, null, 8, [
|
|
610
616
|
"model-value",
|
|
611
617
|
"adapters",
|
|
@@ -621,7 +627,7 @@ var q = Symbol("kun-editor-context"), ve = [
|
|
|
621
627
|
key: 0,
|
|
622
628
|
"model-value": e.modelValue,
|
|
623
629
|
readonly: e.readonly,
|
|
624
|
-
"onUpdate:modelValue":
|
|
630
|
+
"onUpdate:modelValue": D
|
|
625
631
|
}, null, 8, ["model-value", "readonly"])) : r("", !0)
|
|
626
632
|
]));
|
|
627
633
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -24,6 +24,17 @@ export interface KunEditorToolbarApi {
|
|
|
24
24
|
/** UI language, for localized labels. */
|
|
25
25
|
readonly locale: KunEditorLocale;
|
|
26
26
|
}
|
|
27
|
+
export interface KunEditorViewSwitchApi {
|
|
28
|
+
/** The active view. */
|
|
29
|
+
mode: 'wysiwyg' | 'source';
|
|
30
|
+
/** Switch the active view. */
|
|
31
|
+
setMode: (mode: 'wysiwyg' | 'source') => void;
|
|
32
|
+
/** Localized labels for the two views (respects the `locale` prop). */
|
|
33
|
+
labels: {
|
|
34
|
+
wysiwyg: string;
|
|
35
|
+
source: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
27
38
|
export interface KunEditorExpose {
|
|
28
39
|
/**
|
|
29
40
|
* Insert a reference atom at the cursor (`[label](kungal-reply:refId)`), then
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAM5B,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;IAC7C,uDAAuD;IACvD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,0EAA0E;IAC1E,WAAW,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChE,6CAA6C;IAC7C,aAAa,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClE,gCAAgC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CACjC;AASD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC5D;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC9D,gCAAgC;IAChC,KAAK,IAAI,IAAI,CAAA;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAM5B,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;IAC7C,uDAAuD;IACvD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,0EAA0E;IAC1E,WAAW,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChE,6CAA6C;IAC7C,aAAa,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClE,gCAAgC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CACjC;AAMD,MAAM,WAAW,sBAAsB;IACrC,uBAAuB;IACvB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC1B,8BAA8B;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAA;IAC7C,uEAAuE;IACvE,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AASD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC5D;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC9D,gCAAgC;IAChC,KAAK,IAAI,IAAI,CAAA;CACd"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungal/editor-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "KunEditor Vue 3 layer — the <KunEditor> component (dual WYSIWYG / markdown-source), toolbar and plugin views. Consumes @kungal/editor-core; pairs with @kungal/ui-vue.",
|
|
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.14.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.14.0"
|
|
84
84
|
},
|
|
85
85
|
"scripts": {
|
|
86
86
|
"build": "vite build && vue-tsc -p tsconfig.build.json",
|