@kungal/editor-vue 0.18.0 → 0.19.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 CHANGED
@@ -1,5 +1,37 @@
1
1
  # @kungal/editor-vue
2
2
 
3
+ ## 0.19.0
4
+
5
+ ### Minor Changes
6
+
7
+ - f111b82: Add a desktop **split view** for long-form writing.
8
+
9
+ `<KunEditor>` now has a third view mode, `split`, alongside WYSIWYG and Markdown:
10
+ an editable markdown source pane + a live **read-only WYSIWYG preview**, side by
11
+ side and left/right swappable. The markdown string stays the single source of
12
+ truth and the preview is derived — the industry-standard model (VS Code /
13
+ StackEdit / Dillinger), so there's no two-editor bidirectional-sync problem.
14
+
15
+ - **editor-vue**: the view mode gains `'split'`; `KunEditorViewSwitchApi` gains
16
+ `swap()` / `swapped` and `labels.split` / `labels.swap`. The WYSIWYG becomes a
17
+ read-only preview in split (its editability now reacts to the `readonly` prop).
18
+ The default hand-rolled view switch gets a 分栏 tab + a ⇄ swap button.
19
+ - **editor-nuxt**: `<KunEditorViewSwitch>` gets the 分栏 KunTab + a KunUI swap
20
+ button (shown in split).
21
+ - **Headless**: the layout is class hooks only — `.kun-editor__panes` /
22
+ `.kun-editor__pane` under `[data-mode='split']` (+ `[data-swap]`). Styled by the
23
+ reference `kun-editor.css`: stacked on narrow screens, side-by-side (swappable)
24
+ from `md` up. editor-vue still ships zero CSS.
25
+
26
+ Verified in the docs production build (headless + KunUI view switches): 分栏 shows
27
+ both panes side by side, typing markdown in the source updates the preview live,
28
+ the WYSIWYG preview is `contenteditable=false`, swap reverses the panes; 0 console
29
+ errors. (Synced scrolling between panes is a possible follow-up.)
30
+
31
+ ### Patch Changes
32
+
33
+ - @kungal/editor-core@0.19.0
34
+
3
35
  ## 0.18.0
4
36
 
5
37
  ### Minor Changes
@@ -14,14 +14,18 @@ type __VLS_Props = {
14
14
  /** Placeholder text shown while the editor is empty. */
15
15
  placeholder?: string;
16
16
  };
17
- type ViewMode = 'wysiwyg' | 'source';
17
+ type ViewMode = 'wysiwyg' | 'source' | 'split';
18
18
  declare var __VLS_1: {
19
19
  mode: ViewMode;
20
20
  setMode: (m: ViewMode) => void;
21
21
  labels: {
22
22
  wysiwyg: string;
23
23
  source: string;
24
+ split: string;
25
+ swap: string;
24
26
  };
27
+ swapped: boolean;
28
+ swap: () => void;
25
29
  }, __VLS_22: {
26
30
  run: <T>(key: import("@milkdown/kit/core").CmdKey<T>, payload?: T) => void;
27
31
  insertText: (text: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"KunEditor.vue.d.ts","sourceRoot":"","sources":["../../src/components/KunEditor.vue"],"names":[],"mappings":"AAsLA,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;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC;AAqCJ,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AA8MpC,QAAA,IAAI,OAAO;;iBA5MS,QAAQ;;;;;CA4MP,EAAE,QAAQ;iEA/Q/B,CAzKwB;;;;;;;;;;;;;;;CAwbwC,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;;;;;cAtQD,iBAAiB;cAEjB,iBAAiB;YAEnB,eAAe;cAEb,OAAO;iBAEJ,MAAM;6EAmQtB,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
+ {"version":3,"file":"KunEditor.vue.d.ts","sourceRoot":"","sources":["../../src/components/KunEditor.vue"],"names":[],"mappings":"AA6NA,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;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC;AAqCJ,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAkQ9C,QAAA,IAAI,OAAO;;iBAhQS,QAAQ;;;;;;;;;CAgQP,EAAE,QAAQ;iEAnU/B,CAjNuE;;;;;;;;;;;;;;;CAohBP,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;;;;;cA1TD,iBAAiB;cAEjB,iBAAiB;YAEnB,eAAe;cAEb,OAAO;iBAEJ,MAAM;6EAuTtB,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":"MilkdownEditor.vue.d.ts","sourceRoot":"","sources":["../../src/components/MilkdownEditor.vue"],"names":[],"mappings":"AA0KA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAC;AA8HF,QAAA,MAAM,YAAY;;;;kFAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"MilkdownEditor.vue.d.ts","sourceRoot":"","sources":["../../src/components/MilkdownEditor.vue"],"names":[],"mappings":"AAwLA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAC;AA4IF,QAAA,MAAM,YAAY;;;;kFAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
package/dist/index.js CHANGED
@@ -166,6 +166,11 @@ var q = Symbol("kun-editor-context"), ve = [
166
166
  });
167
167
  x(() => i.modelValue, (e) => {
168
168
  e !== o && (o = e, u.get()?.action(ne(e)));
169
+ }), x(() => i.readonly, () => {
170
+ u.get()?.action((e) => {
171
+ let t = e.get(P);
172
+ t.dispatch(t.state.tr);
173
+ });
169
174
  });
170
175
  let d = () => {
171
176
  u.get()?.action((e) => e.get(P).focus());
@@ -550,13 +555,10 @@ var q = Symbol("kun-editor-context"), ve = [
550
555
  class: "kun-editor__source"
551
556
  }, null, 512));
552
557
  }
553
- }), Qe = {
554
- class: "kun-editor",
555
- "data-kun-editor": ""
556
- }, $e = {
558
+ }), Qe = ["data-mode"], $e = {
557
559
  class: "kun-editor__toolbar",
558
560
  role: "tablist"
559
- }, et = ["aria-selected", "data-active"], tt = ["aria-selected", "data-active"], nt = { class: "kun-editor__wysiwyg" }, $ = /* @__PURE__ */ s({
561
+ }, et = ["aria-selected", "data-active"], tt = ["aria-selected", "data-active"], nt = ["aria-selected", "data-active"], rt = ["title", "aria-label"], it = ["data-swap"], at = { class: "kun-editor__wysiwyg kun-editor__pane" }, $ = /* @__PURE__ */ s({
560
562
  __name: "KunEditor",
561
563
  props: {
562
564
  modelValue: {},
@@ -585,72 +587,102 @@ var q = Symbol("kun-editor-context"), ve = [
585
587
  });
586
588
  let g = h("wysiwyg"), x = (e) => {
587
589
  g.value = e;
588
- }, w = t(() => d.locale.toLowerCase().startsWith("en")), T = t(() => w.value ? {
590
+ }, w = h(!1), T = () => {
591
+ w.value = !w.value;
592
+ }, D = t(() => d.locale.toLowerCase().startsWith("en")), O = t(() => D.value ? {
589
593
  wysiwyg: "Preview",
590
- source: "Markdown"
594
+ source: "Markdown",
595
+ split: "Split",
596
+ swap: "Swap sides"
591
597
  } : {
592
598
  wysiwyg: "预览",
593
- source: "Markdown"
594
- }), D = (e) => f("update:modelValue", e), O = h(null);
599
+ source: "Markdown",
600
+ split: "分栏",
601
+ swap: "左右互换"
602
+ }), A = t(() => d.readonly || g.value === "split"), j = (e) => f("update:modelValue", e), M = h(null);
595
603
  return s({
596
- insertQuote: (e) => O.value?.insertQuote(e),
597
- insertMention: (e) => O.value?.insertMention(e),
598
- focus: () => O.value?.focus()
599
- }), (t, s) => (p(), i("div", Qe, [
600
- _(t.$slots, "view-switch", {
601
- mode: g.value,
602
- setMode: x,
603
- labels: T.value
604
- }, () => [a("div", $e, [a("button", {
604
+ insertQuote: (e) => M.value?.insertQuote(e),
605
+ insertMention: (e) => M.value?.insertMention(e),
606
+ focus: () => M.value?.focus()
607
+ }), (t, s) => (p(), i("div", {
608
+ class: "kun-editor",
609
+ "data-kun-editor": "",
610
+ "data-mode": g.value
611
+ }, [_(t.$slots, "view-switch", {
612
+ mode: g.value,
613
+ setMode: x,
614
+ labels: O.value,
615
+ swapped: w.value,
616
+ swap: T
617
+ }, () => [a("div", $e, [
618
+ a("button", {
605
619
  type: "button",
606
620
  class: "kun-editor__tab",
607
621
  "aria-selected": g.value === "wysiwyg",
608
622
  "data-active": g.value === "wysiwyg",
609
623
  onClick: s[0] ||= (e) => x("wysiwyg")
610
- }, v(T.value.wysiwyg), 9, et), a("button", {
624
+ }, v(O.value.wysiwyg), 9, et),
625
+ a("button", {
611
626
  type: "button",
612
627
  class: "kun-editor__tab",
613
628
  "aria-selected": g.value === "source",
614
629
  "data-active": g.value === "source",
615
630
  onClick: s[1] ||= (e) => x("source")
616
- }, v(T.value.source), 9, tt)])]),
617
- o(y(E), null, {
618
- default: S(() => [o(y(k), null, {
619
- default: S(() => [C(a("div", null, [o(Xe, null, {
620
- default: S((e) => [_(t.$slots, "toolbar", u(c(e)), () => [o(Q)])]),
621
- _: 3
622
- })], 512), [[b, g.value === "wysiwyg" && !e.readonly]]), C(a("div", nt, [o(Ee, {
623
- ref_key: "inner",
624
- ref: O,
625
- "model-value": e.modelValue,
626
- adapters: e.adapters,
627
- features: e.features,
628
- locale: e.locale,
629
- readonly: e.readonly,
630
- placeholder: e.placeholder,
631
- "onUpdate:modelValue": D
632
- }, null, 8, [
633
- "model-value",
634
- "adapters",
635
- "features",
636
- "locale",
637
- "readonly",
638
- "placeholder"
639
- ])], 512), [[b, g.value === "wysiwyg"]])]),
631
+ }, v(O.value.source), 9, tt),
632
+ a("button", {
633
+ type: "button",
634
+ class: "kun-editor__tab",
635
+ "aria-selected": g.value === "split",
636
+ "data-active": g.value === "split",
637
+ onClick: s[2] ||= (e) => x("split")
638
+ }, v(O.value.split), 9, nt),
639
+ g.value === "split" ? (p(), i("button", {
640
+ key: 0,
641
+ type: "button",
642
+ class: "kun-editor__tab kun-editor__swap",
643
+ title: O.value.swap,
644
+ "aria-label": O.value.swap,
645
+ onClick: s[3] ||= (e) => T()
646
+ }, "", 8, rt)) : r("", !0)
647
+ ])]), o(y(E), null, {
648
+ default: S(() => [o(y(k), null, {
649
+ default: S(() => [C(a("div", null, [o(Xe, null, {
650
+ default: S((e) => [_(t.$slots, "toolbar", u(c(e)), () => [o(Q)])]),
640
651
  _: 3
641
- })]),
652
+ })], 512), [[b, g.value === "wysiwyg" && !e.readonly]]), a("div", {
653
+ class: "kun-editor__panes",
654
+ "data-swap": w.value
655
+ }, [g.value === "source" || g.value === "split" ? (p(), n(Ze, {
656
+ key: 0,
657
+ class: "kun-editor__pane",
658
+ "model-value": e.modelValue,
659
+ readonly: e.readonly,
660
+ "onUpdate:modelValue": j
661
+ }, null, 8, ["model-value", "readonly"])) : r("", !0), C(a("div", at, [o(Ee, {
662
+ ref_key: "inner",
663
+ ref: M,
664
+ "model-value": e.modelValue,
665
+ adapters: e.adapters,
666
+ features: e.features,
667
+ locale: e.locale,
668
+ readonly: A.value,
669
+ placeholder: e.placeholder,
670
+ "onUpdate:modelValue": j
671
+ }, null, 8, [
672
+ "model-value",
673
+ "adapters",
674
+ "features",
675
+ "locale",
676
+ "readonly",
677
+ "placeholder"
678
+ ])], 512), [[b, g.value === "wysiwyg" || g.value === "split"]])], 8, it)]),
642
679
  _: 3
643
- }),
644
- g.value === "source" ? (p(), n(Ze, {
645
- key: 0,
646
- "model-value": e.modelValue,
647
- readonly: e.readonly,
648
- "onUpdate:modelValue": D
649
- }, null, 8, ["model-value", "readonly"])) : r("", !0)
650
- ]));
680
+ })]),
681
+ _: 3
682
+ })], 8, Qe));
651
683
  }
652
- }), rt = { install(e) {
684
+ }), ot = { install(e) {
653
685
  e.component("KunEditor", $);
654
686
  } };
655
687
  //#endregion
656
- export { Z as EMOJI, $ as KunEditor, rt as KunEditorPlugin };
688
+ export { Z as EMOJI, $ as KunEditor, ot as KunEditorPlugin };
package/dist/types.d.ts CHANGED
@@ -31,15 +31,21 @@ export interface KunEditorToolbarApi {
31
31
  readonly locale: KunEditorLocale;
32
32
  }
33
33
  export interface KunEditorViewSwitchApi {
34
- /** The active view. */
35
- mode: 'wysiwyg' | 'source';
34
+ /** The active view: WYSIWYG, markdown source, or the desktop split. */
35
+ mode: 'wysiwyg' | 'source' | 'split';
36
36
  /** Switch the active view. */
37
- setMode: (mode: 'wysiwyg' | 'source') => void;
38
- /** Localized labels for the two views (respects the `locale` prop). */
37
+ setMode: (mode: 'wysiwyg' | 'source' | 'split') => void;
38
+ /** Localized labels (respects the `locale` prop). */
39
39
  labels: {
40
40
  wysiwyg: string;
41
41
  source: string;
42
+ split: string;
43
+ swap: string;
42
44
  };
45
+ /** Whether the split panes are swapped (source on the right). */
46
+ swapped: boolean;
47
+ /** Toggle the split panes' left/right order. */
48
+ swap: () => void;
43
49
  }
44
50
  export interface KunEditorExpose {
45
51
  /**
@@ -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;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACjC,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"}
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;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACjC,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,uEAAuE;IACvE,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC,8BAA8B;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAA;IACvD,qDAAqD;IACrD,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxE,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB;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.18.0",
3
+ "version": "0.19.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.18.0"
43
+ "@kungal/editor-core": "0.19.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.18.0"
83
+ "@kungal/editor-core": "0.19.0"
84
84
  },
85
85
  "scripts": {
86
86
  "build": "vite build && vue-tsc -p tsconfig.build.json",